Ich habe vor einiger Zeit den Versuch gestartet nur mit Hilfe von
SFML,
Box2D und
RapidJson einen
2D TopDown Shooter mit Mehrspieler Unterstützung zu programmieren.
Ich habe daraus versucht eine Engine zusammenzubasteln - was generell auch funktioniert hat
- habe jedoch nach und nach gemerkt, dass Ich nicht alles was Ich brauchte in absehbarer Zeit zu meiner Zufriedenheit fertig machen konnte. Ich würde gerne einen neuen Versuch starten und mich dabei mehr darauf konzentrieren das eigentliche Spiel als eine Engine zu entwickeln
.
Ich bin mittlerweile der Meinung, dass man schon vorhandenes doch auch nutzen sollte, gerade wenn man dasselbe selbst nur in schlechterer Ausfürhrung/Qualität zu Stande bringt (Das wurde mir damals mehr als einmal gesagt aber der beste weg war es, es selbst herauszufinden
.
Aus diesem Grund bin Ich nun auf der Suche nach einer Engine / einem Framework / einer Biliothek die mir einiges mehr an Arbeit abnimmt, als einfach nur SFML und Box2D.
Das wäre idealerweise unter anderem:
-
2D-Grafik inklusive Animationen
-
Das Laden von Maps
-
Das Laden von Einstellungs-/Konfigurations-Dateien
-
Scripting support für die AI (weniger wichtig)
-
2D-Physik inklusive Kollision und vielleicht Raycasting
-
Netzwerk-Support (Hierfür würde es sich vielleicht lohnen eine extra Bibliothek wie zb. ENet zu verwenden die ein verlässliches UDP-Protokoll implementiert...)
-
GUI
-
Input sowohl Maus als auch Tastatur
-
Ich würde gerne Hauptsächlich in C++ programmieren
Nach dem Ich den gestrigen Tag mit Googlen verbracht habe bin Ich unteranderem auf
Torque2D,
Angel2D,
Oxygine und
Polycode gestoßen.
Es würde mich sehr freuen wenn mich jemand dabei unterstützen könnte herauszufinden welche Engine/Framework/Bibliothek am besten zu meinen Anforderung passt oder generell seine Erfahrungen mit einzelnen Engines/Frameworks/Bibliotheken mit mir teilt
Ich bevorzuge nach meiner Recherche
Angel2D und eine 3rd-Party Bibliothek wie
ENet für Networking zu verwenden.
Soweit meine Gedanken zu den von mir gennanten Engines/Frameworks/Bibliotheken
Polycode:
Erschien mir auf den ersten Blick perfekt, es integriert Box2D, hat eine eigene GUI, skeletal Animations, laden von Konfigurations-/Map-Dateien(soweit Ich weiß), und implementiert ein reliable UDP-Protokoll.
Jedoch findet man kaum Tutorials, nur eine sehr rudimentäre Dokumentation und mir ist zweifelhaft ob es immer noch aktiv entwickelt wird und in was für einem Zustand es sich befindet.
Vielleicht hat ja jemand Erfahrungen damit gemacht oder weiß näheres darüber. (Mein Versuch es zu testen ist an mehreren LinkerFehlern gescheitert(sehr wahrscheinlich ein Anwendungsfehler von mir
dank mangelnder Dokumentation))
Torque2D:
Soweit Ich verstehe basiert es Hauptsächlich auf TorqueScript und bietet aus meiner Sicht keine Vorteile gegenüber Angel2D.
Oxygine:
Hat keinen eingebauten 2D-Physik support und erscheint mir generell zu low-level/rudimentär(Mir fällt kein besseres Wort ein).
Angel2D:
Unterstützt Animationen, integriert Box2D und das Laden von Level-Dateien. Ich kann leider nicht beurteilen wie kompliziert es ist daran Netzwerk support anzubinden und Box2d dann zu synchronisiren, dennoch scheint es mir genrell die beste Lösung.
EDIT: Habe gerade ClanLib entdeckt, was angeblich über interessante Netzwer-Features verfügt. Kann mir jemand sagen ob ClanLib 2D-Physik beherrscht?
Ich bin natürlich für neue Vorschläge an Engines/Frameworks/Bibliotheken offen wenn sie besser zu meinen Anforderungen passen, Ich würde gerne einfach ein paar Einschätzungen sammeln bevor Ich den neuen Versuch starte
Ich weiß natürlich dass Ich mir ziemlich viel vornehme - möglicherweise zu viel - denke jedoch dass es solange es mir Spaß macht und Ich etwas dabei lerne nicht unbedingt etwas schlechtes ist