Archive for the ‘fp4g’ Tag

Diario de desarrollo XVolley: Día 4

Día 4 (Lunes):

  • WAAAA ESTOY SUPER ATRASADO, logré solo colocar el piso y la pelota con su imagen (y rota xD)

Diario de desarollo XVolley: Día 3

Dia 3 (Domingo):

  • #$%&#$&% estoy avanzando mucho en el generador, no se que pasará con el juego. Si no puedo, por ultimo me queda hacerlo en Construct2 de todas formas es super easy.
  • Bueno ya tengo listo la clase inicial y los constructores de entidades.  Solo me falta “GameState” aunque ya tengo la plantilla. Con FreeMarker ando super rápido en comparación que JCodeModel.
  • Terminé GameState antes de lo previsto, por lo menos me entrega una funcionalidad básica. TODO EL GENERADOR ME ENTREGA UNA FUNCIONALIDAD BÁSICA. El problema es ahora que me quedan pocos días para terminar, pero liberé a Soledad de los Imperiales xD.

Diario de desarrollo XVolley: Día 2

Día 2 (Sábado):

  • Bueno creo que le di una vuelta al generador, porque me dio flojera hacer todo el cóoodigo básico que debe tener el juego.  Tal vez use una plantilla para proyectos futuros.
  • Bueno finalmente perdí tiempo o gané un mejor generador, debido que rehíce muchas de las partes. Lo hice más mantenible que era una de las razones de porque lo había abandonado debido que no se adaptaba a los cambios rápidamente y ahora estoy usando FreeMarker.  La pregunta que queda ¿Podre alcanzar hacer el juego en los días restantes?

Generando un juego

Ya era hora de escribir y ademas medir mi nivel de avance en este proyecto.
Bueno es difícil crear un proyecto que considere todas las posibilidades que se puedan dar en el desarrollo de otro. Sin embargo esto no es algo imposible, siempre y cuando uno se de defina unos margenes aunque sean bien estrechos, es posible.

Bueno en las entradas anteriores había comentado que había hecho un juego en un poco más de una semana, aunque le falta mucho me sirvió mucho para aprender ciertas cosas que desconocía y fortalecer ciertas detalles que tenia débiles.

Quiero medir una cierta especie de avance en este proyecto, comparando lo que se puede generar y el juego que hice hace poco. Así que mostraré el código para el generador y algunas diferencias de los archivos generador con el juego actual.

Primero el código que define el prototipo.

DEFINE GAME XVolley
[
 DEFINE ENTITY Player(x:Integer,y:Integer,keyMap:KeyMap)
 [
 ADD BEHAVIOR InputPlayerBehavior(keyMap),
 ADD BEHAVIOR PlayerBodyBehavior(world,x,y)
 ],
 DEFINE ENTITY IAPlayer(x:Integer, y:Integer)
 [
 ADD BEHAVIOR IAPlayerBehavior(Player2),
 ADD BEHAVIOR PlayerBodyBehavior(world,x,y)
 ],
 DEFINE ENTITY Ground
 [
 ADD BEHAVIOR GroundBehavior,
 ADD BEHAVIOR GroundBodyBehavior(world,0,0,Width,Height)
 ],
 DEFINE ENTITY Ball
 [
 ADD BEHAVIOR BallBehavior
 ],
 DEFINE STATE Gameloop
 [
 ADD ENTITY Ground,
 ADD ENTITY Ball,
 ]
]

Le añadí unas cuantas cosas extras, que es el pasaje de argumentos, lo cual es más útil que utilizar otra clase para pasar datos. Aunque eso es lo que creo yo. Esto aún es muy básico, pero me será útil en proyectos futuros.

Bueno ,a primera clase que genero es el punto inicio del juego y ya está bastante madura su generación(por ahora), solo tiene algunas diferencias. izquierda modificado/derecha generado
http://www.diffchecker.com/cfbrhgz0

Ahora algunos constructores de entidad. No hay mucha diferencia entre estos archivos sin embargo puede ser un poco latoso andar corrigiendo los imports y los tipos nativos de Java. A pesar que el pasaje de argumentos es muy basico y no hace ninguna comprobación de tipos, es muy útil.

http://www.diffchecker.com/1orn22iw
http://www.diffchecker.com/opqjls5h
Y finalmente la clase con toda la magia y la más distinta. Es evidente que el generador aún le queda trabajo para poder alcanzar este nivel de implementación. La definición de esta clase en el generador estaba vacía, pero aún así no alcanzará a estar ni cerca de lo que yo programé para que funcionase el juego.
http://www.diffchecker.com/v2wk8xms

Cuando programé esta clase, trate de seguir un orden para que sea utilizado en el generador, y pude notar que existen reglas que pueden ser creadas en el mismo generador, aunque eso es trabajo de otra ocasión.

Gracias a Freemarker ando mucho más rápido generando las plantillas para generar código. Y al parecer JavaCC se me está quedando corto o yo no lo sé usar. De todas formas, veré si puedo usar ANTLR debido a que se mantiene actualizado y la gramática es más fácil de mantener.

Gracias: Diffchecker