Estoy trabajando en Starriser, una StartUp en la lanzadera Momentum.do. Soy cofundador y me encargo de la parte front end.
Ahora mismo estamos mirando cómo hacer la arquitectura del front end. Este se compone, principalmente de 3 partes:
- Modelos de datos y lógica
- Motor gráfico y vistas
- Interfaz y menús
El motor gráfico y vistas está bastante claro. Usamos Canvas2D a pelo y un sistema que permite tener 2 vistas activas simultáneamente para transiciones.
La parte de Interfaz y menús, aunque está estructurada, hay dudas en cómo hacer binding con los datos de los modelos.
Y aquí viene la parte compleja, los modelos de datos y la lógica. Hacer una interfaz "tonta" es relativamente sencillo. Le preguntas al servidor, cacheas datos y poco más, pero por los requisitos de lag tenemos que hacer una interfaz "inteligente". Es decir, el juego tiene que continuar sin la confirmación del servidor y en caso de que haya algún error, hacer rollback / pull del server.
En este punto he investigado programación reactiva para los bindings y modelos de datos tipo ember-data o epf.io y me han parecido muy acertados. El problema es que estos modelos dependen de frameworks como amber, que para Starriser, que tiene gran parte de la interfaz en Canvas2D, no nos son de toda la ayuda que podrían ser.
En este punto, alguien tiene alguna sugerencia para seguir investigando?
Tengo que confesar que este me parece de los retos más divertidos que he tenido desde hace mucho tiempo :P
Si alguien quiere charlar sobre el tema / quedar y charlar sobre JS (todo el mundo es bien venido :) enviadme un correo a david@starriser.com o contestad en este post y hablamos!
Desde mi conocimiento, tienes varias opciones. Pero creo que el más conveniente podría ser usar MeteorJS y usar los datos que este te provea para alimentar tus colecciones de "enemigos", "planetas", etc del juego.
Otra opción en caso de que no queráis cambiar totalmente el backend es que os piquéis una buena librería que sea capaz de gestionar todas esas excepciones.
Estoy trabajando en Starriser, una StartUp en la lanzadera Momentum.do. Soy cofundador y me encargo de la parte front end.
Ahora mismo estamos mirando cómo hacer la arquitectura del front end. Este se compone, principalmente de 3 partes:
- Modelos de datos y lógica
- Motor gráfico y vistas
- Interfaz y menús
El motor gráfico y vistas está bastante claro. Usamos Canvas2D a pelo y un sistema que permite tener 2 vistas activas simultáneamente para transiciones.
La parte de Interfaz y menús, aunque está estructurada, hay dudas en cómo hacer binding con los datos de los modelos.
Y aquí viene la parte compleja, los modelos de datos y la lógica. Hacer una interfaz "tonta" es relativamente sencillo. Le preguntas al servidor, cacheas datos y poco más, pero por los requisitos de lag tenemos que hacer una interfaz "inteligente". Es decir, el juego tiene que continuar sin la confirmación del servidor y en caso de que haya algún error, hacer rollback / pull del server.
En este punto he investigado programación reactiva para los bindings y modelos de datos tipo ember-data o epf.io y me han parecido muy acertados. El problema es que estos modelos dependen de frameworks como amber, que para Starriser, que tiene gran parte de la interfaz en Canvas2D, no nos son de toda la ayuda que podrían ser.
En este punto, alguien tiene alguna sugerencia para seguir investigando?
Tengo que confesar que este me parece de los retos más divertidos que he tenido desde hace mucho tiempo :P
Si alguien quiere charlar sobre el tema / quedar y charlar sobre JS (todo el mundo es bien venido :) enviadme un correo a david@starriser.com o contestad en este post y hablamos!
26/10/2014 10:53
Mira, te comento!
Desde mi conocimiento, tienes varias opciones. Pero creo que el más conveniente podría ser usar MeteorJS y usar los datos que este te provea para alimentar tus colecciones de "enemigos", "planetas", etc del juego.
Otra opción en caso de que no queráis cambiar totalmente el backend es que os piquéis una buena librería que sea capaz de gestionar todas esas excepciones.
Un saludo y suerte con el proyecto