PDA

Ver la versión completa : Tiles o mapas completos?



masteries
11/06/2008, 00:16
Ahora que me he puesto con el código para dibujar mis mapas a base de tiles, he encontrado que hacerlo funcionar correctamente es arduo complicado, aunque el código es muy sencillo manejarse con los tiles y depurar dicho código veo que me va a llevar mucho tiempo...

Ahora después de haber visto el Firewhip(está muy guapo) me pregunto si puedo pasar a utilizar mapeados completos para mi juego, me surge una duda...

¿El espacio ocupado en memoria es lo que ocupa el archivo .fpg? ¿O por el contrario lo que ocupa en memoria realmente son las imágenes .png descomprimidas, que viene a ser lo que ocuparía un .bmp de esas características?

Es que veo que lo de tiles...se me va a hacer eterno... si puedo pasarme al método del Firewhip lo podré tener listo bastante antes de lo que pienso.

Saludos a todos!
:lovegp2x:

swapd0
11/06/2008, 00:19
Lo normal es que tengas el mapa sin comprimir para ahorrar tiempo, pero ocupa mas memoria. De todas formas hacer scroll por tiles no es tan complicado...

masteries
11/06/2008, 00:27
Eso quiere decir que el Fénix puede manejar el mapa comprimido tal cual, no lo descomprime "enterito" en la ram, sólo descomprime en trozo que se esta viendo en pantalla por así decirlo...

Ya sé que puede no ser tan complicado... pero no soy ningún "hacha" y antes de atascarme intentaré otras vías.

Edito: Acabo de probar mi motor de tiles en la gp2x, y la verdad es que la deja colapsada...más lento que el caballo del malo; a probar otro método.

Coelophysis
11/06/2008, 11:16
En realidad lo que hace Fenix es leer todo el mapa y cargarlo en memoria, sin compresión ninguna. Eso significa que el gráfico en sí, descomprimido, no debería pasar de los 32 Mb que la consola usa para Fenix, restando lo que ocupa el runtime, la música, y el resto de gráficos que puedas tener en memoria.

En realidad pues se quedaría en un gráfico de unos 3 o 4 MB de tamaño (midelo en formato bmp, no en png) más un MB para un mapa de durezas y un scroll de fondo.

El "método Firewhip", que en realidad es el "método Dr. Malvado", lo que hace es cargar en memoria el gráfico de cada nivel en un solo bloque a medida que avanzas, descargando antes de la memoria los niveles que dejas atrás. Con esto tienes para hacer un juego interminable sin ningún tipo de problema :brindis:.

Para que tengas una orientación, en el Firewhip he usado gráficos para los niveles de 1280x2400 píxels (los niveles verticales) y de 7200x480 píxels (los niveles horizontales) y la consola se los traga sin problemas uno detrás de otro (en mi beta actual tengo como 8 o 9 niveles). Eso sí, importante, son a 8 bits de color; si los haces a 16 bits ocuparán más y ésas medidas no te sirven.

Pues eso, que espero que te sirva de orientación :brindis:.

¡Un saludo!

masteries
11/06/2008, 11:33
Muchas gracias Coelophysis, tú si que si sabes. Es lo que que había imaginado, que el mapa se carga en memoria enterito independientemente del formato en el que se encuentre.

Si lo de borrar un nivel cuando lo acabas y cargar el siguiente es de Perogrullo claro... pero me toca currarme un poco más la programación porque en mi juego tengo tres protagonistas simultáneos que pueden estar en distintos sitios del mapeado(con varios niveles por fase eso sería que podrían estar en diferentes mapeados), aunque también puedo estudiar el que un protagonista no pueda avanzar hasta el siguiente nivel si sus compañeros aún no han llegado y si es que siguen con vida(este última forma la veo mucho más viable, al menos a corto plazo).

Por cierto los gráficos del Firewhip están muy guapos, se me antoja que tiene calidad tipo Neo-Geo.

Coelophysis
11/06/2008, 12:04
No me hagas mucho caso; yo soy grafista y no programador :D, pero creo que tener varios protagonistas distribuidos por distintos mapas no es demasiado problema a la hora de descargar de la memoria los gráficos de los niveles que no utilices; quizás podrían ser procesos dormidos que despierten solo cuando se cargue el nivel en dónde están... aunque si tienen que ir cambiando de posición o algo así mientras el nivel no está en la memoria pues lo veo más chungo... que va a ser que no, tan solo son variables que se pueden guardar sin necesidad de tener el gráfico del nivel...

Vamos, que mientras tengas los gráficos de dichos protagonistas en un fpg principal que nunca se descargue de la memoria, lo de cargar y descargar el resto de fpgs no debería ser un problema...

Bueno, son solo suposiciones; tampoco conozco la mecánica de tu juego. Pero si encuentras una solución ya me lo contarás, que igual lo utilizo yo :D.

¡Ánimo con ello! y pregunta lo que quieras siempre que sea tema gráficos :brindis:, que ahora es mi oficio [wei].

chipan
11/06/2008, 13:09
Masterseries, si tienes alguna duda del uso de fenix, aqui me tienes, te puedo hechar una mano con lo que necesites, aunque ya te digo que yo soy "DIVero", que mas o menos significa que programaba en fenix antes de que existiera el fenix (ya que programaba en DIV, el padre del fenix).

Coelophysis ¿Ya 9 niveles en la beta del firewhip? ¡que fiera! no puedo esperar a que el juego esté completo. Será un juego de culto para los geperos y los fenixeros en general.

DMusta1ne
11/06/2008, 13:16
Lo raro es que no haya aparecido por aquí Drumpi. El estaba depurando su motor de tiles para fenix, y que rulara bien en la gp2x...

Coelophysis
11/06/2008, 13:55
Masterseries, si tienes alguna duda del uso de fenix, aqui me tienes, te puedo hechar una mano con lo que necesites, aunque ya te digo que yo soy "DIVero", que mas o menos significa que programaba en fenix antes de que existiera el fenix (ya que programaba en DIV, el padre del fenix).

Coelophysis ¿Ya 9 niveles en la beta del firewhip? ¡que fiera! no puedo esperar a que el juego esté completo. Será un juego de culto para los geperos y los fenixeros en general.

La verdad es que la beta actual hace 6 meses que está parada... :(. La única esperanza que tengo es hacer una llamada por aquí para que algún fenixero de pro se ofrezca a meterle mano al código y yo solo tenga que preocuparme de gráficos y animaciones, tal y como hice con el Camelot.

Aún arrastro algunos bugs que soy incapaz de solucionar, como el tema de los clones espontáneos del prota. Aunque el juego ya va muchísimo mejor que la beta que saqué y la dificultad está mucho más ajustada, y sería una lástima que no lo terminara. Más que nada porque tengo otros proyectos en mente y no voy a empezarlos hasta que el Firewhip esté finiquitado.

Así que dentro de nada voy a ser yo quien abra un nuevo hilo de ayuda para Fenix :D.

DMusta1ne
11/06/2008, 14:56
La única esperanza que tengo es hacer una llamada por aquí para que algún fenixero de pro se ofrezca a meterle mano al código y yo solo tenga que preocuparme de gráficos y animaciones, tal y como hice con el Camelot.


DRUMPI DRUMPI DRUMPI

(con anarchy funciona, ¿no? [wei5])

Drumpi
11/06/2008, 20:04
Perdonad, estaba fuera del piso... con las llaves dentro ^^U

Scroll con mapas completos es lo más sencillo... para que la gp2x se suicide. Ya me está costando trabajo hacer un... bueno, hacer mi "eso", que inicialmente era para PC, y me he tirado tres meses dividiendo el FPG para que no cascara.
Un FPG se guarda en memoria como un BMP, todo descomprimido, aunque luego en pantalla sólo se represente parte de él. Por mi experiencia, usando gráficos de 800x600, te puedo decir que no podrás cargar más de 8MB sin correr el peligro de que se salga del juego.

Como ya han dicho, yo ando trabajando en un motor de tiles, ya voy a por la tercera versión, porque la segunda, con tiles de 32x32, 16bits de color y dos capas ya le cuesta un poquillo moverlo, y las pruebas del nuevo, como pudo comprobar DMusta1ne, prometen (60fps casi continuos).
Problema: estoy de exámenes y no puedo acabarlo hasta la vuelta de vacaciones, dentro de mes y medio, pero lo más basico si que anda (faltan utilidades para cambiar el scroll sin tener que cerrarlo, y comprobar si se cierra bien), por si quieres, pues te lo subo y lo pruebas.
Si miras en hilos mas viejunos, por ahi andan Fenixland y creo que una prueba que hice de un juego que llamo Boulder, que usan la segunda versión. No es tan rápida, pero funcionan al 95% (siempre se escapa algun bug). Sólo necesitas tres ficheros (llamados por el comando include en el prg principal), y su funcionamiento se puede ver en game.inc, en el proceso game, si no recuerdo mal. Quizás un par de globales extra, para almacenar los datos, y que el formato que admiten es propio, pero tengo un editor medio funcional (creo que anda por mi web: drumpi.esp.st) o si no, tambien va incluido el fichero de carga, por si quieres añadir el tuyo.

Ahora bien, si quieres hacer tu propio motor, no dudes en preguntar, yo se lo difícil que es depurarlo, y generalmente se tarda más que en programarlo (en esta última tardé unas seis horas en programarlo (frente a la semana y media del anterior) y cerca de seis dias de depuración), pero creeme, luego compensa, porque lo puedes usar en el resto de juegos.

Bueno, lo siento, corto el rollo porque tengo que estudiar (no tendría que haber entrado, que siempre me enrollo ^^U)

chipan
11/06/2008, 20:05
La verdad es que la beta actual hace 6 meses que está parada... :(. La única esperanza que tengo es hacer una llamada por aquí para que algún fenixero de pro se ofrezca a meterle mano al código y yo solo tenga que preocuparme de gráficos y animaciones, tal y como hice con el Camelot.

Aún arrastro algunos bugs que soy incapaz de solucionar, como el tema de los clones espontáneos del prota. Aunque el juego ya va muchísimo mejor que la beta que saqué y la dificultad está mucho más ajustada, y sería una lástima que no lo terminara. Más que nada porque tengo otros proyectos en mente y no voy a empezarlos hasta que el Firewhip esté finiquitado.

Así que dentro de nada voy a ser yo quien abra un nuevo hilo de ayuda para Fenix :D.
Pues es una pena que no me haya enterado antes, podría haberle hecho un buen repaso durante las vacas, ahora las estoy acabando pero si hay que matar unos cuantos clones, se matan.
¿Te refieres a los clones de marras de las plataformas?
Se me ocurre que el motivo sea que se crean los clones en las plataformas pero que no se destruyen al salir de las mismas por lo que quedan acoplados al personaje y que luego, al chocar con algun enemigo, el clon recibe daños y se separa del prota.
Bueno, si quieres que mire lo de los clones dame un toque o manda un mail; y animo y suerte.

Drumpi
11/06/2008, 20:09
La verdad es que la beta actual hace 6 meses que está parada... :(. La única esperanza que tengo es hacer una llamada por aquí para que algún fenixero de pro se ofrezca a meterle mano al código y yo solo tenga que preocuparme de gráficos y animaciones, tal y como hice con el Camelot.

Aún arrastro algunos bugs que soy incapaz de solucionar, como el tema de los clones espontáneos del prota. Aunque el juego ya va muchísimo mejor que la beta que saqué y la dificultad está mucho más ajustada, y sería una lástima que no lo terminara. Más que nada porque tengo otros proyectos en mente y no voy a empezarlos hasta que el Firewhip esté finiquitado.

Así que dentro de nada voy a ser yo quien abra un nuevo hilo de ayuda para Fenix :D.

Yo ayudaría, pero soy malo leyendo código ajeno ^^U
¿Y por qué no? Quizás, mientras estoy fuera, pueda echarle un vistazo al código con el visor de textos de la negrita. Si quieres me lo envías y trato de verlo, a ver que se puede hacer, pero no prometo nada.

Estudiar, estudiar, estudiar, estudiar, estudiar, estudiar, estudiar...