Das Spiel erstellen Die Vorbereitung
Arbeite das Konzept des Spiels vor dem Beginn der Arbeiten so genau wie möglich aus. Das beinhaltet Überlegungen bezüglich des Genres, der Stimmung des Spiels und der Art des Gameplays. Wenn du mit der Programmierung beginnst, bevor auch nur das Konzept steht, wirst du wahrscheinlich viel Arbeit umsonst verrichtet haben. Du wirst wahrscheinlich auch so viele Teile deiner Arbeit immer und immer wieder umschreiben müssen, aber wenn du ein striktes Konzept hast, an das du dich halten kannst, wirst du das auf ein Minimum reduzieren. Alle Spiele, bis auf die experimentellsten, weisen einen Fortschrittsbogen auf, also beginnst du deine Planungen am besten damit. Der Fortschritt definiert sich in der Regel durch eines oder mehrere der folgenden Dinge: mehr über die Geschichte und die Charaktere herausfinden, neue Gebiete erkunden oder immer schwerere Aufgaben lösen. Sammle oder erstelle alle Texturen, Bilder, Sounds und Modelle, die du für dein Spiel brauchen wirst. Es gibt einige Sammlungen kostenloser Art Assets, also kannst du im Internet etwas danach suchen. Wenn du ein 2D-Spiel entwickeln möchtest, aber keinen Künstler hast, der dir zur Seite steht, könntest du lernen, deine eigene Pixel-Kunst zu erstellen. Das Skript sagt der Engine, was sie wann zu tun hat. Wenn du eine Open Source Engine verwendest, hat sie wahrscheinlich bereits eine Skriptsprache und eine Anleitung, mithilfe derer du dich zurechtfinden wirst. Wenn du deine eigene Engine erstellst, wirst du auch deine eigene Skriptsprache erstellen müssen. Wie du dich auch entscheidest, du wirst ohne die folgenden Dinge nicht auskommen:  Ein konstant aktiver "Game Loop", der auf Eingaben durch den Benutzer wartet, die Resultate verarbeitet, andere Ereignisse verarbeitet, berechnet, was dargestellt werden muss, und dies an die Grafikkarte sendet. Dieser sollte mindestens 30 mal in der Sekunde berechnet werden. "Active listener" Skripte, die auf Ereignisse und Eingaben warten. Ein Beispiel: Ein Skript könnte darauf warten, dass der Spieler mit einer Tür interagiert, dann die Animation starten, die die Tür "öffnet", und die Kollisionsbox des Türrahmens ausschalten. Ein anderes Skript kann darauf warten, dass mit einer Waffe mit der Tür interagiert wird und stattdessen die Tür mit einer Animation "aufbrechen" lassen. Das Leveldesign - welches ein wörtliches "Level 1" miteinbeziehen kann, eine Gegend, die der Spieler erkunden kann oder die nächste Runde eines Kampfspiels - fordert dir Fähigkeiten ab, die nichts mit der Programmierung zu tun haben. Beginne mit einem einfachen Level, welches das typische Gameplay unterstreicht. Halte dich dabei, sollte man sich in deinem Spiel durch Umgebungen bewegen können, an den folgenden Leitfaden:  Erstelle den Grundriss des Gebietes. Entscheide dich für den grundlegenden Weg, den der Spieler am öftesten durch dieses Gebiet gehen wird. Füge entlang jenem Herausforderungen und Belohnungen (Items) hinzu. Platziere sie für ein actionreiches, aufregendes Gameplay nah beieinander und verteile sie spärlicher für eine entspanntere Atmosphäre. Beginne damit, grafische Elemente zu platzieren. Platziere Lichtquellen entlang des Hauptweges, um den Spieler dazu zu ermutigen, ihm zu folgen. Das Licht kannst du entlang der Nebenwege und weniger wichtigen Gebieten etwas dimmen. Passe Gameplay, Stil und Setting an. Ein spannendes Horrorspiel zum Beispiel lebt von der Erkundung scheinbar leerer Umgebungen und plötzlichen Überraschungsangriffen. Eine schier niemals enden wollende Gegnerhorde sorgt eher für Adrenalin, während taktischer Kampf den Spieler von der emotionalen Atmosphäre ablenken kann. Nun kannst du sehen, was aus deiner harten Arbeit geworden ist. Teste jeden Level, wenn du deinem Spiel den letzten Feinschliff verpasst, und auch noch viele Male nachdem es "fertig" geworden ist. Mache den bewussten Versuch, das Spiel auf verschiedene Weisen zu spielen, auch auf solche, die du beim Erstellen nicht im Sinn hattest. Versuche dich zum Beispiel gleich am Anfang durch das schwerste Gebiet zu kämpfen. Oder noch besser: Suche dir Spieletester, die das Spiel mit frischen Augen betrachten. Lasse dir von ihnen so ausführlich wie möglich Rückmeldung geben.  Schaue jemandem beim Spielen zu, ohne dass du ihnen Ratschläge gibt, sofern es sich nicht um grundlegende Informationen geht, die im Tutorial erklärt werden, solltest du dieses noch nicht implementiert haben. Frustrierende Fehler und Punkte, an denen der Spieler "hängenbleibt" sind Zeichen dafür, dass der Spieler besser geleitet werden muss. Sobald das Spiel (oder zumindest ein Level) so ziemlich fertiggestellt ist, solltest du dir Fremde oder Bekannte an Bord holen, die dir beim Testen helfen. Freunde sind in der Regel optimistischer, was super ist, um Motivation zu tanken, aber sie sind nicht sonderlich hilfreich, wenn es darum geht, herauszufinden, wie der durchschnittliche Spieler reagieren wird. Wenn du dein Projekt beendet hast, möchtest du es vielleicht veröffentlichen, sei es kostenlos oder kostenpflichtig. Achte nur darauf, dass du die Nutzungsbestimmungen aller Spieleengines und Softwares gelesen hast, die du verwendest. Ob du dein Spiel nun so geschaffen hast, wie du es dir von Anfang an vorgestellt hast, oder nicht, am Ende möchtest du vielleicht ein paar Assets oder Ideen für ein anderes oder ambitionierteres Projekt verwenden. Oder du lernst einfach aus all deiner Arbeit und beginnst noch einmal von vorn! Nur wenige Spieleentwickler erfinden das Rad neu und schreiben ihre eigene Spieleengine, inbesondere wenn es um ihr erstes Spiel geht. Wenn du gleich loslegen aber immer noch genug Möglichkeiten haben möchtest, um etwas Eigenes daraus zu machen, dann ist es eine gute Idee, eine fertige Spieleengine zu verwenden. Eine solche verfügt in der Regel über viele hochwertige Werkzeuge zur Veränderung von 3D-Modellen, um Ereignisse zu skripten und andere, spielerelevante Dinge zu verändern, aber auch genügend Raum für eigene Programmierungen.  Beliebte, aufwändige Beispiele sind zum Beispiel Unity, UDK, Unreal Engine 4 und CryENGINE.  Wenn du noch wenig Erfahrung mit Programmierung hast, dann wirf einen Blick auf den GameMaker von YoYo Games. Diese Software erlaubt es dir, per Drag & Drop ein Spiel zu erstellen, ohne selbst etwas programmieren zu müssen. Wenn du dich dazu in der Lage fühlst, selbst zu programmieren, wird dir allerdings auch dies ermöglicht. Ein Framework steht eine Stufe unterhalb einer Spieleengine, aber versorgt dich dennoch mit einer Anzahl von Werkzeugen und APIs (Application Program Interfaces, "Applikationsprogrammierungs-Interface"), um dir Zeit zu ersparen und deine Coding-Projekte zu optimieren. Dies sollte das mindeste sein, was du für dein erstes Spieleprojekt verwendest, selbst wenn du glaubst, dass du als Programmierer kompetent genug bist und ein großes Interesse an einem Blick unter die Oberfläche von Spieleengines hast. Je nach Framework und/oder Spieleengine, die du verwendest, möchtest du vielleicht ein paar Arbeiten in zusätzlichen, spezialisierten APIs erledigen, wie zum Beispiel dem berühmten OpenGL zum Erstellen von 3D-Grafiken. Polycode, Turbulenz und MonoGame sind gute Beispiele für Frameworks, die sowohl auf 2D- als auch auf 3D-Spiele ausgelegt sind. Eine IDE (Integrated Development Environment, "Integrierte Entwicklungsumgebung") sind vielfältige Kompilierer und Sammlungen von Quelldateien, die komplexe Programmierungsprojekte einfacher von der Hand gehen lassen. Eine IDE wird die Entwicklung eines Spieles wesentlich angenehmer für dich machen, besonders dann, wenn sie von Haus aus mit Grafiken und Audiosystem interagieren kann. Visual Studio und Eclipse sind zwei Beispiele, aber es gibt viele andere. Suche nach einer IDE, die auf einer Programmiersprache basiert, mit der du dich auskennst. Die meisten, oben genannten Werkzeuge basieren auf einer Programmiersprache, weshalb es sehr hilfreich ist, entsprechenden Anleitungen zu folgen. Auch wenn du in fast jeder einigermaßen mächtigen Programmiersprache ein Spiel programmieren kannst, sind die beliebtesten Sprachen dafür C++ oder C# für alle Plattformen, Flash ActionScript oder HTML5 für Browser, und Java oder Objective C für mobile Geräte. Dies sind gute Optionen, wenn du letztlich von einem bereits existenten Entwicklerstudio angeheuert werden möchtest, aber die meisten Indie-Spiele werden in Python, Ruby oder JavaScript entwickelt.
Erstelle einen Plan für dein Spiel. Trage deine Art Assets zusammen. Skripte dein Spiel. Erstelle individuelle Level. Teste dein Spiel. Mache den nächsten Schritt. Suche dir eine Spieleengine. Verwende Frameworks und andere Werkzeuge. Probiere eine IDE aus. Lerne eine Programmiersprache.
https://www.wikihow.com/Program-a-Video-Game https://www.wikihow.com/Program-a-Video-Game
Creating the Game Getting Started