Der Traum jedes Zockers – Spiele programmieren lernen

Du zockst gerne und hast immer wieder diesen einen Einfall. Mal ein eigenes Spiel programmieren. Aber selbst bei der Recherche in Foren und Gruppen wirst du bereits angemacht, dass du dir deinen Traum lieber erstmal aus dem Kopf schlagen kannst. Nun ja, es ist nicht so einfach, wie du es dir vorstellst, aber mit genug Fleiß kann man bereits tolle Ergebnisse aufzeigen. Wie ein Videospiel ungefährt funktioniert und was du beachtet solltest, wenn du Spiele programmieren lernen willst, wirst du in diesem kleinen Artikel lesen.

Was sind Videospiele?

Erstmal sind Videospiele wieder nur Computerprogramme. Computerprogramme, die ein Bild auf den Bildschirm zeichnen und quasi auf Eingaben warten, so wie jedes andere herkömmliche Computerprogramm auch. Allerdings sollen Videospiele keine Ergebnisse liefern, wie andere Programme, sondern dienen der Unterhaltung. Man kann sich prima die Zeit mit Videospielen vertreiben und viel Spass dabei haben. Egal ob alleine, Multiplayer über Internet oder Splitscreen auf dem heimischen Sofa. Aber auch anders können Spiele Spass machen: Wenn man die eigene Idee eines Spiels umsetzt und dieses dann von Freunden und bekannten gespielt wird! Unternehmen verdienen auch gutes Geld damit, so dass eine ganze Branche um Videospiele entstanden ist. Hier findest du eine Auswahl der besten Spiele, welche mit Javascript und HMTL5 erstellt worden sind, wie man das mit Javascript macht erfährst du gleich noch.

Welche Arten von Videospielen gibt es?

Wenn du regelmäßig spielst, dann brauche ich dir nichts zu den verschiedensten Videospielarten erklären. Von virtuellen Brett- und Kartenspielen über Sport- und Gelegenheitsspiele gibt es eigentlich nichts am Spielehimmel was nicht schon gibt. Interessant ist bei Videospielen immer die Perspektive des Spielers sowie die Steuerung durch das Spiel. Sieht man die Spielfigur im Spiel? Von welcher Seite sieht man die Figuren,von oben oder seitlich? Wie steuert man die Figur? Per Tastatur und Maus? Joystick oder Controller? In speziellen Spielen steuert man sogar gleich mehrere Figuren. Dann kommen Spielregeln und Eigenschaften des Spiels wie Multiplayer, Grafik und Audio. Das alles macht letztendlich ein Spiel aus. Die Möglichkeiten dafür sind unbegrenzt. Aber wie funktioniert das ganze eigentlich?

Wie funktioniert ein Videospiel eigentlich?

Ich möchte ein bisschen in die Technik eintauchen, allerdings nur soweit, dass du nicht gleich abgeschreckt davon läufst. Ich möchte dir die Funktionswiese unabhängig von Art, des Videospiels und Programmiersprache kurz erläutern. Erstmal muss dein Videospiel ein Bild zeigen. Dieses Bild sollte mindestens 24 Mal in der Sekunden neugezeichnet werden (für die FPS geilen, ja mehr ist erstmal besser 😉 ). Passiert dies nicht, dann läuft dein Spiel nicht flüssig und hakt. Nicht cool. Erst ab 24 Bildern pro Sekunde, sieht das Bild flüssig aus. Also Animationen und Bewegungen werden als Bewegungen vom menschlichen Auge wahrgenommen. Das bedeutet, dass dein Spiel mindestens 24 Mal in der Sekunde das Bild neuzeichnen muss. Dafür muss es wissen, was es zeichnen soll. Das bedeutet, dass du Spielelemente benötigst, die gezeichnet werden können. Sagen wir mal wir laden 3 Spielelemente (einfache Kreise für Bälle) in unser Spiel. Diese werden an einer festgelegten Position gezeichnet. Und dies 24-Mal in der Sekunde, verändert man nun per Programm die Position der „Bälle“, sieht es für das menschliche Auge aus, als wenn sich der Ball bewegt. Koppelt man nun die Tastatur-, Maus- oder Controllereingaben mit der Position des Balls, kann man diesen per Tastatur bewegen. Cool. Damit hast du die absolute Grundlage für ein Spiel geschaffen und ja, jedes Spiel funktioniert nach diesem Prinzip. Dieses nennt sich übrigens die GameLoop.

