Welches Wissen braucht man, um ein Spiel zu programmieren?

10 Antworten

Für die Programmierung selbst benötigst du Kenntnisse über eine Programmiersprache und wie man Algorithmen baut (Problemlösungen beschreibt). Für die Gestaltung des Spiels wirst du dich noch mit weiteren Themen auseinandersetzen müssen, wie z.B.:

  • Video-, Grafik- und Audiogestaltung (auch wie man entsprechende Tools bedient, mit denen man die Mediendaten bearbeitet / kreiert)
  • Leveldesign
  • Englisch-Kenntnisse (lesen und verstehen)

Der erste Punkt entscheidet sich je nachdem, was dein Spiel fordert.

Für einen Start würde ich dir erst einmal empfehlen, ein Game Concept Document anzulegen, welches dein Spiel kurz beschreibt (Handlung / Spielkonzept, Zielplattform, Zielgruppe, Sprache, ...). Darauf aufbauend lässt sich ein Game Design Document erstellen, welches der Anforderungsanalyse und Projektdokumentation dient. So kannst du schauen, was du überhaupt wirklich benötigst (Texturen, Animationen, Sounds, ...) sowie all deine Ideen ordnen und vor allem begrenzen. Ein Spiel lässt sich im Nachhinein noch erweitern, wenn die Grundfunktionen stehen (und entsprechend flexibel gebaut wurden).

Als Orientierungshilfe solltest du dir diesen wegweisenden, mehrseitigen Artikel von Gamasutra durchlesen. Hier findest du noch einen Artikel zu dem Thema, in dem unter anderem auch ein GDD von dem damaligen GTA verlinkt ist.

Für kleine Spiele (wie Pong, Snake, ...) reicht es aus, in irgendeiner Form eine Zeichenfläche zur Verfügung zu haben, auf der man die Spielkomponenten zeichnen kann (Stichworte: game / draw loop, ECS). Processing beispielsweise bietet dies (und ist zudem ein einfacher, guter Start in die Programmierung, lies dazu hier) oder HTML5/JavaScript (canvas-Element).

Des Weiteren gibt es etliche Bibliotheken / Frameworks, die sich explizit der Spieleprogrammierung (oder Teilfunktionalitäten wie Audiowiedergabe / Grafikrendering / ...) widmen. Zum Beispiel Allegro, Cocos2D, Corona, LWJGL, libGDX, Phaser, PyGame, SDL - um nur einmal eine kleine Auswahl zu benennen.

Ab einer bestimmten Spielkomplexität kann man auch eine Game Engine zur Hilfe heranziehen, die nochmal eine bessere Basis als einzelne Bibliotheken/Frameworks bieten kann. So gibt es Engines wie Unity, Unreal, CryEngine, ..., welche eine grafische Oberfläche bieten, auf der man seine Projektassets verwalten kann.

Wie lernt man das am besten?

Ich würde dir empfehlen, dich zunächst abgekapselt von deiner möglichen Spielidee mit einer entsprechenden Programmiersprache zu beschäftigen. Processing habe ich dir bereits genannt. Andere Sprache, die sich (gerade für einen Anfänger) eignen sollten, wären Lua oder Python. Gerade erstere Sprache wird oft in Game Engines eingesetzt (z.B. CryEngine, LÖVE, Lumberyard, ShiVa, ...).

Selbst am Anfang kann man sich leicht mit Minispielen (wie Breakout, Conways Game Of Live, Nim, Pong, Snake, Space Invaders, ...) motivieren, da dies keine komplizierten Anwendungen sind (sofern eine Zeichenfläche zur Verfügung steht).

Ansonsten gibt es noch Projekte wie diese:

die einen einfachen, spielerischen Einstieg in die Programmierung ermöglichen sollen. Ob das etwas für dich ist, musst du selbst einmal schauen.

Grundsätzlich findest du Informationen zu den Programmiersprachen stets auf deren offizieller Webseite, die sich via Google finden lässt. Bücher halte ich meist für eine gute Wahl, um sich das Programmieren beizubringen.

Bezüglich der Medienbearbeitung (3D-Modellierung u.ä.) verlinke ich folgend nur auf diese Antwort. Mit den bisherigen Stichworten solltest du eine ausreichende Grundlage für weitere Recherchen haben.

sehr schön

0

Also ich und einige Kollegen aus dem Studium machen ab und zu mal was. Wir haben bis jetzt hauptsächlich folgendes gebraucht.

  • Programmieren (C#)
  • 3D Modelling/ Animation (Blender)
  • Sound
  • Texturing
  • Umgang mit Unity

Und das wichtigste ist natürlich die Benutzung diverses Suchmaschienen und Websites. Wenn du alles hier in Gutefrage nachfragen müsstest würdest du Jahre brauchen. Der größte Teil der Spieleentwicklung ist Googeln.

Moin,

Welche Güteklasse soll dein Spiel denn haben?
Denk dran, dass es nicht nur Programmierung ist.

Storywriting, Texturierung, 3D-Modellierung, Animierung, Soundcreation.

C++ eignet sich und auch C# mit Unity.

Woher ich das weiß:Beruf – IT-Specialist & Microsoft Certified Professional

Weiß ich selbst nicht so genau

Ich dachte an ein kleines Horrorgame^^

0

Was möchtest Du wissen?