Página 1 de 6

Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Mié, 06 Ago 2014, 16:29
por son_link
$this->bbcode_second_pass_quote('', 'F')ulanito posee una gran colección de juegos retro desde niño, pero un día decidió venderlo todo y dejar el mundo retro para comprarse la PSBOX 5000, la consola mas puntera con gráficos 4D, sonido Tony 20:1 y que se controla con la mente. La diosa Vah-Ka, al conocer semejante atrocidad y herejía, manda a Fulanito al peor sitio de Mojonia: Puto Juego Chungo. Fulanito deberá de recorrer las distintas zonas recogiendo los casetes de oro, esquivando a los enemigos y recogiendo items que le ayudaran a llevar a buen puerto la aventura.


Bueno, y este es mas o menos el prologo de mi nuevo proyecto. La idea me vino mientras jugaba al juego de Steam You Have To Win This Game, un juego estilo retro y chungo de narices y que recomiendo (ademas es gratis y esta tanto para Windows como Linux)
Un amigo mio me ayudara con el tema gráfico, y el mapa quiero hacerlo bastante grande, por lo que volveré a recurrir al compresor de mapas. Como dice la introducción Fulanito podrá recoger varios items que le ayudaran en su travesía:
  • Activadores de plataformas
  • Ultrasalto (salto mas largo o doble salto, esto se ira viendo durante el desarrollo)
  • Etc.
Aun tengo que pensar algo mas el proyecto y ver que se puede o no hacer, por lo que iré preguntando según avance esto :mrgreen:

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Mié, 06 Ago 2014, 16:41
por Cthonian Godkiller
No te olvides de hacer un guiño a samitroid :twisted:

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Mié, 06 Ago 2014, 16:42
por angel
A tope!! :D

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Dom, 10 Ago 2014, 10:51
por son_link
$this->bbcode_second_pass_quote('Cthonian Godkiller', 'N')o te olvides de hacer un guiño a samitroid :twisted:

Puede que lo haga ;)

Ahora la duda del millon de rupias hylianas:
Como el juego quiero que sea largo y difícil quiero implementar un guardado de partida, ademas voy a añadir puntos de regeneración, para en cuando maten al personaje, que solo tendrá 1 de vida, vuelva al ultimo punto de regeneración por el que paso. En cuanto a saber que objetos cogió, supongo que tendría que crear un flag por cada uno y poniéndolos a 0 ó 1 para saber si se cogió o no, y no se si habrá un limite de flags, ademas de que no se si se podría implementar un array, que sera mas cómodo, y ocuparía menos memoria (digo yo). Lo del punto de regeneración, creo que me bastara un flag con el numero de pantalla y meter un montón de script para que vaya ademas a la posición X e Y, o que este este en un punto fijo en todas las pantallas.
Y solo quedaría el tema de guardado, que creo que lo mejor seria guardar la partida en la cinta, o meter un generador de contraseña.
¿Que opináis al respeto?

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Dom, 10 Ago 2014, 11:30
por na_th_an
Los flags ya son un array :) En principio sólo hay 16, pero puedes ampliar este número muy fácilmente modificando definitions.h, linea 138:

$this->bbcode_second_pass_code('', '#define MAX_FLAGS 16')

Puedes poner hasta 256 sin problemas... Pero ten en cuenta que cada flag ocupa un byte. Usa sólo las que necesites. En algunos juegos hemos usado bastantes más, pero creo que nunca más de 32. Y eso que Ninjajar tiene algunos puzzles con un scripting REALMENTE complejo.

Implementar una función para grabar o cargar de cinta no debería ser complicado siempre que todos los datos estén en una zona contigua de memoria. Con esto se configuran unos registros de la CPU y se llama a la ROM para grabar o cargar un bloque de datos. Estoy seguro de que A. Villena te puede ayudar con esto. Nosotros queríamos meterlo en un juego que estamos planteando, pero como todavía no nos vamos a poner con él (y sabe dios cuando) aún no lo tengo investigado. Supongo que lo suyo sería implementar el tema para que salvase/cargase todo el array de flags.

Generar un password, si hay muchos valores implicados, hará que el password sea muy largo. En ninjajar sólo tiene 8 letras porque se almacenan pocas cosas (nivel, vidas, monedas, y un "hash" de comprobación).

Para almacenar un punto de retorno (punto de control les llaman ahora) necesitarás tres flags: una con el número de pantalla y otras dos con las coordenadas. Imagina que son los flags 1, 2 y 3. Luego, para "volver" desde el script puedes usar

$this->bbcode_second_pass_code('', 'WARP_TO #1, #2, #3')

Si lo que quieres, en cambio, es implementarlo en el menu del juego, tendrás que modificar mainloop.h y establecer n_pant, player.x y player.y con los valores correctos. Justo antes del inicio del loop principal podrías sacar los valores de los flags:

$this->bbcode_second_pass_code('', 'n_pant = flags [1];
player.x = flags [2] << 10;
player.y = flags [3] << 10;')

Los <<10 es porque lo suyo es guardar coordenadas de tile, y transformar a coordenadas reales (la churrera emplea 1/64 de pixel como unidad básica) por lo que hay que multiplicar por 1024 (*16 pixels * 64 subpixels).

Todo depende de cómo te lo quieras montar :) Hay muchas posibilidades.

Tengo ahora una versíón 3.99.3d abierta a falta de añadirle alguna funcionalidad más. Si diseñamos algo chulo para implementar checkpoints (por lo pronto, sólo en memoria) podría incluirlo. Pero hay que especificarlo bien para que sea usable.

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Dom, 10 Ago 2014, 11:53
por son_link
Pues mira, mi juego servirá de conejillo de indias para los checkpoints.
Bajare la 3.99.3.c ya que tengo la 3.99.3.b para Sami Troid e ire trasteando haber si hago unas pruebas antes de meterlo en el juego.

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Dom, 10 Ago 2014, 17:34
por na_th_an
Lo primero es diseñar lo que se quiere conseguir.

Según yo lo veo, en el juego habría sitios en los que, al pasar, se grabase un estado. Entiendo que lo suyo, si se va a usar scripting, y por simplificar, lo que hace esto es hacer una copia de todos los flags en un array de salvaguarda.

Puede implementarse usando un nuevo tipo de hotspots. Es lo más sencillo. Si colocamos un hotspot de tipo ¿8? (¿por cuál vamos? :lol: ), cuando el usuario pase por él se grabará todo el estado del juego en un area de memoria. Yo grabaría los flags, las vidas, y según cómo esté configurado el motor, objetos, balas, tiempo, enemigos eliminados (si aplica).

Luego, al empezar a jugar, se comprueba si hay un estado grabado, y si es así se da la opción de empezar desde el principio o continuar.

Si vemos que esto funciona bien, podemos mirar de añadir una opción para grabar esos datos o recuperarlos de cinta. Pero lo primero es tenerlo funcionando "en memoria".

¿Se ajustaría esto a lo que necesitas? Creo que son cambios sencillos y ocuparían poco espacio (al menos el salvado en memoria, lo otro habría que estudiarlo).

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Dom, 10 Ago 2014, 17:43
por son_link
$this->bbcode_second_pass_quote('na_th_an', 'L')o primero es diseñar lo que se quiere conseguir.

Según yo lo veo, en el juego habría sitios en los que, al pasar, se grabase un estado. Entiendo que lo suyo, si se va a usar scripting, y por simplificar, lo que hace esto es hacer una copia de todos los flags en un array de salvaguarda.

Puede implementarse usando un nuevo tipo de hotspots. Es lo más sencillo. Si colocamos un hotspot de tipo ¿8? (¿por cuál vamos? :lol: ), cuando el usuario pase por él se grabará todo el estado del juego en un area de memoria. Yo grabaría los flags, las vidas, y según cómo esté configurado el motor, objetos, balas, tiempo, enemigos eliminados (si aplica).

Luego, al empezar a jugar, se comprueba si hay un estado grabado, y si es así se da la opción de empezar desde el principio o continuar.

Si vemos que esto funciona bien, podemos mirar de añadir una opción para grabar esos datos o recuperarlos de cinta. Pero lo primero es tenerlo funcionando "en memoria".

¿Se ajustaría esto a lo que necesitas? Creo que son cambios sencillos y ocuparían poco espacio (al menos el salvado en memoria, lo otro habría que estudiarlo).

Si, se ajustaría a lo que necesito. Y tal y como dices, mejor ir probando en memoria. Iré preparando algunos tiles y un mini mapa para testear

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Dom, 10 Ago 2014, 17:49
por na_th_an
Ok. Iré metiendo las funciones necesarias en un savegame.h y tal. En cuanto tenga algo lo pongo por aquí.

Re: Nuevo proyecto: Fulanito en el Puto Juego Chungo

Publicado: Lun, 11 Ago 2014, 01:29
por Cthonian Godkiller
Lo de los checkpoints/savegames tiene muy buena pinta. :twisted: