Hilfe, was soll ich tun?
Hallo,
Momentan möchte ich ein neues Projekt angehen. Ein Spiel zu programmieren in C++. (Ich kenne schon weitere Sprachen und möchte deshalb mal etwas schwierigeres angehen) Ich hab er vor mit einer Game Engine zu vereinfachen, weil man sich da Haufen Arbeit spart. Mein Favorit ist Godot. (Es ist einfach zu bedienen, nimmt nicht viel Speicher mit, kostenlos, simpel) Allerdings muss ich dafür entweder GdScript verwenden oder C#, aber das kommt für mich nicht infrage. Allerdings möchte ich auch keine andere Game Engine (z.b Unity) benutzen, weil diese wesentlich komplexer sind (besonders Unity) verwirrend, auf Dauer Geld kosten. Sollte ich lieber C# lernen? , eine andere Engine benutzen?
Ansonsten Danke für jede hilfreiche Antwort :)
2 Antworten
Also die Unreal Engine ist im Moment ganz hoch im Kurs. Ich denke, dass du am Ende entscheiden musst, welchen Weg du gehen willst.
Möchtest du bei der aktuellen Sprache bleiben und eine kompliziertere kostenpflichtige Engine verwenden oder möchtest du eine neue Sprache lernen und eine einfache kostenlose Engine nehmen. Ich denke damals wo ich angefangen habe mit dem Programmieren, hätte ich die zweite Möglichkeit genommen einfach weil ich nicht wirklich viel Geld zur Verfügung hatte. Oder ich hätte die Unreal Engine (läuft mit C++) genommen einfach weil sie viel mehr bietet
Sagen wir es so, ich habe mit der Unreal Engine nie gearbeitet, sondern nur mit dem UEFN der jetzt neu von UE rausgekommen ist. Es war am Anfang schwer sich dort einzuarbeiten, aber das lag vor allem daran, dass UEFN komplett neu ist. Die UE gibt es ja schon länger und es gibt viele Hilfen. Deswegen würde ich sagen man kann damit zum Anfang gut arbeiten. Ich finde auch das HUD schöner als bei anderen
Ob man die Sprache importieren muss kann ich dir nicht genau sagen, bei UEFN musste man es nicht (UEFN hat aber Verse und nicht C++, soweit ich weiß kann man aber C++ bei UE benutzen). Ob es bei UE genauso ist weiß ich nicht.
Ja man kann im 2D Bereich damit arbeiten, da gibt es besonders viele Tutorials c;
Godot offers four gameplay programming languages: GDScript, C#, and, via its GDExtension technology, C and C++. (...)
Ein Mix kann allerdings sinnvoll sein, um sich Aufwand zu sparen / Projekte einfacher zu halten. So lassen sich Logiken mit geringerer Komplexität schnell mit GDScript umsetzen, für anderes nimmt man dann eben C++.
(...) weil diese wesentlich komplexer sind (besonders Unity) verwirrend, auf Dauer Geld kosten (...)
Es gibt eine wirklich große Vielzahl an Game Engines. Darunter fallen auch viele kostenlose Exemplare oder solche mit einem spezifischen Lizenzmodell, welches bspw. eine Gewinnbeteiligung erst ab einer bestimmten Erwerbshöhe fordert.
Ebenso sind viele Engines individuell im Aufbau und entsprechend einer bestimmten Zielgruppe ausgerichtet. So können einige schwieriger bedienbar sein als Godot, andere wiederum um einiges einfacher.
Sollte ich lieber C# lernen? , eine andere Engine benutzen?
Für den Fall, dass dir Godot doch nicht zusagen sollte, gibt es in Kombination mit C++ für das Skripting zwar noch ein paar Alternativen (z.B. die G3D Innovation Engine, Irrlicht, die Lumix Engine, Ogre, Unigine oder die Unreal Engine), doch das sind nicht unbedingt einfach erlernbare Vertreter. Die Unreal Engine wäre an der Stelle die populärste Lösung, zu der du verglichen mit den anderen genannten Optionen auch mehr Support und Lernmaterial finden solltest. Genauso wie bei Godot empfiehlt sich ein Mix aus C++ für komplexere Angelegenheiten und Blueprints für einfache.
In der professionellen Spieleentwicklung versucht man üblicherweise, einfachere Programmiersprachen für die Logikimplementation einzusetzen, da man sich in diesem Bereich nicht zu sehr durch technische Begrenzungen/Regeln ablenken lassen möchte. Vor allem bei weiter entwickelten Engines wirst du daher eher auf eine Schnittstelle für C#, Lua, an C/JavaScript/Python angelehnte oder visuelle Programmiersprachen (Scratch, Snap!, nodebasierte Systeme) stoßen. C/C++ hingegen dient nur der Implementation und funktionalen Erweiterung der Engine selbst.
Ich würde dir dahingehend empfehlen, erst einmal zu analysieren, was du nun konkret für dein geplantes Projekt benötigst und auf Grundlage dessen nach einer Engine zu suchen. Im Anschluss kannst du schauen, was du für die Bedienung der Engine benötigst. Entweder gibt es irgendeine proprietär entwickelte Schnittstelle (eben so wie GDScript bei Godot), die sich leicht erlernen lässt oder es wird eine Programmiersprache benutzt (C#, Lua, Java, ...), für die du zunächst etwas mehr Lernaufwand investieren solltest, bevor du mit deinem Projekt beginnst.
Ist die Game Engine benutzerfreundlich auch für Anfänger in dem Bereich? Und muss man die Sprache importieren? Ist es auch für 2d geeignet? Danke für deine Antwort