eine Möglichkeit der Objektorientierten Analyse ist folgende:
man schreibt sich zunächst als Fließtext auf, was das eigene Spiel (oder generell Programm) beinhalten soll.
dabei sollte man aber keine Rücksicht auf die technische Umsetzung nehmen und beispielsweise die Anforderungen an die Spielelemente selbst und Anforderungen an beispielsweise die Menüs voneinander getrennt betrachten
beschreiben kann man dabei alle Dinge, die für das Spiel notwendig sind (Spieler, Gegner, Projektile, ...), wodurch sie sich auszeichnen (Projektile: verschiedene Farben, Formen und Größen; Spieler: das Aussehen des Spielers; Gegner: verschiedene Formen; Bosse: viele "Einzelteile", ...) und was sie können (Spieler: normal schießen, Superbombe, sterben, vertikel bewegen; Gegner: normal schießen, frei bewegen; Bosse: normal schießen, Raketen abfeuern, Laserstrahlen abfeuern,...)
sobald dieser Text, der letztendlich die Anforderungen an das Spiel beinhaltet, fertig ist, kann man ihn analysieren
Subjektive sind Hinweise auf mögliche Klassen (Spieler, Gegner, Boss, Projektil, ...)
verben sind Hinweise auf mögliche Methoden der Klassen (Spieler feuert Projektile -> Spieler.feuern())
und beschriebene Eigenschaften sind Hinweise auf Membervariablen (Gegner haben verschiedenes Aussehen -> Gegner.textur)
ich habe bewusst nicht geschrieben, dass es sich bei den 3 Dingen jeweils um Hinweise handelt, da beispielsweise nicht zwangsläufig aus Substantiven Klassen resultieren
wie bereits geschrieben wurde, ist Erfahrung immer relevant - in diesem Fall um eher auf die richtigen Klassen zu kommen
außerdem kann es immer mal wieder vorkommen, dass man feststellt, dass man sich doch sehr vermacht hat und eine andere Klassenstruktur vielleicht besser wäre
in einem solchen Fall sollte man sich nicht davor scheuen, einfach erstmal Zeit darin zu invenstieren, den gesamten Code umzubauen
man wird zwar im ersten Moment weit mehr Fehler haben als vorher, allerdings braucht man meist für die Behebung dieser diese Zeit
da du diese Vorgehensweise bisher vermutlich noch nicht angewendet hast, solltest du auch nicht zu viel Zeit darin verlieren
setze dich beispielsweise 1-2 Stunden lang daran, sowohl den Text zu schreiben, als auch ihn zu analysieren
man könnte eventuell auf weitere Ideen kommen, wenn man sich mehr Zeit nimmt, allerdings, wie bereits geschrieben wurde, solltest du auch ein wenig Erfahrung durch das "drauf los programmieren" sammeln
diese Vorüberlegung dürfte eine gewisse Grundlage liefern
nicht direkt ersichtlich ist bei dem Vorgehen beispielsweise eine Vererbungshirarchie
diese kann man daraus ableiten, dass verschiedene Dinge eine gewisse Menge an Eigenschaften oder ein gewisses Verhalten gemeinsam haben (Gegner und Bosse können sich frei bewegen und ihre Projektile schaden dem Spieler, aber nicht sich gegenseitig)
wie genau du vorgehst bleibt dir überlassen
ich würde es aber empfehlen, zumindest eine kurze Zeit in diese Art der Überlegung zu investieren, bevor das Programmieren los geht
ich habe für die Beispiele bewusst das Shoot'em'up heran gezogen, da ein solches in der Regel einfacher ist, als ein Rollenspiel
einfacher als ein Rollenspiel dürfte beispielsweise ein Action Adventure sein, wie beispielsweise die Zelda-Reihe