PDA

Ver la versión completa : requisitos para cargar tus juegos



serlioner
16/05/2010, 14:06
hola, he estado trabajando en un juego para la wiz, pero al intentar cargarlo me devuelve al menu, tengo la resolucion de pantalla de la wiz en el juego, que puede ser lo que falle, arrancnado desde termula me lo dira?
gracias por adelantado.

GameMaster
16/05/2010, 14:48
En que lo estas haciendo, fenix, bennu ?

Si así es, puedes poner unos logs para saber que falla.



#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../bgd-runtime
PATH=$PATH:../bgd-runtime
echo 2 > /proc/cpu/alignment
bgdc juego.prg 1>stdout1.txt 2>stderror1.txt
bgdi juego.dcb 1>stdout3.txt 2>stderror4.txt
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

deimian86
16/05/2010, 15:10
Arrancalo desde termula o desde el terminal de Qtopia y dinos a ver que error te sale. Si es en C++ y SDL puede que te falte alguna libreria.

serlioner
16/05/2010, 15:49
lo estoy haciendo en fenix, desde termula que comando se utilizaría para cargarlo?, y utilizando el logs seria como dijo Gamemaster pero cambiando las rutas y comandos por las de fenix (fxi) etc ,verdad?
gracias por vuestras respuestas.

GameMaster
16/05/2010, 16:31
Si, exacto. Hazlo como te digo, no te compliques la vida :)

Rivroner
16/05/2010, 17:10
lo estoy haciendo en fenix, desde termula que comando se utilizaría para cargarlo?, y utilizando el logs seria como dijo Gamemaster pero cambiando las rutas y comandos por las de fenix (fxi) etc ,verdad?
gracias por vuestras respuestas.

¿Lo habías probado antes en la Wiz y te funcionaba o este es tu primer intento?

¿Usas el notepad++ o notepad2 para los scripts gpe?

serlioner
16/05/2010, 17:10
uhm esto estaria bien echo?
#!/bin/sh
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../runtime
PATH=$PATH:../runtime
echo 2 > /proc/cpu/alignment
fxc linuxero.prg 1>stdout1.txt 2>stderror1.txt
fxi linuxero.dcb 1>stdout3.txt 2>stderror4.txt
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu

juanvvc
16/05/2010, 18:11
No, porque probablemente no necesites ni la línea de echo 2 > /proc/cpu... ni la línea de fxc. Al fin y al cabo ya habrás compilado en el ordenador, ¿no?

Ya se pasará GameMaster para explicarnos por qué ha recomendado esas dos líneas :)

SplinterGU
16/05/2010, 18:25
yo diria que le pongas el echo 2>/proc/cpu... esto es uno de los fallos que tiene fenix con algunas alineaciones de datos que no son de tamaño INT (32 bits)

la del fxc no es necesaria, porque segun entiendo no existe compilador de fenix para la consola... o quizas me equivoque.

Hokutoy
16/05/2010, 21:19
Importante... asegurarse de que los nombres de los recursos que cargas (nave.fpg, letras.fnt, etc...) esten en minúsculas si así es como los nombras en el programa.
En el PC (Windows) da igual las mayusculas/minusculas pero en la WIZ los nombres a cargar y los nombres cargados tienen que coincidir sí o sí... sino peta y vuelta al menú.

Saludos

serlioner
27/06/2010, 15:25
hola de nuevo, he estado intentando cargar otro juego que me fallaba con el script y me sale de error "Killed", alguien puede decirme que es lo que falla? gracias por adelantado.

Drumpi
27/06/2010, 21:12
Que error más raro ¿donde, cómo y con qué te sale?

serlioner
27/06/2010, 22:37
arranque el juego con el siguiente script
#!/bin/sh
cd runtime
./ufxi ../data/enemigos.dcb 1>stdout3.txt 2>stderror4.txt
cd /usr/gp2x
exec /usr/gp2x/gp2xmenu
y me creo los archivos con el error ese, y no tengo ni idea de que significa.

Drumpi
28/06/2010, 01:28
segun eso, tienes que tener una carpeta llamada runtime con los ejecutables de Fenix en la misma carpeta que el GPE ¿existe?

serlioner
28/06/2010, 02:01
si esta todo correcto, el problema es que cuando me crea los archivos de error me sale "killed" y no tengo ni idea de que tengo que hacerle al juego con ese error para que valla, creo que puede ser que chupa muchos recursos, pero los disminuí y nada.

Drumpi
28/06/2010, 02:37
Pues es la primera vez que veo ese error ¿cuantos MB de memoria cargas?
¿Seguro que sólo pone killed? ¿no pone nada más? ¿no será alguna linea SAY que tiene el código?

hardyx
28/06/2010, 11:38
¿Sólo sale "killed" o salen más cosas? ¿No pondrá oomkilled y un montón de números? Eso quiere decir que el sistema lo mata por falta de memoria. Mira que no estés usando ficheros de gráficos o música muy grandes.

Prueba a lanzar el juego desde el termula, el mismo comando fxi a ver que mensajes te dice. Mira que ningún proceso se quede en un bucle infinito creando textos o variables. Y sobre todo asegúrate de usar el runtime de Fenix para Wiz.

