Consiglia un motore di gioco con GUI 2D per un gioco di strategia ad alta intensità di UI [chiuso]


11

Sì, questa è un'altra richiesta consigliata del motore di gioco; la 'svolta' è che sto facendo un gioco di strategia e, oltre a sprite, animazione e astrazione dei controlli di input, deve avere il supporto della GUI per controlli piuttosto complessi, come barre di scorrimento, caselle di selezione, pulsanti e così via.

Ho provato XNA con varie librerie GUI, ma il problema è che quelle librerie non sono state "completate". Mi sto solo chiedendo se ci sono altri motori che posso guardare?

Risposte:


5

libRocket recentemente è diventato open source.

Non è un motore di gioco. Si descrivono come middleware. Ma la libreria è piuttosto ben fatta, con particolare attenzione alla rimozione del codice del boilerplate dal design della tua GUI. È basato su XHTML e CSS, quindi se hai già familiarità con lo sviluppo del Web potrebbe essere perfetto.

Ma non è un motore di gioco che dovrai comunque risolvere questi problemi separatamente. Potresti trovare una guida con questa domanda.
Motore di gioco 2D consigliato per la prototipazione


LibRocket esegue il rendering degli elementi della GUI o fornisce semplicemente una descrizione? Scusate se questa è una domanda stupida, ma l'elenco delle funzionalità non indica se esegue effettivamente il rendering.
Extrakun,

1
Utilizza un backend di rendering astratto. Spetta all'utente definire il proprio. Tuttavia, la directory samples ha un renderer concreto per Ogre3D, DirectX e OpenGL.
deft_code

2

Non conosco alcun motore di gioco gratuito fornito con una libreria UI a livello di Windows, ma CEGUI è una soluzione matura per coloro che usano OGRE .

Un'altra opzione sarebbe quella di utilizzare GTK + o il widget nativo della tua piattaforma impostato su Win32 / OS X e incorporare un contesto OpenGL all'interno di uno di quei widget. Queste sono generalmente le migliori "UI" se stai cercando un lungo elenco di funzionalità.

Se la tua piattaforma di destinazione è XNA, non troverai molto utile. Il punto di forza di XNA è la compatibilità multipiattaforma, il che significa che il controllo pesante del mouse non è una priorità per le persone che lo utilizzano.


A dire il vero, mi chiedevo di usare Qt 4.5, anche se vorrei scoprire se qualcuno ha qualche esperienza con lo skinning per renderlo simile a un ambiente di gioco o eseguirlo, per dire, SDL.
Extrakun,

CEGUI può anche essere usato direttamente in OpenGL e altri motori di rendering ...
Klaim

2

XPF è ancora all'inizio dello sviluppo, ma sta progredendo abbastanza rapidamente. Si basa vagamente su WPF e Silverlight, ma è sviluppato per XNA.


2

Bene, se non ti dispiace spostarti da C # a C ++ potresti dare un'occhiata a HGE . È un po 'vecchio ma è molto facile da usare ed estendere. Se sei disposto a cercare un po 'nei forum, ne troverai i port su DirectX 9 e forse OpenGL (è passato un po' di tempo). Di default non supporta cose come gli shader. Include suono e input, ma nessuna rilevazione fisica o di collisione. Per questo c'è sempre Bullet o Box2D. Per un gioco a turni o un semplice gioco in tempo reale che potrebbe non essere nemmeno necessario.

Per quanto riguarda la GUI, la sua GUI integrata è spazzatura, ma è possibile integrare CEGUI in essa. CEGUI è in realtà abbastanza facile da estendere a diversi sistemi di rendering, anche se lo skinning può essere ingombrante. L'implementazione per HGE è di due file e sono piuttosto brevi.

Clanlib potrebbe anche essere qualcosa che vuoi esaminare. Non l'ho usato personalmente, ma sembra essere abbastanza potente e include un componente GUI piuttosto semplice. Inoltre è sviluppato attivamente mentre HGE non è stato aggiornato per un paio d'anni.


2

Per quanto riguarda XNA, hai provato FlatRedBall in combinazione con Neoforce ?


Ho provato FlatRedBall, ma non ho sentito parlare di Neoforce. Lo verificherò! Al momento del check-out Neofroce: Purtroppo, come molti progetti XNA GUI, non vengono gestiti dai loro sviluppatori. Se solo Microsoft renderà la GUI parte del core XNA.
Extrakun,

Neoforce non ha più uno sviluppatore ma è gratuito per chiunque raccoglierlo e mantenerlo; p
Oskar Duveborn,


0

Se non ti dispiace fare alcuni controlli tu stesso e desideri avere molti controlli personalizzati e guarda controlla Scaleform . È uno dei principali nell'interfaccia utente dei menu dei giochi.

Potresti pensarlo come un Flash player nel gioco.


-1

È possibile prendere in considerazione il metodo GUI in modalità immediata disponibile in Unity 3D . Unity 3D è un motore di gioco eccezionale che fa molto bene 3-D, 2-D e GUI tra le altre cose.


Come ho accennato in un'altra domanda sull'interfaccia utente, non ho mai visto IMGUI scalare fino a più finestre, caselle combinate e controlli elenco a colonne. Colpisci muri di efficienza e muri di progettazione API abbastanza rapidamente. L'attuale libreria GUI di Unity sicuramente non si adatta bene, in termini di prestazioni o funzionalità.

Potrebbe essere interessante notare che la GUI di Unity è implementata usando il sistema IMGUI che forniscono.
Jason Kozak,

@Jason: questa è una mezza verità. L'editor Unity ( unity3d.com/support/documentation/ScriptReference/… ) fornisce molti più widget primitivi rispetto al normale GUILayout. Vedrai anche che quei widget sono notevolmente sottodimensionati rispetto a una normale libreria GUI. E francamente se un gioco avesse un'interfaccia utente simile a quella dell'editor di Unity - in termini di reattività, comportamento di messa a fuoco, regole di attivazione, ecc., Non riferendosi all'aspetto - lo oderei.

@Joe Un punto giusto se stai sviluppando giochi in Unity; la mia intenzione era solo quella di indicare un esempio di un IMGUI più complesso in azione. Poiché Unity è gratuito, è abbastanza facile da scaricare e valutare.
Jason Kozak,

La GUI di IMHO Unity3D deve essere aumentata con alcune librerie di terze parti se si desidera eseguire la programmazione OOP, come GUIX. Tuttavia, Unity3D ha un fastidioso bug in cui è possibile fare clic sugli elementi dell'interfaccia utente sui collider collegati alle entità. Questo propagandato per essere risolto nella prossima versione. Tuttavia, sto pensando al 2D al momento, e fare 2D in Unity3D richiede alcuni cerchi per saltare. Altrimenti è un buon motore rapido per roba 3D.
Extrakun,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.