Welche Funktionen gibt es in einem Videospiel?

Rudimentär haben wir nun Ausgabe und Eingabe für unser Spiel. Was fehlt? Nun zunächst einmal wären Spielregeln nicht schlecht. Man sollte wissen was mit dem Ball zutun ist und wie man nun in diesem Spiel gewinnt/verliert. Diese Spielregeln müssen einprogrammiert werden. Wenn zwei Objekte in einem Spiel miteinander etwas tun sollen sobald sie sich berühren, dann benötigt man eine Kollisionsabfrage. Damit lässt sich feststellen, wenn Spielobjekte/-figuren sich berühren und man kann daraufhin mit den Spielregeln darauf reagieren. Dann gibt es so Dinge wie Animationen. Das Spiel würde nicht ansprechend aussehen, wenn die Figuren sich wie Schachfiguren in deinem Spiel bewegen oder miteinander interagieren. Dann müssen Spieldateien gespeichert und geladen werden, außerdem brauchst du zumindest ein kleines Menü über das man dann das Spiel starten kann. Über Multiplayer und was man dafür braucht, haben wir gar nicht gesprochen. Aber hier wirst du nochmal so richtig in die Netzwerkecke geschoben und musst lernen wie man Daten über das Internet möglich effektiv und schnell transportiert.

Ist es schwer ein 3D-Spiel wie Need for Speed zu programmieren?

Wenn du dich das tatsächlich noch fragst, dann ziehe ich dir den Zahn jetzt: JA, ist es. AAA-Produktionen wie Need For Speed von großen Unternehmen kosten mittlerweile viele Millionen Dollar. Die Erstellung der Spiele ist mittlerweile so umfangreich, wie das Drehen eines Kino-Films. Wenn du dich also fragst ob du einen Titel wie Need For Speed selbst und alleine programmieren könntest (nur total anders und viel cooler 😉 ), dann überleg doch mal ob du in der Lage wärst einen Hollywoodreifen Film alleine selbst abzudrehen. Also ohne Team sind solche Titel nicht machbar.

Was muss man können um ein Spiel programmieren zu können?

Spieleprogrammierung ist zwar im Grunde nur die Programmierung, allerdings bleibt es nicht bei der Programmierung. Du benötigst schöne Grafiken für Menü und In-Game, diese sollten bei Bedarf schon animiert sein. Dann gibt es das Audio damit dein Spiel auch die passenden Geräusche von sich gibt. Dann ist es notwendig sehr kreativ zu sein, denn dein Spiel soll ja auch möglichst spannend sein und eine tolle Geschichte erzählen. Dies sind alles nur die Dinge, die man braucht, wenn man das Spiel nur für sich selbst entwickelt und gar nicht an die Öffentlichkeit  geht. Man sollte auch etwas detailverliebt sein, denn auf die kleinen Details kommt es an, wie zum Beispiel das Video „Juicy it or lose it“ von zwei Spieleentwicklern zeigt:

Wie und womit fängt man bei der Spieleprogrammierung an?

Du merkst, das was du vorhast, könnte ein paar Monate dauern. Wenn nicht Monate, dann aber wenigstens ein paar Wochen. Der einfachste Einstieg ist (Wenn du meine letzten Artikel gelesen hast), dies mit Javascript und der Phaser.io-Bibliothek zu tun. Mit Phaser hast du eine Menge an fertigen Funktionen für dein Spiel bereits vorgefertigt und kannst dich gleich auf die Aufgabenstellung konzentrieren. Loslegen kann man entweder mit dem Tutorial von Phaser.io, wenn man bereits programmieren kann. Ansonsten empfehle ich den Onlinekurs von lerneProgrammieren bei dem man neben dem Programmieren lernen auch Spiele programmieren lernen kann.
Und jetzt bist du dran: Willst du Spieler oder Spieleprogrammierer sein?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.