Antworten:
Ausbrechen
Einfaches Spiel, da Sie nicht viel Grund zur Sorge haben (es ist eine Reihe von Ziegelwerten - wenn Sie nur eine Ziegelfarbe haben, ist es eine Reihe von Flaggen), es gibt keine KI, und Sie müssen eine machen ein bisschen Physik, damit der Ball richtig abprallt.
Solitär
Die Regeln sind etwas komplexer als Breakout und die Schnittstelle dazu ist sehr unterschiedlich. Es zwingt Sie, über verschiedene Methoden zur Implementierung eines Spiels nachzudenken. Das heißt, was in einem Spiel funktioniert, ist nicht unbedingt das, was Sie in einem anderen Spiel verwenden würden.
Pac-Man
Dieser ist schön, weil man ein bisschen an KI arbeiten kann. Wenn die Geister dem Spieler folgen (aber nicht zu gut - Sie möchten, dass der Spieler eine Chance hat), kann dies schnell umgesetzt werden, und Sie werden ein lustiges kleines Spiel haben, das Sie optimieren und Freunden und der Familie vorführen können (positives Feedback ist immer hilfreich) eine gute Sache, wenn Sie anfangen).
Ich finde, wenn man in frühen Videospielen nach Inspiration sucht, kann man Unmengen von Ideen finden, die relativ einfach zu implementieren sind. Außerdem können Sie mit supereinfachen Grafiken und Sounds davonkommen, weil Sie sowieso etwas so Einfaches kopieren. Auf diese Weise können Sie sich zunächst auf die Grundlagen konzentrieren - Ihre Spieleschleife in Betrieb nehmen, herausfinden, wie Sie Ihre Pixel auf den Bildschirm bringen, einen Sound abspielen, Punkte aufzeichnen und die Eingaben des Spielers in das Spiel einbringen.
Es spielt fast keine Rolle, für welches Spiel Sie sich zuerst entscheiden - stellen Sie nur sicher, dass Sie etwas Einfaches auswählen, mit dem Sie schnelle Ergebnisse erzielen. Auf diese Weise können Sie am nächsten Tag weitermachen und ein anderes Spiel erstellen. Und ein anderer. Und zum anderen - je mehr du machst, desto mehr wirst du dich selbst antreiben und irgendwann wirst du komplexe Spiele machen, bevor du es weißt.
Ich würde Anfängern dringend empfehlen, mit dem einfachsten Spiel zu beginnen, das sie tatsächlich schreiben möchten . Wie von Matt Rix erwähnt, besteht ein großer Teil des Schreibens eines Spiels gegen ein Demo darin, das verdammte Ding zu Ende zu bringen - Credits, Menüs, Spieltests, Highscores, Pausen, Spieltests, Schwierigkeitsgrade, saubere Spielzustandsübergänge, Spielen Testen, etc. Das Zeug braucht mindestens die Hälfte der Zeit, die du einbringen wirst, und es macht einfach keinen Spaß. Ist es nicht. Wenn Sie das Konzept nicht lieben und wirklich motiviert sind, werden Sie aufgeben und weitermachen, bevor das Spiel ein Spiel ist .
Wenn Sie ein Rollenspiel schreiben möchten, finden Sie das einfachste und am besten zu handhabende Rollenspielkonzept heraus, mit dem Sie es erstellen und ausführen können. Das Gleiche gilt, wenn Sie einen Science-Fiction-Shooter oder einen Horror-Plattformspieler oder was auch immer machen möchten. Suchen Sie sich etwas aus, das Sie zu Ende bringen möchten, nachdem alles erledigt ist, aber Sie sehen sich noch Dutzende von Arbeitsstunden an, bevor Sie wirklich fertig sind.
Das beste Spiel, um "Flügel zu verdienen"? Die, die du abgeschlossen hast. Es ist mir egal, wie viele halbfertige PONG / Breakout / Galaga / Tetris-Demos Sie geschrieben haben. Sie sind kein Spieleentwickler, bis Sie ein tatsächlich abgeschlossenes Spiel veröffentlicht haben.
Außerdem möchte niemand eine weitere Version dieser 40 Jahre alten Spiele spielen, und zumindest ein Teil des Grundgedankens für das Schreiben von Spielen ist das Spielen , oder?
Ich habe diese Leiter vor einiger Zeit bei TIGsource gepostet. Es beginnt von sehr einfach bis sehr komplex.
Die wichtigste Regel für das Programmieren von Lernspielen: Das Programmieren zu lernen ist schwierig. Das Erlernen des Spieldesigns ist schwierig. Es ist schwer zu lernen, wie man gute Spielekunst oder Audio macht. Der Versuch, all diese Dinge gleichzeitig zu tun, ist ein Rezept für ein Scheitern. Lerne eins nach dem anderen.
Fazit: Programmiere ein Spiel, bei dem Design, Kunst und Sound bereits fertig sind. Machen Sie Klone, keine originellen Spiele.
In meinen Klassen empfehle ich immer diese Spiele zu starten, um:
1) Tetris. Die Kunst sind farbige Rechtecke, die sogar ein ganzer Klutz in Microsoft Paint zeichnen kann. Du brauchst keinen Ton. Die Programmierung ist relativ einfach, erfordert jedoch noch einige wichtige Dinge: Verstehen des Unterschieds zwischen dem internen Spielstatus und dem, was auf dem Bildschirm angezeigt wird; in der Lage zu sein, auf dem Bildschirm zu zeichnen, Punkt (wahrscheinlich mit Sprites und Blitting); in der Lage zu sein, Benutzereingaben in Echtzeit zu akzeptieren, anstatt nur getch () oder scanf () zu verwenden, wo man auf sie warten muss.
2) Ausbruch / Arkanoid. Die Kunst ist immer noch farbige Rechtecke, und Sie brauchen immer noch keinen Ton. Verwendet alle grundlegenden Konzepte von Tetris sowie einige grundlegende Funktionen zur Kollisionserkennung und 2D-Physik, da sich der Ball reibungslos bewegen und springen muss.
3) Gradius / R-Typ. Sie können wahrscheinlich einige Freeware-Kachelsets finden, um dies zu machen. Hier scrollt der Hintergrund, sodass Sie etwas mehr über die Funktionsweise des Grafikspeichers lernen müssen, indem Sie Techniken wie das Umblättern von Seiten und das Doppelpuffern sowie das Zeichnen von Objekten außerhalb der Grenzen des sichtbaren Bildschirms anwenden. Sie neigen auch dazu, dynamische Feind- und Kugel-Spawns zu haben, also müssen Sie lernen, nach sich selbst aufzuräumen (dh Sie müssen Feinde und Kugeln entfernen, die den Bildschirm verlassen, damit Ihr Spiel nicht wie ein Sieb den Speicher verliert).
4) Super Mario Bros. Ähnlich wie beim vorherigen Scrolling-Projekt, nur dass das Scrollen jetzt unter der Kontrolle des Spielers und nicht automatisch erfolgt. Sie müssen sich auch mit der Schwerkraft und all dem lustigen Kollisionsmaterial auseinandersetzen (wie wenn Sie nicht durch den Boden fallen, nur weil Sie im letzten Frame ein paar Pixel darüber waren und im nächsten Frame zu ein paar Pixel darunter wechseln möchten) ). Beachten Sie auch, dass die Schwerkraft bedingt ist: Sie wirkt sich auf den Spieler und einige Feinde aus, in der Regel jedoch nicht auf die Plattformen oder schwebenden Münzen oder was auch immer, was sich ein bisschen von der realen Welt unterscheidet.
Wenn Sie alle vier machen können, sollten Sie in der Lage sein, so ziemlich jedes 2D-Spiel zu machen, das Sie wollen. Alle Werkzeuge sind da. Wenn Sie ein 3D-Spiel erstellen möchten ... lernen Sie zuerst 2D, weil es viel einfacher ist und Sie die Mathematik nicht so gründlich verstehen müssen und Sie das 2D-Zeug sowieso verstehen müssen ... und dann, wenn Sie es sind Fangen Sie damit an, mit einigen grundlegenden 3D-Werkzeugen zu arbeiten (entweder Bibliotheken wie Torque oder Unity oder Open-Source-Spiele wie Doom und Quake).
Viel Glück!
Das ist eine gute Frage. Ich weiß nicht, wo du bist, also werde ich nach dem Himmel schwingen und davon ausgehen, dass du noch nie eine Codezeile in deinem Leben geschrieben hast. Schneiden Sie jeden Teil der Nase ab, der Sie beleidigt, um eine Phrase zu missbrauchen.
Ich glaube, ich beantworte eine etwas andere Frage als die, die Sie gestellt haben, und ich werde Beispiele nennen, um die Frage zu befriedigen, die Sie vor Ort gestellt haben. Der Grund, warum ich das so mache, ist ein kleiner, aber meiner Meinung nach bedeutender Unterschied in der Sichtweise: Es sind weniger die spezifischen Spiele von Bedeutung, als vielmehr die Denkweisen, die diese Spiele einem Designer bringen.
Sie wissen, wie die Leute darüber reden, dass Sie eine Vielzahl von Programmiersprachen lernen sollen, um ihre Denkweisen, ihr Herz und ihre Lebern zu essen und dadurch ihre mächtige Kraft zu erlangen? Das ist eine echte Wahrheit - nach Ihrer ersten reinen oder nahezu reinen Programmiersprache, selbst in imperativen Sprachen, werden Sie am Ende weitgehend nebenwirkungsfreie Funktionen schreiben, weil sie so viel besser definiert sind und alles, was Sie schreiben Selbst in Sprachen, die nicht von dieser Form sind, wird es besser sein. Es spielt keine Rolle, um welche Sprache es sich handelt - haskell, ml / ocaml / smlnj, formulaONE, c ++ - Vorlagen, was auch immer - Sie werden immer noch lernen, wie Sie viele Klassen von Arbeit erledigen, ohne sich auf den Nebeneffektstatus zu verlassen. Wenn Sie zum ersten Mal eine robuste, maschinennahe Programmiersprache lernen, Hier erfahren Sie mehr über die Größenabstraktion. Wenn Sie zum ersten Mal eine deklarative oder Constraint-Sprache lernen, lernen Sie das Bounding als diskretionäres Werkzeug. Wenn Sie zum ersten Mal eine Backtracking-Suchsprache lernen, werden Sie lernen, Ia zu beten! Ia! C'thulhu F'tagn Nagn !, und dann essen wir wieder Herzen und Lebern, und der Kreislauf des Lebens ist erfüllt.
Game-Design ist nicht anders. Sie müssen nicht unbedingt ein bestimmtes Spiel parallel zu einer bestimmten Sprache lernen, sondern Sie müssen ein emblematisches, repräsentatives Spiel erlernen, das mit dieser Denkweise umgeht, wie die für Sprachen charakteristischen Familien. Es gibt auch viele Lebern und Herzen zu essen. Holen Sie sich einen Pfefferstreuer.
Der Gag hier (wie ich es zumindest sehe) ist, dass Sie eine große Liste von Themen abdecken möchten. Es ist so, als würde man Fähigkeiten auf einem Charakterblatt abhaken - man stellt sich mehr Mechanismen zur Verfügung, um mit einer bestimmten Situation umzugehen. Ja, sie sind levelfähig, aber ein oder zwei Punkte in so vielen Dingen wie möglich auf der ganzen Linie zu haben, bedeutet, dass Sie nicht von vorne anfangen und wissen, welche Taktiken verfügbar sind, wenn Sie einen einsetzen für Sie zu vergrößern.
Schau mal.
Zuerst möchten Sie Ihre Zähne schneiden. Diese sind auch nützlich, wenn Sie lernen, auf eine neue Plattform abzuzielen, oder wenn Sie sich von Amnesie erholen. Diese sollen schnell sein, nicht genial.
In Ordnung:
Sobald Sie diese erhalten haben, können Sie eine Plattform als Ziel festlegen, und das Lernen kann beginnen.
Diese sind in keiner bestimmten Reihenfolge. Sie können sie nach Belieben neu anordnen. Ich werde mit jedem eine Handvoll Beispiele geben, aber sie sind nicht normativ; Wenn ein anderes Spiel die gleiche Erfahrung bietet und klein genug ist, um Teil einer Reihe von Lektionen zu sein, können Sie es jederzeit austauschen. Aus praktischen Gründen ist es gut, wenn Sie die Bildschirmwiedergabe und die Eingabe relativ schnell beherrschen. Du wirst sie eine ganze Menge benutzen. Warten Sie einige Spiele, bevor Sie versuchen, Abstraktionsklassen zu schreiben. Sie wollen nicht in einer naiven Abstraktion gefangen sein.
... wie. Mir wurde langweilig.
Tetris
Sehr verbreitetes Spiel, viele Open-Source-Klone, die auseinandergerissen werden, wenn Sie nicht weiterkommen. Vermittelt Grundlagen der 2D-Grafik, Eingabehandhabung, Bewertung usw.
Nehmen Sie diese originelle Idee und probieren Sie sie aus. Ich habe die Grundlagen von 3D-Grafik / OpenGL gelernt, indem ich eine 3D-Version von Tetris für meinen Computergrafikkurs am College geschrieben habe.
GameDev.net hat einen guten Artikel, in dem eine Reihe von Spielen empfohlen wird, um schrittweise etwas über die Spieleentwicklung zu lernen. Mein Lieblingsratschlag aus der Liste ist, diese Spiele tatsächlich zu polieren. Komplett fertig, zu einem lösbaren Zustand.
Die Liste sieht wie folgt aus (einige davon wurden in anderen Antworten angegeben):
Ich mag es, alle meine Leute mit Monopoly zu beginnen. Normalerweise benutze ich Brett Schucherts Monopoly "Code Kata" als Grundlage für die Übung, aber ich füge viel hinzu. Es gibt mehrere Gründe, warum ich das wirklich gerne mache.
Ich lege großen Wert auf gute Codierungspraktiken (Entwurfsmuster, TDD, SOLID, kontinuierliche Integration usw.) und setze meinen Entwicklern bei dieser Übung viele Einschränkungen auf.
Ziemlich jeder kennt die Regeln von Monopoly und das gesamte Spiel kann an einem einzigen Tag abgeschlossen werden. Dies gibt neuen Entwicklern einen schnellen Gewinn und steigert wirklich ihr Engagement.
Die anfänglichen Anforderungen beginnen mit Tastatursteuerungen, aber ich füge später eine Anforderung für Maussteuerungen hinzu. Dies bringt Entwickler dazu, über verschiedene Dinge nachzudenken, wie man bestehenden Code umgestaltet, veränderte Teile des Systems auf Schnittstellen anstatt auf konkrete Klassen programmiert, bessere / richtige Abstraktionen, was zum Komponententest, was nicht zum Komponententest, WARUM zum Komponententest und was macht für gute Unit-Tests.
Manchmal schließen wir eine ausgefeiltere KI an, manchmal nicht. Manchmal arbeiten wir mit anderen Brettspielen mit etwas komplexerer Logik wie Rutschen und Leitern oder so. Manchmal brechen wir komplett von Brettspielen ab und machen ein Pokerspiel oder Blackjack.
Das wirklich Wichtige für mich ist, dass die Leute schnell gewinnen und sehen, wie flexibel Sie Software machen können, wenn Sie gute Programmierstandards einhalten. Diese Übungen bauen sehr schnell Selbstvertrauen auf. Manchmal tun die erfahreneren Entwickler dies gerne selbst, um sich von komplizierten Projekten zu lösen oder eine neue Technik zu üben, die sie gerade gelernt haben (Demeter-Gesetz?).
Wähle dein Abenteuer
Haben Sie diesen Tipp von einem Freund, der Programmierung begonnen , indem ein Spiel zu schaffen, viel ähnlich einem Ihrer Abenteuerbuch wählen . Es ist im Grunde ein einfaches Text-Abenteuerspiel mit einer Ausgabe wie folgt:
You are standing in a forest clearing in the middle of the night. You hear
some wolves howl in the distance. Should you:
a) make camp for the night
b) go further north
> _
Das Erstellen eines solchen Spiels sollte Ihnen das Erstellen eines Gameloops, grundlegende Konsolen-Eingaben und grundlegende Skripterstellung beibringen. Es ist recht einfach zu implementieren und für Anfänger leicht zu erlernen, da Sie keine Grafik-Engine benötigen , um das Spiel zu schreiben. Fortgeschrittene Anfänger würden wahrscheinlich eine Skript-Engine schreiben.
Nach meiner Erfahrung mit unerfahrenen Programmierern scheint der Fortschritt normalerweise ungefähr so zu verlaufen:
Breakout, Pong oder Asteroiden.
Es gibt einen großen Unterschied zwischen einem Spiel und einem Spielprototyp . Wenn du es ernst meinst, dein Traumspiel zu beenden, solltest du deine "Einsteigerspiele" auf dem Weg beenden. Das Erstellen des Gameplay-Teils des Spiels ist nur die halbe Miete. Alle zusätzlichen Dinge wie Menüs und Highscores werden oft übersehen oder ignoriert, aber sie brauchen viel mehr Zeit, als irgendjemand erwarten würde.
Es gibt einige gute Vorschläge in den anderen Antworten, aber ich möchte nur meine Stimme abgeben für: Beginnen Sie mit etwas, das zu mickrig erscheint, um damit umzugehen.
Pong ist ein gutes Beispiel.
Das Ziel ist es, das Spieldesign und den Regelsatz so zu optimieren, dass Sie Ihre ganze Aufmerksamkeit darauf richten können, das Neue zu lernen, was Sie lernen (eine Sprache, eine Plattform, eine API) und nicht ständig lernen müssen Mach Pausen, um herauszufinden, wie das Spiel funktioniert.
Sobald Sie loslegen, werden Sie feststellen, dass Pong tatsächlich etwas komplizierter ist, als es auf den ersten Blick erröten scheint. (Ich unterrichte einen Typen im Programmieren und er benutzt Pong als Lernprojekt. Wir haben einige Features hinzugefügt und jetzt lenkt er sich vom Lernen ab, indem er lernt, wie man all diese coolen Features macht :)
Sobald Sie die erste App durchgearbeitet haben, bis sie bereit ist, sie an andere weiterzugeben / zu verkaufen, können Sie etwas Komplizierteres (Tetris, Abenteuer oder was auch immer Sie möchten) in Angriff nehmen, um eine neue Technologie zu erlernen die Sache, die du programmierst, ist denkbar einfach.
Andere Beispiele:
Aber wieder - fangen Sie mit etwas an, das viel zu einfach ist, damit Sie tatsächlich etwas vervollständigen und zurückblicken und sehen können, worum es geht. Der Unterschied zwischen dem Schreiben EINER App in einer Sprache / Plattform / SDK / Engine und dem Schreiben von NULL- Apps ist RIESIG . Der Unterschied zwischen 1 und 2 oder 2 und 5 ist viel geringer, so dass Sie größere Schritte ausführen können, aber die Schritte 0 bis 1 sind winzig klein. es wird größer sein als du denkst!
Flappy Bird
ähnlich. Als professioneller Programmierer ist es eine Nachmittagsarbeit (naja, ein Wochenende, um es "schön" zu machen), aber als wir einem anderen Programmierer beibrachten, haben wir gelernt, dass es tatsächlich viele kleine Komplikationen gibt. Auch hier ist man weitaus erfahrener als null, und wenn man erst einmal eins hat, hat man eine viel bessere Vorstellung davon, wie man vorankommt.
Schauen Sie sich diese Website an: 12 Ideen für Computerspielprojekte
Einige dieser Spiele beinhalten das, was andere gesagt haben:
Es geht aber auch um einige andere Spiele, die Sie ausprobieren könnten, wie zum Beispiel:
Außerdem gibt es einen Überblick darüber, was Sie zuerst versuchen sollten, da es für jedes Spiel einen Überblick über die Schwierigkeiten gibt (und daher einen Plan, wie Sie die Spiele angehen sollten):
Viele Leute beginnen mit Breakout, weil es folgendes bietet:
Der schwierigste Teil beim Schreiben eines Spiels - oder einer Software - besteht darin, herauszufinden, was zu tun ist. Sie brauchen unbedingt eine Spezifikation! Das ist der spaßige Teil beim Klonen eines vorhandenen Spiels: Die Spezifikation existiert bereits. Ihre Spezifikation lautet "Das Produkt muss alles tun, was das andere Produkt tut", und wenn Sie eine Kopie des anderen Spiels zur Hand haben, ist es ziemlich einfach, dies zu überprüfen.
Sobald Sie herausgefunden haben, was Sie tun müssen, ist es wirklich nicht so schwierig , herauszufinden, wie es zu tun ist, wenn Sie ein kompetenter Programmierer sind. Ich meine nicht einen erfahrenen oder erfahrenen Programmierer. das würde bedeuten, dass Sie bereits wissen, wie Sie das meiste von dem, was Sie versuchen, zu tun. Aber Sie müssen verstehen, wie man in Abstraktionen denkt und über die für die Programmierung grundlegenden Fähigkeiten zur Problemlösung und zum logischen Denken verfügt. Wenn Sie das können, können Sie alles tun.
Trotzdem bin ich nicht einverstanden mit dem, was die meisten Leute über den Versuch sagen, das Schreiben von Spielen zu lernen, indem sie etwas wirklich Einfaches schreiben. Die Belohnung ist direkt proportional zu dem Aufwand, den Sie investieren. Wenn Sie lernen, Spiele zu schreiben, indem Sie ein wirklich einfaches Spiel schreiben, ist alles, was Sie am Ende wissen, wie man wirklich einfache Spiele schreibt, und das wird Ihnen nicht viel nützen.
Wenn Sie dagegen mit etwas Überwältigendem beginnen, werden Sie es nie zu Ende bringen. Beginnen Sie also mit etwas mäßig Schwierigem, das Sie mit ernsten Problemen befassen lässt. Das Erstellen eines 2D-Konsolen-Rollenspiels oder eines Side-Scrolling-Plattformers sind sehr gute Möglichkeiten, um echte Spielprogrammierkonzepte zu erlernen.
Es hängt wirklich davon ab, was Ihre aktuellen Kompetenzen sind. Wenn Sie relativ neu in der Programmierung sind, sollten Sie sich für eines der von den Leuten vorgeschlagenen Spiele entscheiden. Andernfalls sollten Sie darüber nachdenken, mit welchen Spielen Sie Ihre Erfahrungen sinnvoll einsetzen können.
Als ich mein erstes Spiel startete, hatte ich keine Erfahrung mit der Entwicklung von Spielen, aber ich hatte einige Jahre lang die Entwicklung von Unternehmens- / Branchen-Apps durchgeführt. Mein erstes Spielprojekt war ein rundenbasiertes Strategiespiel, und architektonisch gesehen unterschied es sich nicht wesentlich von einer Unternehmensanwendung. Es wurde ein Client / Server-System verwendet, und die Kommunikation erfolgte über einen Duplex-WCF-Dienstkanal. Die meisten Spielervorgänge wurden als "Befehle" in die Warteschlange gestellt und am Ende des Zuges an den Server geschickt. Die gesamte Spielrundenverarbeitung fand auf dem Server statt, woraufhin Updates des Spieluniversums an jeden Client gesendet wurden.
Dieses erste Projekt hat mir den Weg in die Spieleentwicklung ebnet, während ich mich in einem vertrauten Gebiet befand. Als sich das Projekt weiterentwickelte, lernte ich, mehr wie ein Spieleentwickler und weniger wie ein Enterprise-App-Entwickler zu denken. Das Endergebnis hat ziemlich gut funktioniert und es war ein bisschen beeindruckender als Battleship oder Tic-Tac-Toe :).
Knabbereien und Space Invaders
Relativ einfache KI, Grafik, Gameplay, Steuerung und sie müssen keine Soundeffekte oder Musik haben, es sei denn, Sie möchten dies hinzufügen. Ich habe mit diesen beiden begonnen, als ich lernte, wie man in QBasic für MS-DOS programmiert, und ich denke, dass sie sind großartige erste Spiele. Pac-Man wäre meine andere Wahl.
Spiele im Moonlander-Stil sind großartig (bei denen Sie ein von der Schwerkraft beeinflusstes Raketenschiff haben, die Richtung und den Schub der Spieler steuern und bei der Verwendung von Schub nur begrenzt Treibstoff zur Verfügung steht). Sammeln Sie Erfahrung mit der Implementierung einer sehr einfachen Physik, und das Kollisionssystem kann recht primitiv sein. Keine KI, um die man sich sorgen muss, und vor allem macht es Spaß und macht süchtig :)
Ein Top-Down-Weltraum-Shooter wie Galaga ist ziemlich einfach und lehrt die Kollisionserkennung ziemlich gut! Der Schwierigkeitsgrad kann variieren, von einem Level mit stationären Feinden bis zu mehreren Levels, in denen Waffen aufgerüstet werden, und Feinden, die sich in speziellen Mustern bewegen.
So etwas wie Gauntlet, weil Sie ein Entity-System, feindliche KI, Pickups, Karten, Kollisionserkennung, Wertung usw. benötigen. Es hat alles, aber nicht in einer Weise, die überwältigend ist.
Ein Mini-Zelda-Klon ist gut und übt einige Fähigkeiten aus, die hier nicht viel erwähnt wurden. Das Scrollen einer großen Karte mit Kacheln und einfache 8-Wege-Bewegungssteuerungen sind gut zu wissen. Bonuspunkte, wenn Sie Feinde machen können, aber ich würde mich nicht zu sehr darum kümmern.
Ich habe mehr als ein paar Tetris-Klone gemacht. Jedes Mal, wenn ich es tat, tat ich es etwas anders. Heutzutage mache ich normalerweise eine Art Asteroiden-Klon. Ich habe auch mehr als ein paar Missile Command-Ausgründungen vorgenommen.
Ich habe mit dem Grundspiel angefangen und bin dann dazu übergegangen, mehr Dinge, Power-Ups usw. hinzuzufügen.
Ich habe immer mit einem Panzer / Gorilla / Wurm-Spiel begonnen. Sie trainieren auf einfache Weise in der grafischen Darstellung und können Benutzereingaben lesen. Außerdem wird eine Spielschleife erstellt, die die Schwerkraft auf das Projektil ausübt und die Kollisionserkennung testet.
Danach kommt ein Spiel wie ein sehr einfacher Plattformer oder Shoot-Em-Up, in dem Sie Benutzereingaben in Echtzeit lesen müssen, anstatt die INPUT-Anweisungen, die für Gorillas funktionieren :)
Solitaire (oder wirklich jedes Kartenspiel) ist ein gutes Spiel, um sich mit einem neuen UI-System die Hände schmutzig zu machen, da es viele Widgets und Controller-Interaktions-Feedback-Mechanismen verwendet, die Sie benötigen. Außerdem ist die Logik dafür einfach und eindeutig, sodass Sie sich auf das Lernen und nicht so sehr auf das Spieldesign konzentrieren können.
Für Echtzeit-Simulationsspiele würde ich Pong immer als einen guten, einfachen Ausgangspunkt empfehlen, da das Design ebenso einfach ist wie die Controller-Oberfläche, sodass Sie zum Kern des Systems - der physikalischen Simulation - gelangen.
Ich habe immer behauptet, wenn Sie ein Spielprogrammierer sind, sollten Sie in der Lage sein, Space Invaders in irgendeiner Form zu erstellen . Das Spiel ist so einfach, dass Sie die Grafik auch selbst machen sollten.
Wenn Sie eine Auswahl kleiner Spiele in Ihrem Portfolio haben, die sich beispielsweise als nützlich erweisen, wenn ich eine neue Programmiersprache oder ein neues Framework lerne, portiere ich oft eines meiner einfachen Spiele, um zu sehen, wie die neue Methode funktioniert Dinge so zu machen, wie sie ursprünglich geschrieben wurden.
Es hängt wirklich davon ab, welche Fähigkeiten Sie als normaler Programmierer bereits haben. Braucht deine Mathematik Arbeit? Ihre Grafikkenntnisse? Haben Sie beide unter Verschluss?
Obwohl ich im Allgemeinen denke, dass Tetris und Breakout auch meine beiden Starter wären. Alles, was einfacher ist, bietet nicht genug Anregungen. Tetris ist ein guter Test für das Layout Ihrer Daten, Breakout ist ein einfaches mathematisches Beispiel. Ich sage den Leuten immer, sie sollen hoch hinaus, das Ziel ist es, nicht weiterkommen und eine Lösung zu finden.
Danach ist der Himmel die Grenze. Auch hier zielen Sie hoch. Probieren Sie einen Plattformer mit abschüssigem Gelände, Parralax, und Sie haben eine gute Tasche mit 2D-Technologie zur Hand. Fügen Sie einen Flipper hinzu (bereiten Sie sich darauf vor, frustriert zu sein) und Ihre Mathematik wird sich verbessern.
Gehen Sie von dort in die dritte Dimension, lernen Sie die Kernkompetenzen (Animation, Rendering) und Sie sollten relativ gut gerüstet sein, um mit einer guten Auswahl an Spielen umzugehen.
Mein erstes Spiel war so etwas wie Super Mario.
Bewege dich, weiche Hindernissen aus und spring. Und all diese Aufgaben können problemlos ohne Berechnung der Physik erledigt werden.
Es ist ideal, um eine einfache 2D-Sache aufzunehmen, da Sie sich nicht sehr auf eine bestimmte Implementierung / ein bestimmtes Framework / eine bestimmte Engine verlassen werden.