Richtige Programmiersprache für die Spieleindustrie?

10 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Ich arbeite seit 5 Jahren in der Spielebranche. Ich erspare dir mal den 20 minütigen Vortrag darüber wieviel Mist du wirst machen müssen bevor du in dieser Branche Fuß gefasst hast und auch ein Gehalt bekommst wo du nicht verhungern musst. Nur soviel: bereite dich darauf vor dir ersten 2-3 Jahre nur ausgebeutet zu werden. 

Obwohl ich schon 5 Jahre dabei bin, habe ich noch an keinem einzigen erfolgreichen Spiel gearbeitet. Und das ist absolut normal in der Branche.

Nun zur Sprache: lern C++. Aus folgenden simplen Gründen:

- C++ ist quasi die Mutter aller Programmiersprachen. Ähnlich wie Latein bei romanischen Sprachen erleichtert die Kenntniss von C++ das erlernen anderer Sprachen massiv.

- Bei den meisten Sprachen wird das Speichermanagement und die Logik heute weggekapselt. Die Folge sind Horden von Programmierern die keinen blassen Schimmer davon haben wie man effizient und Speicherschonend programmiert. Eine Katastrophe in der Spieleentwicklung! Also: lern es gleich richtig!

- Je nachdem was du später machen willst, werden die unterschiedlichsten Sprachen zum Einsatz kommen (üblich in der Deutschen Branche sind im Moment C++, Java, C#, PHP, Objective-C und Swift). Alle diese Sprachen haben C als grobes Vorbild. Die Syntax ist häufig sehr ähnlich.

- Früher oder später hast du die Schnauze gestrichen voll von der Spielebranche. Dann wendest du dich professioneller Programmierung zu. Hier hast du dann mit C++ Wissen die besten Chancen ordentlich zu verdienen und schnell einen Job zu finden.

Für den Anfang empfehle ich erst mal die Sprache so zu lernen, ohne spezifischen Bezug zur Spieleentwicklung. Wenn du soweit bist (und wir reden da von 2-3 Jahren Erfahrung) schnapp dir ne Engine (z.B. Unreal) und mach Spiele! Du wirst für deine Bewerbung später Referenzen brauchen. Also Bau soviele spiele wie du kannst.

Leider wird in der Branche immer mehr Unity3D eingesetzt. Meiner persönlichen Meinung nach eines der schrecklichsten Stücke Software die es so gibt. Komplett unprofessionell. Aber leider auch ein guter Einstieg. Dort ist C# die Sprache der Wahl.

Ich hoffe ich konnte dir helfen. Zum Schluss noch eine Sache: Du musst in dieser Branche absoluter Idealist sein. Sonst hast du keine Chance. Und vergiss alle träume von Ruhm und Reichtum. In dieser Branche findest du so etwas nicht.

 

Woher ich das weiß:Berufserfahrung – Ich war 7 Jahre in der Spielebranche als Entwickler tätig

Hi!

Der beste Weg, dich auf eine Karriere in der Spieleindustrie vorzubereiten (worauf die Frage ja abzielt), ist selber Spiele zu entwickeln. Das kannst du jetzt schon, auch wenn du zum jetzigen Zeitpunkt gar nicht programmieren kannst (oder nur Visual Basic).

Es gibt dafür Tools, die dir die meiste Arbeit abnehmen. In denen musst du dann nur noch das Spiel an sich gestalten und implementieren. Construct 2 und Game Maker sind hier die prominentesten Beispiele, es gibt aber noch weitere. Außerdem gibt es sogenannte Engines, also beispielsweise Unity und Unreal, die dir zwar auch viel abnehmen, aber dabei deutlich mehr von dir verlangen. Hier kannst du auch ziemlich gut programmieren lernen, weil du ohne zu programmieren nicht auskommen wirst.

Es gibt auch Bibliotheken, bei denen du nur grundsätzliche Funktionalitäten bekommst und du den Großteil selber entwickelst. Bei SDL, SFML, libGDX und ähnlichen Bibliotheken hast du zwar nach kurzer Zeit bereits was spielbares, aber für ein fertiges Spiel musst du viel mehr Arbeit reinstecken, als bei den Engines. 

Für alles davon gibt es ziemlich gute Tutorials und teilweise auch Bücher. 

Was genau du davon nimmst und wie du es lernst, hängt teilweise von deinem Ziel ab (Eher Programmieren lernen; eher Spieleentwicklung im Gesamtpaket lernen) und davon, wie du am besten lernst.

Meine Empfehlung: Schnapp dir ein möglichst einfaches Tool und fang damit an, Spiele zu entwickeln. Mit dem Game Maker oder Construct 2 geht das super schnell. Damit kannst du erstmal in Erfahrung bringen, ob dir das Entwickeln von Spielen überhaupt gefällt und liegt.

Wenn das der Fall ist, erhöhst du den Grad der Komplexität einfach wie es der beliebt. Probier die Engines, die Frameworks, lerne (mehrere) Programmiersprachen usw.

Die Frage, wie du daraus eine Karriere machst, kannst du dann flexibel beantworten. Du wirst verschiedene Disziplinen kennenlernen, die alle gebraucht werden. Vom Engine Programmierer über Tool Programmierer bis hin zu Gameplay Programmierer. Vielleicht gefällt dir das Programmieren auch gar nicht so sehr und du willst am Ende Designer werden - oder gar keine Spiele mehr entwickeln.

Darf man mal fragen, warum du in die Spieleindustrie möchtest und nicht allgemein in die Softwareentwicklung? Würdest du später auch Steuerungsanlagen, Webseiten oder Anwendersoftware programmieren, oder ausschließlich Videospiele? Denn deine Frage klingt so'n bisschen wie "Ich will später mal Konditor werden, aber dann ausschließlich Käsekuchen backen".

Denn nur weil du gerne und viel zockst, bedeutet das nicht, dass du auch als Informatiker geeignet bist. Ich hab haufenweise Leute mit der Einstellung gesehen und die sind damit allesamt auf die Schnauze geflogen - sprich: die mussten ihre Ausbildung / ihr Studium abbrechen. Denn Informatik ist geistig ziemlich anstrengend, mathelastig und man sollte kein Problem damit haben, auch am Computer arbeiten zu können.  

Welche Programmiersprache für die Spieleentwicklung am besten geeignet ist, kann dir für den Anfang erstmal egal sein. Denn ein guter Informatiker ist auch in der Lage, sich schnell in eine neue Sprache einzuarbeiten. Die schwierigste Programmiersprache ist die Erste, die man lernt. Wichtiger wäre es, dass du eine Anfängersprache findest, mit der du erstmal überhaupt die Grundprinzipien der Programmierung erlernst und mal schaust, ob dir das liegt. Ich würde da Python, Java oder C# für den Anfang nehmen. C++ hat so einige spracheigene Fallstricke, das würde ich mir als Anfänger nicht antun. 

Kilifrett 
Fragesteller
 11.07.2017, 13:48

Dann wahr die Frage vielleicht blöde gestellt. Ich habe bereits Erfahrungen in Visual Basic als Einsteigerprache (und ich weiß, das bringt mich nicht  weit und es ist auch schon einige Jahre her) und geringfügige Erfahrungen in Java. Ich möchte in die Informatik Branche in die Programmierung gehen und würde gerne in der Spieleentwicklung landen, das ist kein Muss aber das wäre mir halt lieber. In der Schule ist Mathe mein bestes Fach und mit PCs habe ich auch mehr Erfahrung als die meisten in meiner Klassenstufe.

0
ceevee  11.07.2017, 13:54
@Kilifrett

Das war auch absolut nicht böse gemeint. Visual Basic bringt mMn. tatsächlich nix, mit Java kannst du allerdings weiter machen. Java könntest du allerdings durchaus vertiefen, das wird in vielen Studiengängen und Berufsschulen auch gelehrt und es sieht anderen objektorientierten Programmiersprachen ähnlich. Java-Anfängern mit geringfügigen Informatikern wird gerne dieses kostenlose Buch empfohlen

http://openbook.rheinwerk-verlag.de/javainsel/

, wenn du Java schon besser kannst, dann halte ich es persönlich auch für recht sinnvoll, Objektorientierung und Entwurfsmuster richtig zu lernen. 

https://www.amazon.de/Entwurfsmuster-von-Kopf-bis-Fu%C3%9F/dp/3897214210

Entwurfsmuster lassen sich auch in anderen Programmiersprachen anwenden, nicht nur in Java. Und überleg dir auch ruhig eigene Projekte, die du dann programmierst. Übung ist wichtig. 

3

Ich würde dir empfehlen nicht mit dem Developen von Spielen anzufangen.

Versuch vielleicht zuerst etwas leichteres zu machen. Wie zum Beispiel einen Webbrowser in Visual Basic.

Simpel anfangen und dann hocharbeiten.

Und sonst würde ich für Spiele C++ empfehlen.

Für Spiele wird meistens C++ benutzt, aber dazu musst du Geduld haben. Wenn du ungeduldig bist, dann nimm zuerst eine von diese: Python, Ruby, Lua, Java, C#.