2D Mini-Spiele Programmieren lernen?

4 Antworten

Lerne erst einmal Programmieren. Ich rate Anfängern immer zu Python, da die Sprache recht leicht ist und man aufgrund der Syntax zu sauber formatiertem Code gezwungen wird. Optional währe vielleicht auch Ruby interressant. Du kannst natürlich auch (so wie ich damals :D) den Hardcore Weg gehen und direkt mit C++ einsteigen. 

lobbyweltweit  24.05.2017, 14:26

Omg ich hasse es an sich Menschen zu kritisieren da mein Sprachenvokabular so Rosig und ABSOLUT (nicht) politisch Korekt ist. "An alle bitte nicht zu sehr auf die Rechtschreibung achten" Aber zu dir Blackstorm ein paar Worte. PRINZIPELL ist es egal welche Sprache er zuerst lernt da das Prinzip beim Programmieren eh immer das SELBE ist! :P Da brauchst du dich auch nicht so hervor tun mit deinem "Hardcore Weg mit C++" . "Facepalm" Ich zum beispiel habe mich zuerst mit Metin 2 und Lua befasst und bin im Anschluss auf C++ umgestiegen und habe den Source so umgeschrieben das ich fast schon einen Crysis Warfare Clone vor der Nase hatte. Das hat alles nicht all zu lange gedauert ca.1.5 Jahre vielleicht. ;) Also Mystifiziere das Thema Programmierung nicht so denn so schwierig ist DAS NICHT! So einfache Stichliste an alle die Programmieren lernen wollen... :) 1.Bücher kaufen und lesen. 2.Beispiel Templates aus dem Internet suchen und das was man vor der Nase hat verstehen lernen. 3.Die eingepaukten ich nenne es mal Vokabeln zusammensetzen und schauen was passiert. 4. Lerne das gelernte umzusetzen(Du willst was also versuche es umzusetzen) 5.DAS WICHTIGSTE ist AUSDAUER!!!!! Programmieren in welcher Sprache auch immer bringt immer seine Individuellen Probleme mit also "Lerne Ausdauernd und durchsetzend zu sein"

PS: Im Internet gibt es unzählige Tuts und Foren zum Thema programmieren. Und wenn du ein Handfestes Problem hast was nicht nur als Beispiel jetzt daraus besteht was "ein Kompiler" ist. Wirst du auch die entsprechende Hilfe bekommen. ;)

0

Nun programmieren kann man sowas letztlich in etlichen Sprachen. Heutzutage ist für Browsergames HTML5 relativ beliebt, das ist letztlich hauptsächlich JavaScript und CSS.

Als erstes musst du aber, egal in welcher Sprache du das programmieren willst, entsprechend programmieren lernen.

Du kannst dich auf HTML5 stürzen, das läuft dann sogut wie überall oder auf eine normale Hochsprache wie C/C++ in Verbindung mit einer grafischen Bibliothek wie SDL. Das ist letztlich erstmal nur eine Entscheidung.

Wenn du dann an sich programmieren kannst, dann sollte die Mathematik auch soweit stimmen. Für etwas wie Snake wird das nix wildes sein aber eine entsprechende Kollisionsabfrage sollte schon drin sein, sprich Vektorrechnung sollte man beherschen. Da gibs auf Youtube ne schöne Reihe Namens Math for Game Developers.

Anschließend musst du dich mit der Spieleprogrammierung selbst beschäftigen und ihren Problemen. Wobei das im Falle Snake höchstens eine vernünftige Gameloop wäre, sofern man ein Menü macht mit belegbaren Tasten ggf. noch ein Command Pattern oder ähnliches. Zum Thema Gameloop finde ich folgende Seite sehr gut:

http://gameprogrammingpatterns.com/game-loop.html

Lass dir aber gesagt sein Spieleprogrammierung hat nix mit Spiele spielen zutun. Letztlich ist es nur Informatik, sprich technische Mathematik.

Die Tutorials an sich orientieren sich danach nach der Sprache. Willst du eine Windows Anwendung machen würde ich nach C++ und SDL suchen, da findest du bei Youtube mehr als genug. Die C++ Videos von thenewboston fand ich damals ganz nett, wobei es heutzutage vielleicht schon besseres gibt. Willst du dich eher am Browser orientieren, dann heißt es eben HTML, CSS und JavaScript lernen. Im Web muss man leider mit mehren Sprachen arbeiten und sich mit Problemen rumschlagen, wie dass sogut wie jeder Browser anders reagiert und ältere Browser bestimmte Sachen garnicht unterstützen.

Dann heißt es natürlich noch die ganzen Events (Tastendrücke/Maus) auszuwerten. Ggf. brauchst du Sounds und Grafiken die auch irgendwo herkommen müssen. Willst du Animationen bieten sich anfangs z.B. Sprites.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012
blackst0rm  26.06.2015, 19:01

Naja soo viel Mathematik ist das auch nicht. Die Mathematik hinter einem 2D Spielbgeht eigentlich nicht über den 10. Klasse-Wissen hinaus.Bei 3D spielen wird das ganze um eine Dimension komplexer und man muss sich mit Dingen wie affinen Abbildungen und Vektorrechnung befassen. Vieles dav8n wird heutzutage aber schon von Spieleengines wie Unity oder Unreal abstrahiert. Spaßig wirds wenn man selbst eine schreiben will (oder muss... hab ich mal im Studium gemacht mit Abstraktionsschicht OpenGL und D3D...)

0
apachy  26.06.2015, 19:46
@blackst0rm

Nun Vektoren sind für 2D Spiele genauso interessant, dabei muss es ja keine 3te Koordinate geben. Darüber hinaus können auch je nach Spiel trigometrische Funktionen interessant sein. Und von viel mehr Mathe hab ich auch nicht geredet.

Für etwas wie Snake und co. wäre eine entsprechende Engine eh der totale Overkill.

Problem das ich sehe ist das die meisten nur Spiele spielen und denken sie klicken sich hier was zusammen. Auch da mag es Ansätze geben aber was vernünftiges rauskriegen ist schier unmöglich. Spieleprogrammierung hat eben genausoviel mit Spiele spielen zutun, wie Brötchen backen mit Brötchen essen. Nur weil einem warme Brötchen am Morgen gut schmecken heißt nicht, dass es einen schmeckt um 2-3 Uhr Nachts aufzustehen in die Bäckerei zu düsen und die Brötchen zu backen.

1

Ich habe vor fast einem Jahr mit Java angefangen, habe schon ein Snake programmiert, und bin jetzt auch schon ein bisschen weiter ;). Theoretisch ist es egal mit welcher Programmiersprache man anfängt, aber ich würde Java empfehlen da es eine gute Programmiersprache zum anfangen, aber auch sehr komplex ist. Als Tutorial würde ich dir die Java-Serie von Brotcrunsher(auf YT) empfehlen. Als IDE würde ich Eclipse sehr empfehlen.

Also wenn du noch nie sowas gemacht hast, wird das eher kompliziert. Fang dich mit leichteren Übungen an ;)