CPCtelera, desarrollar juegos para Amstrad de forma sencilla

Programando el Amstrad en BASIC, C, etc.
Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor ronaldo » Jue 14 May , 2015 5:04 pm

Ahh, yo ya le he hecho un añadido, en la carpeta scripts le he metido un cpct_emu que lanza el capriceRPI2 desde su carpeta de desarrollo :mrgreen: Es que en la Pi no va el Winape ni con Wine :twisted:
Estupendo :). Yo tengo también un script propio para lanzar automáticamente el winape desde línea de comandos. Con eso puedo poner cosas como esta:

Código: Seleccionar todo

make && winape ejemplo.dsk /A
Así, en un sólo comando, compilo y, si compila bien, se lanza el WinAPE (con wine, en Linux) y autoejecuta el ejemplo recién compilado.

Lo que sucede con estos scripts es que son complicados de "adecentar" para el uso público general. Hay que considerar muchos distintos casos (con wine, sin wine, tienes instalado WinAPE, no lo tienes, dónde está instalado, en MAC o Raspberry no va el WinAPE...). Por eso todavía no he hecho una versión del script para incluir en la release. Cuando encuentre una forma de versionarlo para que sea fácil de usar en todos los casos, lo incluiré :).

Mientras tanto, aquí os dejo la versión adaptada para Cygwin, por si alguien lo quiere usar:

Código: Seleccionar todo

#!/bin/bash
## Script para lanzar WinAPE desde línea de comandos en Cygwin
## Uso: winape [<fichero .dsk>] [opciones]
##
## Landa el WinAPE y carga un fichero .dsk en la unidad A.
##
## Opciones:
## /A : Añadiendo esta opción, el fichero .dsk será autoejecutado
## -nopwd : No utiliza la ruta de directorio actual como raiz para buscar ficheros.
## Esto es útil si queremos lanzar ficheros aportando la ruta absoluta (
## en formato de path de Windows).
##

## CONFIGURACION GLOBAL
## Poner aquí la ruta al ejecutable de WinAPE y la ruta donde está
## instalado cygwin
##
WAPE=/cygdrive/c/Documents*Settings/ronaldo/Escritorio/CPC/WinAPE20A18/WinAPE.exe
UNIT="c:/cygwin"

## Otros parámetros
##
PREFIX=${UNIT}${PWD}
FILE=""
MODIFIER=""

## Procesar argumentos de línea de comandos
##
while [ "$#" -gt "0" ]; do
case "$1" in
"-nopwd")
PREFIX=""
;;
"/A")
MODIFIER="/A"
;;
*)
if [ "$FILE" = "" ]; then
FILE="${1}"
else
echo "ERROR: '${1}' unexpected parameter"
exit 1
fi
;;
esac
shift
done

## Lanzar WinAPE
##
${WAPE} "${PREFIX}/${FILE}" ${MODIFIER} &> /dev/null &
Si os hace integrar alguno de estos emus en el lote.
Añadir utilidades al framework siempre es interesante :). Lo único que hay que ver es que dispongamos de los permisos apropiados y que sea compatible con la licencia GPL v3.0., que es con la que se distribuye CPCtelera.
EDIT: JOER!!! el SP2TILE... ese me hizo falta en la Euskal para acabar el "Marron en..." que no se me ocurrio otra que pintar los tiles de los obstaculos en plan sprite, y pasarlo a tiles importando en fichero separado por comas en el Excell, y cortar pegar bloques para extraer los cacho tiles contra reloj...
Todos hemos hecho esto alguna vez. La premisa es que cuando una tarea repetitiva toca hacerla por segunda vez es mejor automatizar (porque ya compensa invertir tiempo 1 vez en automatizar, y amortizarlo en las siguientes veces que toque hacer la tarea). Así que, esta es la clásica utilidad que, aún no siendo esencial para el framework, ha acabado cayendo en cuanto hemos tenido que hacerlo un par de veces :).

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 712
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor KaosOverride » Jue 14 May , 2015 8:33 pm

Caprice y Arnold hace tiempo que los oficiales "no se tocan", tal vez la GPL bajo la que estan sea unas cuantas versiones anteriores, pero posiblemente una version "custom" o derivada de los originales pueda ser portada a la GPL 3.0

O que demonios, dentro de la carpeta src, la de carpice y/o arnold tendran su propio license.txt sea GPL 2.0 o la que tengan, que no recuerdo exactamente cual version llevan..