serlioner
29/06/2010, 00:08
utilizando el script solo me sale eso, voy a probar desde el termula haber

serlioner
30/06/2010, 15:17
estoy intentando lanzar el juego desde termula, pero nose exactamente como es, he probado como en linux fxi juego.dcb, pero me sale que no reconoce el comando, que tendria que escribir exactamente?, gracias por vuestras respuestas.

< - >
ok, le cambie el fpg a uno menos pesado, y ahora me sale el siguiente error:
Error al cargar PNG
Segmentation fault
ese es bastante mas comun, pero sigo sin saber solucionarlo.

Drumpi
30/06/2010, 21:50
Quizás sea porque fxi no está en esa carpeta, tendrás que escribir la ruta completa al fxi.
Si te da error al cargar un PNG, es que hay algún gráfico en PNG mal hecho. De todas formas ¿qué tamaño tenía tu FPG? sin usar la compresión, claro.

< - >
PD, te recomiendo que uses UltimateFenix (UFXI) que tiene menos fallos y es ligeramente más rápido.

serlioner
01/07/2010, 14:29
si esta un png mal echo como dices, que debería hacer intentar guardarlo de nuevo haber si así se soluciona, esq en el ordenador no me da ningún tipo de error.

Drumpi
01/07/2010, 14:41
Hombre, yo no uso PNG, casi siempre lo paso a FPG, sobre todo porque así sé cuanto va a ocupar en memoria, y al comprimir en ZIP/RAR se queda más o menos ocupando el mismo espacio que un PNG.
Ten en cuenta que Fenix tira de SDL para cargar PNG, y el PC tiene cientos de codecs, así que el PC te puede abrir PNGs con diveros tipos de colores, compresiones y demás, y a lo mejor SDL no.
Intenta guardarlo de nuevo con las opciones más estandar que veas (ni idea de cuales son).

Si no, insisto ¿qué tamaño tenía el FPG que querías cargar? (sin la compresión, se entiende).

serlioner
04/07/2010, 23:08
he transformado todas las png y nada, como se solucionaria 100% seguro pasandolo a fpg o como? esque me surge mucha urgencia poder cargarlo en la wiz y quero solucionarlo antes de seguir avanzando y que sea demasiado costoso o tarde, gracias por viestras respuestas.

Drumpi
05/07/2010, 01:46
Yo siempre he usado FPG, para todo. En ocasiones alguna imagen en MAP. Pero lo más interesante es que siempre que me ha fallado por algo raro ha sido por abusar de la carga de recursos.

¿Has conseguido lanzar el .gpe por termula?
Ya digo que es un error muy raro, y sin el código y todos los recursos, poco más podemos decir.

serlioner
06/07/2010, 00:39
voy a intentar cargarlo desde termula, que comando se usaría?
gracias por vuestras respuestas.

< - >
ok, ya solo dice Segmentation fault XD, era una imagen que taba mal, pero he conseguido cargar una version anterior que no chupa tanto, asi que problema resulto, muchas gracias por vuestras respuestas.

Drumpi
06/07/2010, 02:05
Hombre, lanzar .gpe no recuerdo si con escribir el nombre del fichero ya bastaba o había que usar exec o run o algo.
Pero para lanzar cualquier juego Fenix, si tienes el FXI o UFXI instalado basta con escribir:
ufxi mijuego.dcb
Si no está instalado:
/ruta/al/ufxi mijuego.dcb

Segmentation fault ya es algo más normal. Si estás usando punteros o arrays, es que te has salido de la zona de memoria. Si no, es que hay alguna función que estás usando mal

Usar SAY en el código ayuda a ver los datos que estás usando en las variables y a saber qué parte del código se ejecuta y cual no.
Usar WRITE_INT ayuda a ver los valores en tiempo real, si lo acompañas de una función que te baje o suba los FPS, mejor, para ponerlo a 2 FPS y verlo todo a cámara lenta antes de que estalle.

serlioner
07/07/2010, 02:13
cambiando fragmentos de un codigo que iba, se que el error esta en el código del protagonista, ahora como averiguo que parte da el error exactamente?

Drumpi
07/07/2010, 03:00
Leyendo el código.
Si no, pon varios SAY a lo largo de la ejecución del prota con diversos mensajes (cosas como "cargando datos", "saltando", "comprobando colisión"...). Lo bueno del SAY es que se ejecuta sin necesidad de llegar al frame, por lo que si se rompe antes de tiempo, podrás leer el último mensaje y sabrás que el error está entre ese mensaje y el siguiente. Luego ya es cuestión de ir acercando los mensajes hasta encontrar la línea del error, y entonces comprobar si las variables tienen valores correctos o se han ido de paseo por donde no deben (say tambien permite ver los valores de las variables).

Acotar el error, que se llama eso.
O también, durante la ejecución, pulsando ctrl+c sale la consola de depuración, donde puedes ver los procesos activos, sus variables, modificarlas y no recuerdo si en UFenix se llegó a incorporar la función de "trace" para ver la ejecución paso a paso, pero eso ya es otra historia.