Empfehlen Sie eine Spiel-Engine mit 2D-GUI für ein UI-intensives Strategiespiel [geschlossen]


11

Ja, dies ist eine weitere Empfehlung für eine Game-Engine. Der "Twist" ist, dass ich ein Strategiespiel mache und zusätzlich zu Sprites, Animation und Abstraktion von Eingabesteuerelementen eine GUI-Unterstützung für ziemlich komplexe Steuerelemente wie Bildlaufleisten, Auswahlfelder, Schaltflächen usw. haben muss.

Ich habe XNA mit verschiedenen GUI-Bibliotheken ausprobiert, aber das Problem ist, dass diese Bibliotheken nicht "abgeschlossen" wurden. Ich frage mich nur, ob es andere Motoren gibt, die ich mir ansehen kann.

Antworten:


5

libRocket ist kürzlich Open Source geworden.

Es ist keine Spiel-Engine. Sie bezeichnen sich als Middleware. Aber die Bibliothek ist ziemlich gut gemacht, mit dem Fokus darauf, Boilerplate-Code aus Ihrem GUI-Design zu entfernen. Es basiert auf XHTML und CSS. Wenn Sie also bereits mit der Webentwicklung vertraut sind, ist dies möglicherweise eine gute Lösung.

Es ist jedoch keine Spiel-Engine, die Sie noch separat lösen müssen. Möglicherweise finden Sie bei dieser Frage eine Anleitung.
Empfohlene 2D-Game-Engine für das Prototyping


Rendert libRocket die GUI-Elemente oder gibt es nur eine Beschreibung? Es tut uns leid, wenn dies eine dumme Frage ist, aber in der Funktionsliste wird nicht wirklich angegeben, ob sie tatsächlich gerendert wird.
Extrakun

1
Es wird ein abstraktes Rendering-Backend verwendet. Es ist Sache des Benutzers, seine eigenen zu definieren. Das Beispielverzeichnis verfügt jedoch über einen konkreten Renderer für Ogre3D, DirectX und OpenGL.
Deft_code

2

Ich kenne keine kostenlosen Spiele-Engines, die mit einer UI-Bibliothek auf Windows-Ebene geliefert werden , aber CEGUI ist eine ausgereifte Lösung für Benutzer von OGRE .

Eine andere Möglichkeit wäre, GTK + oder das native Winget Ihrer Plattform unter Win32 / OS X zu verwenden und einen OpenGL-Kontext in eines dieser Widgets einzubetten. Dies sind im Allgemeinen die "besten" Benutzeroberflächen, wenn Sie nach einer langen Funktionsliste suchen.

Wenn Ihre Zielplattform XNA ist, werden Sie nicht viel Nützliches finden. Das Hauptverkaufsargument von XNA ist die plattformübergreifende Kompatibilität, was bedeutet, dass eine starke Maussteuerung für Benutzer keine Priorität hat.


Ich habe mich ehrlich gesagt über die Verwendung von Qt 4.5 gewundert, obwohl ich gerne herausfinden möchte, ob jemand Erfahrung damit hat, es so zu gestalten, dass es wie eine In-Game-Umgebung ist, oder es zusätzlich zu SDL auszuführen.
Extrakun

CEGUI kann auch direkt in OpenGL und anderen Rendering-Engines verwendet werden ...
Klaim

2

XPF befindet sich noch in einem frühen Entwicklungsstadium, schreitet aber ziemlich schnell voran. Es basiert lose auf WPF und Silverlight, wurde aber für XNA entwickelt.


2

Wenn es Ihnen nichts ausmacht, von C # zu C ++ zu wechseln, können Sie sich HGE ansehen . Es ist ein wenig altmodisch, aber sehr einfach zu bedienen und zu erweitern. Wenn Sie bereit sind, die Foren ein wenig zu durchsuchen, finden Sie Ports für DirectX 9 und möglicherweise OpenGL (es ist eine Weile her). Standardmäßig werden Shader nicht unterstützt. Es enthält zwar Ton und Eingabe, jedoch keine Physik- oder Kollisionserkennung. Dafür gibt es immer Bullet oder Box2D. Für ein rundenbasiertes Spiel oder ein einfaches Echtzeitspiel, das möglicherweise nicht einmal erforderlich ist.

