Ich gehe diese Sachen meistens so an.
Ich fange an mir ein GameState-System zu entwickeln. Quasi dass ich theoretisch ein Intro sowie ein Menü und ein Spiel habe. Dabei erstelle ich mir vorher für jeden State ne Hintergrundgrafik(einfach weiß und in der Mitte steht um welchen State es sich handelt, zB "Intro", "Menu", "Game", ...). Dafür reicht es mir am Anfang mit Tastendruck, zum Beispiel Space in den nächsten State zu wechseln. Wenn das soweit fertig ist mache ich mich dann meistens ans Spiel. Ein vernünftiges Intro, wenn man dies überhaupt möchte, sowie ein Menü können ja später implementiert werden und das Spiel selbst ist erstmal wichtiger. Dann fange ich meistens an meine Map zu implementieren. erstmal nur eine Statische Welt aus einer Funktion erstellen. Wenn diese Map richtig angezeigt wird mache ich mich dran, die Welt aus einer Datei zu laden. Wenn das nun geht ist der Spieler dran. Erstmal Spieler in der Mitte anzeigen. Dann Spieler bewegen. Wenn das funktioniert mach ich mich an die Kollision mit der Welt. Wenn diese funktioniert sind dann Waffen dran, wenn diese im Spiel vorhanden sein sollen. Also Waffen implementieren, sodass der Spieler erstmal nur eine Waffe hat. Danach kommt dann mit der Waffe schießen. Wenn das funktioniert kommt die Kollision der Kugeln mit der Welt, falls es im Spiel so sein soll, dass die Kugeln nicht durch Mauern fliegen können etc). Wenn das funktioniert, kann man vielleicht eine weitere Waffe einbauen. Zwei Waffen reichen für den Anfang erstmal aus. Damit kann man dann umsetzen, dass der Spieler zwischen Waffen wechseln kann etc. Als nächstes kämen dann normalerweise Items oder Gegner. Gegner sind natürlich je nach Fähigkeiten die sie haben sollen meist schwerer und aufwändiger umzusetzen als Items
Ich fange also eigentlich meistens mit dem Großen an und arbeite mich immer Schrittweise kleiner. Quasi erst Spielzustände, dann Spielwelt, dann Spieler, dann Bewegung des Spielers, dann Waffen, dann schießen, dann vielleicht mehr Waffen, dann Gegner, dann verhalten von Gegnern und so weiter. Ich kenne viele, die so beginnen, dass sie sich mit Kleinigkeiten am Anfang aufhalten. Da werden erst Grafiken erstellt und Animationen getimet und und und, und wenn sie sich dann an das Spiel machen fällt ihnen auf, dass die Fähigkeiten nicht ausreichen, oder der Spaß beim programmieren zu schnell weg ist. Deswegen denke ich sind Platzhaltergrafiken recht praktisch und ein Schrittweises vorgehen auch. Es ist einfacher ein Spiel zu erweitern, und Animationen, Effekte etc. einzubauen, als einen Haufen Müll vor sich zu haben, der zwar ganz nett aussieht, sich aber schlecht erweitern lässt, sodass du dann später wenn du Pech hast, massive Probleme hast, eine Anständige Kollision etc einzubauen. Vielleicht hilft dir das ja weiter
(Ich schreib immer viel zu viel
)