PDA

Ver la versión completa : mi primera prueba.. por si alguien lo quiere compilar



schan
04/01/2006, 05:14
hola,

aunque aun no tengo aun la gp2x estoy haciendo algunas pruebecillas.
he empezado por portar un cutrejuego que tenia hecho con SDL, he adaptado ya los graficos y algunas cosillas mas para que vaya bien a 320x240.

Aun no he terminado de instalar el kit de desarrollo, y cuando lo haga, podré compilarlo pero no probarlo, así que dejo el código por aquí por si alguien se aburre y lo quiere probar.

Por cierto, el juego es el clásico de la serpiente, adjunto una captura.

Adjunto también el código y un ejecutable para linux. Para compilar en linux, utilizar este comando;
g++ main.cpp -lSDL -lSDL_ttf -pthread -o snake

La compilación para gp2x creo que debería hacerse asi:
/usr/local/devkitPro/devkitGP2X/bin/arm-linux-g++ main.cpp -lSDL -lSDL_ttf -lm -lg -static -lpthread -o snake2x.gpe

aunque no tengo las librerías SDL para gp2x instaladas así que me da errores por todas partes.


Por cierto, ahora estoy usando SDL_ttf, que he visto en el wiki que tb está portada a gp2x, aunque tengo por ahí una clase para manejar fuentes bitmap, así que la cambiaré por esta.


Por si alguien lo intenta, los fallos, problemas o diferencias que creo que pueden ocurrir son:

- Generación de número aleatorios. Creo recordar que vi en algún sitio que no valían las funciones srand y rand, que había unas "especiales" para gp2x. en el archivo main.cpp hay un srand(time(0)) que igual habría que cambiar. Tendré que mirar en la documentación para asegurarme.

- Entrada. Ahora mismo (en la version para PC) se usan los cursores para mover en las cuatro direcciones y ENTER y ESC para aceptar y cancelar. Para esto habría que cambiar algunas cosas: en el archivo engine.h, añadir dos métodos (ButtonUp y ButtomDown) similares a KeyUp y KeyDown a la clase CGameState, y en el método Start de la clase CGameEngine, añadir las llamadas a esas funciones, donde se hacen las llamadas a KeyUp y KeyDown. Además, en el archivo states.h, añadir los métodos ButtonUp y ButtonDown a cada clase y poner un código similar al de cada método KeyDown, pero cambiando los códigos de las teclas por los de los botones.
Suena muy lioso porque me explico fatal, pero en realidad es cuestión de cinco minutos.

- Cambiar los textos en donde dice "Pulse ENTER para continuar" por "Pulse A para continuar". Esto está facilmente localizable en el archivo info.h


Bueno, yo lo voy a dejar por hoy y mañana intentaré hacerlo, pero por si acaso alguien le quiere echar un vistazo lo dejo por aquí.

saludos

Wild[Kyo]
04/01/2006, 07:23
Hola, pues lo he intentado compilar y el problema que tiene, por lo menos a mi, no me encuentra unas librerias que consisten en:



C:/devkitPro/devkitGP2X/bin/arm-linux-g++ -static -o snake.gpe main.o `C:/devkitPro/devk itGP2X/bin/arm-linux-sdl-config --libs`
C:/devkitPro/devkitGP2X/lib\libfreetype.a(ftgzip.o): In function `ft_gzip_file_init':
ftgzip.c:(.text+0x3c4): undefined reference to `inflateInit2_'
C:/devkitPro/devkitGP2X/lib\libfreetype.a(ftgzip.o): In function `ft_gzip_file_done':
ftgzip.c:(.text+0x42c): undefined reference to `inflateEnd'
C:/devkitPro/devkitGP2X/lib\libfreetype.a(ftgzip.o): In function `ft_gzip_file_reset':
ftgzip.c:(.text+0x508): undefined reference to `inflateReset'
C:/devkitPro/devkitGP2X/lib\libfreetype.a(ftgzip.o): In function `ft_gzip_file_fill_outp ut':
ftgzip.c:(.text+0x79c): undefined reference to `inflate'
make: *** [snake.gpe] Error 1

