Kurzvergleich Tooling Game Development

Ich beschäftige mich seit einiger Zeit mit Spieleentwicklung. Ich habe mir eine ganze Menge Engines und Tools angesehen und pendele mich langsam bei meinem Favoriten ein. Eine ganz lose Zusammenstellung der Dinge, die ich mir angeschaut habe und warum ich Sie [nicht] nehmen werde.

Unity3D

Ist ein Platzhirsch im Indie und kommerziellen Bereich. Vorteil ist man kann aus einer Basis heraus alle möglichen Plattformen generieren. Nachteil sind die unterstützen Sprachen. Klar ich könnte C# lernen, muss das vielleicht ohnehin ehe bald, aber will ich das für Spiele in meiner Freizeit? Und noch viel weniger will ich Java-Script nutzen, um eine KI zu programmieren – da sehe ich ja schon die jobseitige Kompensation als Schmerzensgeld an?

Das Killerargument für mich ist aber – und das betrifft auch die ganzen anderen visuellen Ungebunden, es ist nicht für code-zentrierte Entwickler gemacht. Wie ich Flash nie verstanden habe, aber sehr wohl gute Anwendungen in Flex (Flash für Entwickler) geschrieben habe so verstehe ich auch Unity3d nicht. Lauter Assets die man irgendwohin ziehen muss und mit 100 von Checkboxen bearbeitet. WTF?!?

Unreal Enginge

Hier gilt das gleiche wie bei Unity3d. C ist nicht so meine Stärke und wieder dieses Visuelle. Warum schreibt Ihr nicht Code, der ist wartbarer und transparenter. Ich habe zwei Monate UR im Test gehabt, es ist grafisch brilliant aber wieder nur visuelle Metaphern für Dinge, die man besser mit Code ausdrückt. Wieso nicht ein Objekt instanziieren, ein paar Properties setzen und die Methoden dazu laufen lassen. Alleine die Vorteile die sich durch Versionsverwaltung und Diffs aus Quellcode Ansätzen ergeben schlagen das grafische Gedöns.

LibGdx

War lange Zeit mein Favorit, weil in Java programmiert wird. Aber es gibt jede Menge Abhängigkeiten zu nicht Java Legacy Code und ein Projekt muss so interessant sein, dass man auch mal etwas dazu beiträgt. Diese Chance habe ich nicht gesehen und ich ganz persönlich mag Projekte nicht, die primär an einem Benevolent Dictator hängen – so gut der auch sein mag. Der iOS Export ist auch ein wenig arg experimentell.

iOS SpriteKit [mit KoboldKit]

Apples offizielle API zur 2D Spieleerstellung ist sehr gut gelungen und letztes Jahr in Berlin auf dem Apple Game Developer Day gab es jede Menge coole Sachen zu sehen. Viele Dinge gehen aber noch nicht: Etwa ohne größere Aufwände TileMaps einzulesen. Ja klar es gibt KoboldKit, aber die Kollegen müssen erst sich sicher werden was sie eigentlich wollen. Ich habe das Projekt eine zeitlang finanziell unterstützt aber mir ist nicht mehr möglich zu sagen was das eigentliche Projekt ist und was das Ziel ist.

Vielleicht bringt Apple ja an der WWDC ein paar neue APIs, dann würde der Bereich wieder interessanter für mich. Last but no least kann ich zwar Objective C schreiben, ich mach es aber nicht so gerne wie Java Code schreiben!

iOS Cocos2D

Der Funktionsumfang und die Tools bis hin zur Portierung auf Android sind hier ganz große Klasse. Es gibt eine Riesen Community die hilft und die API sind sehr ordentlich. Leider auch wieder C / Objective C, eine Sprache mit der ich nicht meine Freizeit verbringen will.

JMonkeyEngine 3

Das wird wohl nun das Mittel der Wahl. Es ist völlig code-zentriert alles in Java geschrieben, man kann Groovy zum Skripten nehmen, es gibt visuelle Editoren und Vorschauen, um nicht völlig blind entwickeln zu müssen und es ist vollständig OpenSource. Im weiteren integriert es Blender hervorragend. Die API ist exzellent dokumentiert es gibt jede Menge Tutorials und Doku. Das Projekt ist so attraktiv und spricht mich so an, mich auch bei der Weiterentwicklung der Engine zu beteiligen. Man muss ja nicht nur Spiele Entwickeln, Gameengine Entwicklung ist sicher auch interessant. Leider ist die Unterstützung für Android nur halbgar und die für iOS noch in der Mache. Aber ich muss ja nicht kommerziell Spiele entwickeln und so wähle ich Tool und Möglichkeiten nach meinen Vorlieben und nicht den Marktgegebenheit – sehr befreiend!

Und ja ich weiss, es gibt noch ein paar andere Sachen, aber die habe ich erst gar nicht berücksichtigt, weil sie nicht unter OS X liefen oder mir keine Vorteile gegenüber den hier getesteten zu lieferten. Gibt es Meinungen Erfahrungen von Euch? Dann postet sie doch bitte in die Kommentare – Danke!

2 Responses to Kurzvergleich Tooling Game Development

  1. Ingmar Drewing 27. April 2014 at 10:20 #

    Schöner Überblick! 🙂
    Die Unity ist meines Erachtens schon ganz brauchbar. Seit der Version 4 mit dem freien built-in NavMesh und dem Mecanim-System imho noch mal deutlich besser geworden für die Erstellung von Prototypen. Das Stealth-Tutorial zeigt ganz schön, was da z.Zt. geht:
    https://unity3d.com/learn/tutorials/projects/stealth
    Kopfschmerzen gibt's erst, wenn man ernsthaft an den Code muss – C# ist imho ein Krampf und das, was die JavaScript nennen, hat relativ wenig damit zu tun, was man aus dem Browser oder von Node.js her kennt.
    Für die Zukunft bin ich auf die HTML5-Publishing-Option in der Unity 5 gespannt 🙂

  2. Markus Wiegand 10. Mai 2014 at 04:11 #

    Ja, schöne Zusammenfassung, Reto :-). Ich wusste gar nicht, dass du dich mit Spieleentwicklung beschäftigst. Wollte ich auch schon seit Ewigkeiten mal wieder tun – vielleicht schaue ich mir die JMonkeyEngine ja mal an. Unity kann sicher was, aber diese Grafik-zentrierten Oberflächen sind mir auch etwas suspekt. Bis zu den Skripten bin ich dort beim kurzen Reinschnuppern nicht mal vorgedrungen…

Schreibe einen Kommentar

Powered by WordPress. Designed by WooThemes