Ambos emus creo que estan lo sufiecientemente maduros como para poder ir "de cortesia" en el framework y luego cada cual tira por sus preferencias, sea Winape, CPCE, Caprice, Arnold...
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Vie 31 Jul , 2015 2:16 pm

Me acabo de instalar la CPCtelera en W10 64 bits utilizando cygwin64, pero cuando intento instalarla me dice que el comando gcc no se encuentra instalado, pero, yo he seleccionado las herramientas de debug cuando he instalado cygwin64.
Adjuntos
cpc.png

Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor ronaldo » Vie 31 Jul , 2015 5:49 pm

Hola Isaac:

Para instalar CPCtelera en Windows tienes que tener previamente instalados en Cygwin todos los requisitos que están puestos en las instrucciones de instalación para Windows. Lanza de nuevo el setup.exe de Cygwin y, cuando llegues a la parte de los paquetes, instala estos:

Código: Seleccionar todo


gcc-core, gcc-g++, make, bison, flex, libboost-devel, libintl-devel
Puedes conseguir el mismo efecto abriendo un terminal de línea de comandos de Windows, arrastrando sobre él el fichero "setup.exe" para que te aparezca la ruta donde está instalado, y añadiéndole esto:

Código: Seleccionar todo

-q -P gcc-core, gcc-g++, make, bison, flex, libboost-devel, libintl-devel
De modo que debería quedarte un comando más o menos como este:

Código: Seleccionar todo

"C:\Documents and Settings\mi\carpeta\donde\esta\setup.exe" -q -P gcc-core, gcc-g++, make, bison, flex, libboost-devel, libintl-devel
De ambas formas tendrás instalados todos los requisitos de CPCtelera y podrás lanzar después el script setup.sh para que te compile y configure las herramientas en cygwin.

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Vie 31 Jul , 2015 6:55 pm

Pues lo mismo con g++:
Adjuntos
cpc.jpg

Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor ronaldo » Vie 31 Jul , 2015 7:29 pm

Técnicamente, el comando anterior debería haberte instalado gcc-g++, pero si el script te dice que no lo encuentra, es que no se ha instalado. Quizá hayan cambiado algo en el setup64 o en W10 no funcione bien el comando.

Lo mejor es que selecciones los paquetes uno a uno en el instalador, utilizando la función del buscador, y asegurándote de que instalas todos los que están en la lista.
cygwin.png
También tienes el vídeo antiguo que hice sobre programación en C para Amstrad CPC, donde se ve el proceso de instalación de Cygwin. La única diferencia es que los paquetes a instalar no son exactamente los mismos, porque el vídeo era para usar cpc-dev-tool-chain, antes de que existiera CPCtelera. De todas formas, te puede servir para ver el proceso. Tienes que ponerlo a partir del minuto 3:47.
[youtube]FvAg-xmWZHM?t=3m47s[/youtube]

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Mar 04 Ago , 2015 11:50 am

¡Bueno parece que vamos por el buen camino!

Fui seleccionando uno a uno cada paquete y luego le di a instalar se quedo un buen rato, descargando, pero parece que funciona:
Adjuntos
cpc.png

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Mar 04 Ago , 2015 1:12 pm

Pues ya esta ¿Y ahora que? ¿Cual es el siguiente paso? ¿se programa en linea de comandos?
Adjuntos
cpc.png

Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor ronaldo » Mar 04 Ago , 2015 1:37 pm

Tienes varios siguientes pasos:
  • Primero, cerrar el terminal y abrir uno nuevo para que cargue los nuevos settings
  • Como dice la documentación, utilizar cpct_mkproject para crearte un nuevo proyecto sobre el que trabajar. Los proyectos tienen el código en la carpeta src/ y se compilan poniendo 'make' en la línea de comandos (dentro de la carpeta del proyecto, pero no dentro de src/).
  • Entra en la carpeta de ejemplos y échales un ojo. Cada ejemplo es un proyecto independiente, con los ficheros fuente en su correspondiente carpeta src/. Puedes editarlos, cambiar cosas, trastearlos y luego compilarlos igualmente con el comando 'make' desde la carpeta del proyecto
  • Para escribir código no tienes que hacerlo desde la consola. Edita los ficheros fuente de los proyectos con tu editor favorito. Si creas nuevos ficheros .c dentro de una carpeta src/ de un proyecto, son reconocidos y compilados automáticamente.