Was die GUI angeht, ist die eingebaute GUI Müll, aber Sie können CEGUI in sie integrieren. CEGUI lässt sich eigentlich recht einfach auf verschiedene Rendering-Systeme erweitern, auch wenn das Skinnen umständlich sein kann. Die Implementierung für HGE besteht aus zwei Dateien, die ziemlich kurz sind.

Clanlib kann auch etwas sein, das Sie untersuchen möchten. Ich habe es nicht persönlich benutzt, aber es scheint ziemlich mächtig zu sein und enthält eine ziemlich einfache GUI-Komponente. Es wird auch aktiv entwickelt, während HGE seit einigen Jahren nicht mehr aktualisiert wurde.


2

Haben Sie für XNA FlatRedBall in Kombination mit Neoforce ausprobiert ?


Ich habe FlatRedBall ausprobiert, aber noch nichts von Neoforce gehört. Werde es ausprobieren! Beim Auschecken von Neofroce: Leider werden sie wie viele XNA-GUI-Projekte nicht von ihren Entwicklern gewartet. Wenn nur Microsoft die GUI zu einem Teil des XNA-Kerns machen würde.
Extrakun

Neoforce hat keinen Entwickler mehr, aber es ist für jedermann kostenlos, es abzuholen und zu warten; p
Oskar Duveborn

2

Sie könnten Squid ausprobieren. Es ist ein motorunabhängiges GUI SDK für .net (geschrieben von mir: P). Hier drüben : http://www.ionstar.org/?page_id=4


Ich wünschte, es gibt eine Möglichkeit, zwei richtige Antworten zu markieren
Extrakun

0

Wenn Sie nichts dagegen haben einige Steuerelemente machen Sie sich und Whish viele benutzerdefinierte Steuerelemente haben und sieht Besuche Scaleform . Es ist eines der führenden Benutzeroberflächen für Spielemenüs.

Sie können sich das wie einen Flash-Player im Spiel vorstellen.


-1

Sie können die GUI- Methode im Sofortmodus in Betracht ziehen , die in Unity 3D verfügbar ist . Unity 3D ist eine großartige Spiel-Engine, die unter anderem 3D-, 2D- und GUI-Funktionen sehr gut unterstützt.


Wie ich in einer anderen Frage zur Benutzeroberfläche erwähnt habe, wurde IMGUI noch nie auf mehrere Fenster, Kombinationsfelder und Steuerelemente für Spaltenlisten skaliert. Sie treffen ziemlich schnell auf Effizienzwände und API-Designwände. Die aktuelle GUI-Bibliothek von Unity lässt sich in Bezug auf Leistung und Funktionen definitiv nicht gut skalieren.

Es könnte interessant sein festzustellen, dass die Unity-eigene GUI mithilfe des von ihnen bereitgestellten IMGUI-Systems implementiert wird.
Jason Kozak

@ Jason: Das ist eine halbe Wahrheit. Der Unity-Editor ( entity3d.com/support/documentation/ScriptReference/… ) bietet viel mehr primitive Widgets als das normale GUILayout. Sie werden auch feststellen, dass diese Widgets im Vergleich zu einer normalen GUI-Bibliothek stark unterlastet sind. Und ehrlich gesagt, wenn ein Spiel eine Benutzeroberfläche hätte, die sich wie die des Unity-Editors anfühlt - in Bezug auf Reaktionsfähigkeit, Fokusverhalten, Aktivierungsregeln usw., ohne sich auf das Aussehen zu beziehen - würde ich es hassen.

@ Joe Ein fairer Punkt, wenn Sie Spiele in Unity entwickeln; Ich wollte jedoch nur ein Beispiel für eine komplexere IMGUI in Aktion aufzeigen. Da Unity kostenlos ist, ist es recht einfach herunterzuladen und zu evaluieren.
Jason Kozak

Die GUI von IMHO Unity3D muss um einige Bibliotheken von Drittanbietern erweitert werden, wenn Sie OOP-Programme wie GUIX programmieren möchten. Unity3D hat jedoch einen nervigen Fehler, bei dem Sie durch UI-Elemente auf Collider klicken können, die an Entitäten angehängt sind. Dies soll in der nächsten Version behoben werden. Im Moment denke ich jedoch an 2D, und für 2D in Unity3D sind einige Rahmen erforderlich, um durchzuspringen. Es ist ansonsten eine gute schnelle Engine für 3D-Sachen.
Extrakun
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.