Recomendar un motor de juego con GUI 2D para un juego de estrategia intensivo en UI [cerrado]

11

Sí, esta es otra solicitud de motor de juego recomendada; el 'giro' es que estoy haciendo un juego de estrategia y además de sprites, animación y abstracción de controles de entrada, debe tener soporte de GUI para controles bastante complejos, como barras de desplazamiento, cuadros de selección, botones y demás.

He intentado XNA con varias bibliotecas GUI, pero el problema es que esas bibliotecas no se 'completaron'. Me pregunto si hay otros motores que puedo mirar.

Extrakun
fuente

Respuestas:

5

libRocket recientemente fue de código abierto.

No es un motor de juego. Se describen a sí mismos como middleware. Pero la biblioteca está bastante bien hecha, centrándose en eliminar el código repetitivo de su diseño GUI. Se basa en XHTML y CSS, por lo que si ya está familiarizado con el desarrollo web, podría ser una buena opción.

Pero no es un motor de juego que aún necesitarás para resolver esos problemas por separado. Puede encontrar alguna orientación con esta pregunta.
Motor de juego 2D recomendado para creación de prototipos

código_deft
fuente
¿LibRocket representa los elementos de la GUI o solo proporciona una descripción? Lo sentimos si esta es una pregunta tonta, pero la lista de características realmente no indica si realmente se procesa.
Extrakun
1
Utiliza un backend de representación abstracta. Depende del usuario definir los suyos. Sin embargo, el directorio de muestras tiene un procesador concreto para Ogre3D, DirectX y OpenGL.
deft_code
2

No conozco ningún motor de juegos gratuito que venga con una biblioteca de interfaz de usuario de nivel de Windows, pero CEGUI es una solución madura para aquellos que usan OGRE .

Otra opción sería utilizar GTK + o el conjunto de widgets nativos de su plataforma en Win32 / OS X, e incrustar un contexto OpenGL dentro de uno de esos widgets. En general, esas son las "mejores" interfaces de usuario si está buscando una larga lista de funciones.

Si su plataforma de destino es XNA, no encontrará mucha utilidad. El punto de venta clave de XNA es la compatibilidad multiplataforma, lo que significa que el control pesado del mouse no es una prioridad para las personas que lo usan.


fuente
Para ser honesto, me he estado preguntando acerca del uso de Qt 4.5, aunque me gustaría saber si alguien tiene alguna experiencia en desollarlo para que sea como un entorno en el juego, o ejecutarlo además de, por ejemplo, SDL.
Extrakun
CEGUI también se puede usar directamente en OpenGL y otros motores de renderizado ...
Klaim
2

XPF aún se encuentra en una etapa temprana de desarrollo, pero está progresando bastante rápido. Se basa libremente en WPF y Silverlight, pero está desarrollado para XNA.

Mike Strobel
fuente
2

Bueno, si no le importa alejarse de C # a C ++, puede consultar HGE . Es un poco viejo pero es muy fácil de usar y extender. Si está dispuesto a buscar un poco en los foros, encontrará puertos para DirectX 9 y quizás OpenGL (ha pasado un tiempo). Por defecto, no admite cosas como sombreadores. Incluye sonido y entrada, pero no física ni detección de colisión. Para eso siempre hay Bullet o Box2D. Para un juego por turnos o un juego simple en tiempo real que puede que ni siquiera sea necesario.

En lo que respecta a la GUI, su GUI incorporada es basura, pero puede integrar CEGUI en ella. CEGUI es en realidad bastante fácil de extender a diferentes sistemas de renderizado, incluso si el pelado puede ser engorroso. La implementación de HGE es de dos archivos y son bastante cortos.

Clanlib también puede ser algo que desee analizar. No lo he usado personalmente, pero parece ser bastante poderoso e incluye un componente GUI bastante sencillo. También se desarrolla activamente, mientras que HGE no se ha actualizado durante un par de años.

Owen
fuente
2

En cuanto a XNA, ¿has probado FlatRedBall combinado con Neoforce ?

Oskar Duveborn
fuente
He probado FlatRedBall, pero no he oído hablar de Neoforce. Lo comprobará! Al revisar Neofroce: Por desgracia, como muchos proyectos XNA GUI, sus desarrolladores no los mantienen. Si solo Microsoft hiciera GUI una parte del núcleo XNA.
Extrakun
Neoforce ya no tiene un desarrollador, pero es gratis para que cualquiera pueda recogerlo y mantenerlo; p
Oskar Duveborn
2

Podrías darle una oportunidad a Squid. Es un motor gui sdk independiente para .net (escrito por mí: P). Por aquí: http://www.ionstar.org/?page_id=4


fuente
Ojalá haya una manera de marcar dos respuestas correctas
Extrakun
0

Si no le importa hacer algunos controles usted mismo y desea tener muchos controles y diseños personalizados, consulte Scaleform . Es uno de los principales en la interfaz de usuario de menús de juegos.

Puedes pensarlo como un reproductor Flash en el juego.

Wernight
fuente
-1

Puede considerar el método de GUI en modo inmediato que está disponible en Unity 3D . Unity 3D es un motor de juego impresionante que funciona muy bien en 3-D, 2-D y GUI, entre otras cosas.

Wernight
fuente
Como mencioné en otra pregunta de UI, nunca he visto a IMGUI escalar a múltiples ventanas, cuadros combinados y controles de lista en columnas. Golpea paredes de eficiencia y paredes de diseño API con bastante rapidez. La biblioteca GUI actual de Unity definitivamente no escala bien, en rendimiento o características.
Puede ser interesante notar que la propia GUI de Unity se implementa utilizando el sistema IMGUI que proporcionan.
Jason Kozak
@ Jason: Eso es una verdad a medias. El editor de Unity ( unity3d.com/support/documentation/ScriptReference/… ) proporciona muchos más widgets primitivos que el GUILayout normal. También verá que esos widgets tienen poca potencia en comparación con una biblioteca GUI normal. Y, francamente, si un juego tuviera una interfaz de usuario que se sintiera como el editor de Unity, en términos de capacidad de respuesta, comportamiento de enfoque, reglas de activación, etc., sin referirse a la apariencia, lo odiaría.
@ Joe Un punto justo si estás desarrollando juegos en Unity; Sin embargo, mi intención era solo señalar un ejemplo de una IMGUI más compleja en acción. Dado que Unity es gratuito, es bastante fácil de descargar y evaluar.
Jason Kozak
La GUI de IMHO Unity3D tiene que ser aumentada con algunas bibliotecas de terceros si desea hacer programación OOP, como GUIX. Sin embargo, Unity3D tiene un error molesto donde puede hacer clic a través de elementos de la interfaz de usuario en colisionadores unidos a entidades. Esto pretendía solucionarse en la próxima versión. Sin embargo, estoy pensando en 2D en este momento, y hacer 2D en Unity3D requiere algunos aros para saltar. De lo contrario, es un buen motor rápido para material 3D.
Extrakun