Sobre todo, ten siempre a mano la documentación online, donde está todo explicado.

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Mar 04 Ago , 2015 2:01 pm

Ok, he seguido todos los pasos, he creado el proyecto manos e copiado los archivos de una prueba que estaba intentando compilar con z88dk, pero no hace nada:
Adjuntos
manos.png

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Mar 04 Ago , 2015 2:04 pm

Había que hacer el make desde la carpeta del proyecto y no desde el src, solucionado

Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor ronaldo » Mar 04 Ago , 2015 2:07 pm

Sí, eso es lo que te indicaba antes, pero entre tantas cosas que he dicho igual no quedaba claro :)

Con eso, ya sólo te queda ir creando y editando los ficheros de código dentro de src/ :).

Avatar de Usuario
Isaac
Moderador
Moderador
Mensajes: 268
Registrado: Mié 01 Mar , 2006 2:41 am
Ubicación: Barcelona

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor Isaac » Mar 04 Ago , 2015 2:17 pm

Pues funciono y los mensajes de error son más claro que con el z88dk, ya he podido compilar un programa y ejecutarlo, ahora me queda lo más fácil, aprender a programar juegos en C :lol:

Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Re: CPCtelera, desarrollar juegos para Amstrad de forma senc

Mensajepor ronaldo » Mar 04 Ago , 2015 3:34 pm

Échale un ojo a la carpeta examples/. Tienes ejemplos sueltos de cómo utilizar las distintas funciones y cómo programar, y están clasificadas por dificultad (easy/, medium/ advanced/). También tienes el código del Platform Climber en games. Espero que el código te sirva para poder avanzar rápido :).

Avatar de Usuario
ronaldo
Forum Addict
Forum Addict
Mensajes: 358
Registrado: Sab 14 Sep , 2013 9:31 pm
Ubicación: Alicante
Contactar:

Release 1.2 de CPCtelera

Mensajepor ronaldo » Mié 05 Ago , 2015 11:19 am

Después de unos meses de diseñar funciones, programar, depurar, tirar a la basura código y rehacer, finalmente puedo anunciaros la Release Oficial de CPCtelera 1.2.!

Esta release trae un montón de nuevas características que serán especialmente útiles para la creación de juegos. En particular, un módulo llamado Easytilemaps que permite crear y manejar mapas de tiles fácilmente. Pese a su sencillez, es bastante versátil y está muy optimizado, por lo que espero que le saquéis mucho rendimiento :). Aún tendrá que mejorar, pero la versión actual ya da para tirar millas ;).

También hemos añadido una utilidad muy potente: cpct_img2tileset: permite convertir cualquier imagen de mapa de tiles o conjunto de sprites (png, bmp, gif, jpg...) en código C listo para incluir y compilar en vuestro código. Así los grafistas pueden trabajar con la herramienta que más les guste (gimp, photoshop, paint, RGAS...) y no tienen que preocuparse de más. El script se apoya en una conocida herramienta (Img2CPC) que hemos incluído en CPCtelera gracias a la colaboración del gran Augusto Ruiz (Gracias! :D).

También hemos añadido:
  • cpct_drawSpriteMaskAlignedTable para dibujado de sprites transparentes alineados usando tabla de máscaras. Ahorra espacio sin perder velocidad (gracias al alineamiento)
  • Funciones de creación de números pseudo-aleatorios
  • 5 nuevos programas de ejemplo para aprender y trastear.
  • Un montón de optimizaciones.
  • Últimas versiones de herramientas: SDCC 3.5.0, RGAS 1.0., Img2CPC
  • Bugfix específico de SDCC 3.5.0. para poder utilizar las nuevas convenciones de llamada (_z88dk_callee y __z88dk_fastcall).
Podéis todas las novedades y mejoras en detalle en las notas de la release en github (inglés)

Muchas gracias a todos por el apoyo, en especial a quienes han realizado aportaciones directas a esta nueva release.

Esperamos que sirva para que mucha gente pueda crear nuevos juegos y software para nuestros queridos Amstrad CPC :D.

Nota: Os recuerdo que todavía quedan algo más de 78 días para la deadline del CPCRetroDev 2015 y que tenéis casi 1000€ en premios esperandoos. Espero que este año el premio se siga quedando en casa, pese a la competencia que se espera de fuera de nuestras fronteras (que no se note que os estoy achuchando y animando ;) :mrgreen: )

Videos de algunos ejemplos incluídos:






¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro


La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) Selección de juegos de Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic