Prototipos de juegos “Model Driven”

8

¿Hay algún libs / framework / sistema conocido que permita crear un prototipo de juego basado en un "modelo" definido de la mecánica del juego?

Piense en todos esos juegos de match 3, estoy buscando "algo" que permita probar nuevos conjuntos de reglas en prototipos rápidos donde lidiar con la corrección / actualización de la pantalla en función del estado y la entrada / salida es solo secundaria y tener algo funcionando y interactivo es lo más importante para validar una idea ...

¿Existen tales herramientas? ¿Cuál sería su opinión sobre esto cuando se le pida que omita la mayor cantidad de codificación posible?

Para aclarar: no, NO estoy buscando ninguna magia. Lo que estoy buscando son herramientas que permitan concentrarse más en la "lógica" de un juego (al menos para juegos simples hasta el partido 3) y no tener que codificar todas las cosas de pantalla / entrada / interfaz de usuario, por lo tanto, la denominación "dirigida por el modelo". ..

pointernil
fuente
1
Si estás escribiendo reglas formales del juego, estás codificando. Es posible que esté codificando en un lenguaje de nivel superior, pero está codificando. Si desea cierta flexibilidad, ese código será "difícil" de escribir, en el sentido de que tendrá que tomar decisiones de diseño arquitectónico y de juego difíciles, y probablemente a menudo equivocadas. Pensar en un diseño es fundamentalmente desafiante, y no hay forma de evitarlo. No hay bala de plata.
(-1 y vota para cerrar porque esta es otra solicitud para el botón mágico "hacer mi juego".)
Para aclarar: no, NO estoy buscando ninguna magia. Lo que estoy buscando son herramientas que permiten a concentrarse más en la "lógica" de un juego y no tener que codificar toda la pantalla / entrada / ui cosas de este modo el "modelo impulsado por la" denominación ...
pointernil
@ Joe: observe la restricción a algunos conjuntos de reglas simples para los juegos de Match 3 ... la codificación de las reglas allí es seguramente de varios niveles de complejidad MÁS BAJOS de los necesarios, tal vez en otros tipos de juegos ...
pointernil
1
Entonces, ¿cómo sería esta API? ¿Puede hacer algo más que Bejeweled? ¿Algo más que Bejeweled con un número variable de colores? Oh, ¿quieres un poco de modelado temporal allí también? De repente, es un lenguaje de programación. No hay parte de un lenguaje de alto nivel como Python o Lua que pueda eliminar y facilitar dicho desarrollo. Lo que estás pidiendo no es "no codificar", es pedirle a alguien que ya haya creado una API que abstraiga todo el espacio de diseño para ti, y eso es pedir magia.

Respuestas:

10

La respuesta corta es, no creo que ese tipo de cosas exista.

La respuesta larga es que estás en el camino correcto pensando en términos de abstraer las reglas del juego de la pantalla del juego. Para algunas ideas, incluso debería ser capaz de crear un juego basado en texto, donde en lugar de hacer gráficos de fantasía, el juego simplemente usa texto para describir lo que está sucediendo. Ese tipo de enfoque te permite concentrarte en las reglas del juego. Una vez que te gustan las reglas del juego, puedes decidir qué hacer con la pantalla.

Tim Holt
fuente
1
Varias veces hice exactamente lo que sugieres con la creación de prototipos en el texto. Si el juego está basado en turnos, entonces tiene sentido construir la lógica del juego con la salida de la consola en lugar de molestarse con el "arte del programador".
jhocking
3

Probablemente esta no sea la respuesta que está buscando, pero recomendaría probar algo como Paper Prototyping para probar este tipo de reglas. Para un partido 3 no debería ser demasiado difícil crear los diferentes elementos del juego a partir del papel y jugar a mano.

Alex Schearer
fuente
1

Lo más parecido que encontrarás a algo así será uno de los motores de juegos disponibles. Game Salad es bueno para aquellos que no quiero codificar en situaciones. Hay opciones de codificación baja como el creador de juegos. A partir de ahí, algo como la unidad UDK o Panda3d será tu mejor opción, pero requieren un buen trabajo para llegar al punto del que estás hablando.

metal de piedra
fuente
¿alguna opción similar que no sea de Apple?
pointernil
@pointernil Como programador, realmente no sigo el espacio de las herramientas que no son de programación. Sé sobre todo de ensalada de caza porque un amigo mío está detrás de ella. Dado que el juego que quieres hacer es bastante simple, puedes considerar mirar al inventor de la aplicación de Google. No está estrictamente relacionado con el juego, pero uno de sus primeros ejemplos es golpear a un topo. También dale una mirada seria al creador del juego, también tiene una opción de arrastrar y soltar.
stonemetal
0

Básicamente: estás haciendo una pregunta sobre cómo descomponer la interfaz de usuario de la lógica del juego.

Para hacer eso, debes abstraer las cosas. La programación orientada a objetos ayuda con eso. Más específicamente: el patrón MVC es lo que estás buscando. Combinado con un rico modelo de dominio (la mecánica de su juego) que es capaz de interpretar el llamado DSL , podría lograr su objetivo.

Arnis Lapsa
fuente
0

Me gustaría ver un marco como GeekGameBoard . Una vez que descubres cómo escribir tu código, puedes implementar rápidamente un nuevo juego de mesa. La biblioteca resume muchas de las mecánicas, permitiéndole simplemente escribir las reglas para qué pieza se mueve dónde, captura, etc. Pude crear un prototipo de un nuevo juego de mesa de principio a fin en aproximadamente una hora (el juego no fue No es muy divertido ...).

Para otros tipos de juegos, necesitarías hacer un trabajo inicial similar.

Daniel Blezek
fuente
0

Para la creación de prototipos sin código, recomiendo GameMaker en PC y GameSalad en Mac. Sin embargo, no se deje engañar pensando que está haciendo el resultado final; El único juego lanzado con esas herramientas que disfruté fue Spelunky.

jhocking
fuente