Wild[Kyo]
04/01/2006, 07:24
Lo acabo de compilar, no me preguntes como... xD lo voy a probar a ver si rula...

Wild[Kyo]
04/01/2006, 07:27
Funciona...

no van los controles (evidente) pero aparece la primera pantalla! XD

Si quieres lo toco un poco y lo hago "jugable" o ya te das el gustazo de pulirlo tú.

Un saludo! ;)

BuD
04/01/2006, 07:29
']Lo acabo de compilar, no me preguntes como... xD lo voy a probar a ver si rula...Olé, asi me gusta, que haya profesionalidad xDDDDD. Es broma [wei5]
Supongo que has añadido -lfreetype, no?

PD: Ah! Y gracias schan por crear un juego tan entretenido como este, xD. La de horas que mataba en el bus con mi nokia jugando al Snake. :D

Wild[Kyo]
04/01/2006, 07:32
Olé, asi me gusta, que haya profesionalidad xDDDDD. Es broma [wei5]
Supongo que has añadido -lfreetype, no?

Pues te vas a reir pero el caso es que no he tocado nada. He probado la primera vez de hacerlo como él ponia y me han salido la tira de fallos...luego con mi propio make que uso en mi Pong... y me ha salido ese, he mirado en mi arm-sdl-config como lo tenia puesto para ver si faltaba algo...lo he cerrado he puesto otra vez make y ha funcionado.

Cosas raras, o habré tocado algo y no me acuerdo xDDDDD

Un saludo!

Wild[Kyo]
04/01/2006, 07:34
Aqui os lo dejo compilado pero sin controles.

Anarchy a ver si pones soporte para adjuntar .rar y otros extensiones de compresores... :P

schan
04/01/2006, 21:23
muchas gracias!!

pues voy a ver si termino de instalar las librerias y lo arreglo

ilarri
04/01/2006, 21:46
']Aqui os lo dejo compilado pero sin controles.

Anarchy a ver si pones soporte para adjuntar .rar y otros extensiones de compresores... :P

wild, a saber lo k harias xD

y x cierto, estaria bien k se soportase el formato .rar y .ace, k comprimen mejor k el zip.

Wild[Kyo]
04/01/2006, 21:57
muchas gracias!!

pues voy a ver si termino de instalar las librerias y lo arreglo

Intente ponerle los controles y aunque yo creo que lo hice bien no tiran ni para atras. XD Suele pasar en los programadores que pensamos que lo hacemos bien y luego esta mal. Si quieres te paso los archivos modificados y ves lo que intente, aunque supongo que tu que eres el padre de la criatura te manejaras mucho mejor que yo por sus entrañas (ha quedado muy visceral... xD).

Un saludo!

Wild[Kyo]
04/01/2006, 21:59
wild, a saber lo k harias xD

y x cierto, estaria bien k se soportase el formato .rar y .ace, k comprimen mejor k el zip.

XD Correcto, a saber lo que haria porque no recuerdo haber hecho nada. xDDDDD

Y si podría soportar al menos .rar que es el que yo uso, los demás me dan igual porque no los uso y os fastidiais... xDDDDD

No en serio es que solo .zip parece una conspiración, se llevara comision Anarchy? XD

Anarchy a ver si puedes poner que se puedan subir archivos .rar .ace .7z ...

schan
05/01/2006, 00:06
Intente ponerle los controles y aunque yo creo que lo hice bien no tiran ni para atras. XD Suele pasar en los programadores que pensamos que lo hacemos bien y luego esta mal. Si quieres te paso los archivos modificados y ves lo que intente, aunque supongo que tu que eres el padre de la criatura te manejaras mucho mejor que yo por sus entrañas (ha quedado muy visceral... xD).

No me extraña, ya que el orden no es lo mío y el código es un poco... CAÓTICO :rolleyes:

lo he modificado ya para que vayan los controles de la aunq sigo sin poder compilarlo ni probarlo. ¿Lo podrías probar y decirme que tal va? gracias!

pd. ya solo me quedan 2 dias para tener mi gp2x, los reyes magos no me quieren dar un adelanto :mad:

Wild[Kyo]
05/01/2006, 00:19
Bueno solo puedo decir: chapó!

Los controles van perfectos y el juego tambien. Además es la **** caña. XD

Felicidades ^^

Aqui te dejo el juego compilado y las carpetas para hacerlo funcionar.

Un saludo!

schan
05/01/2006, 00:28
Muchas gracias!! y me alegro de que te guste ^^

Voy a añadirle un pequeño readme con las instrucciones y lo vuelvo a subir, por si Anarchy lo pone en la zona de descargas

edito: subido

miq01
05/01/2006, 02:23
Buenas, Schan. Está MUY BIEN tu juego, ¡en serio! Yo siempre he sido un fan del Nibbles (así se llamaba la versión que venía implementada con el QBasic hace un montón de años), así que conmigo lo tenías fácil... :)

Una cosa: no sé si soy yo o no se puede salir del juego y volver al menú (sería lo lógico teniendo en cuenta que no tienes consola). Mírate este enlace al Wiki (http://wiki.gp32spain.com/index.php/FAQ_de_programaci%C3%B3n#C.C3.B3mo_volver_al_men.C 3.BA_principal_de_la_consola_al_salir_de_una_aplic aci.C3.B3n_programada_en_C.2FC.2B.2B). Ahí se explica cómo volver al menú de la consola al finalizar una aplicación. Son sólo dos líneas.

¿Por cierto, alguien se apunta a portar el Heroes (http://heroes.sourceforge.net/screenshots.html)? :) Hay una versión SDL y para mi gusto, es sin duda el mejor remake de Nibbles (o como se llame el original).

schan
05/01/2006, 03:54
hola otra vez,

gracias miq01, me alegro de que te guste ^^

es cierto que no se puede volver al menú, pensaba que solo con terminar el programa volvería :rolleyes: Lo he corregido gracias al enlace que me dabas y supongo que ya debe ir bien.

Por fin he instalado el devkit y lo he podido compilar yo mismo :saltando:
Aquí dejo la version final (por ahora xD) y los fuentes


Ah, acabo de ver el heroes, no conocia ese juego y la verdad es que esta muu chulo. Le echaré un vistazo y si no parece muy complicado intentaré portarlo (lo que no quiere decir que lo consiga)

saludos

edito: se me habia olvidado adjuntar

Wild[Kyo]
05/01/2006, 04:40
Te recomiendo que abras un nuevo tema y de titulo "Nuevo juego para Gp2X: Snake 1.0". Asi Anarchy y los que postean noticias se daran "mas aludidos".

Un saludo!

schan
05/01/2006, 05:13
voy a ello

MKL
08/01/2006, 05:43
Hola, buenas:
Ante todo, saludar, ya que este es mi primer post en estos foros. Buenas ;)

Bien, tal y como ha comentado dmartin en el hilo en General (http://www.gp32spain.com/foros/showpost.php?p=318085&postcount=15) se hace un poquillo dificil manejar el joystick. Por qué no eliminas las zonas muertas usando la configuración número 5 (http://wiki.gp2x.org/wiki/Suggested_Joystick_Configurations) de las configuraciones recomendadas por DaveC? Creo que iría mucho mejor :)

Personalmente, me he puesto a modificar tu código para hacer eso, pero no he podido probarlo porque me ha petado la targeta SD (ouch). El código compila, pero no se si funciona... Adjunto también un diff con los cambios. Ya me dirás si funciona...

Muchas gracias por el juego, la feature esa de sacar escenarios aleatoriamente me ha sorprendido gratamente en un juego de este tipo :)

MKL

schan
08/01/2006, 17:25
gracias MKL!!

voy a probarlo ahora mismo y lo comento.

precisamente estaba yo modificando el juego para que se pueda manejar también con los botones. En breve (hoy o mañana como mucho) sacaré una nueva versión con algunas cosas más y meteré tus modificaciones.

Edito: probado y va mucho mejor así, voy a subirlo en el foro general

PD. antes se me olvidó... bienvenido! :brindis: