Was muss ich wissen um ein Strategiespiel programmieren zu können?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

LOL – Der ist gut! :-D

Das ist ungefähr so, als wenn Du zum Autofahren-Lernen eine Mondrakete bauen willst.

Ich will Dir/Euch jetzt nicht den Mut nehmen, aber für Strategiespiele müsst Ihr Kenntnisse in Logik-Strategien haben. Sonst bastelt ihr für jede Eventualität eine eigene Routine und dann wird das Ding gewaltig riesig und ist immer noch bestenfalls geeignet für Unter-10-jährige.

C/C++ ist schon mal ein guter Anfang. Aber leider kann man nicht einfach mal mit Programmieren anfangen. Da muss man sich von klein auf durch arbeiten. Hast Du mal im Englisch-LK Shakespear im Original gelesen? Das ist Euer Ziel. Aber ihr könnt noch nicht einmal das normale Englisch. Das müsst Ihr jetzt erst lernen, wie damals in der 5. Klasse.

Nehmt Euch mal einfache Übungsprojekte vor, die erst mal nicht unbedingt etwas mit Spielen zu tun haben müssen, damit Ihr erst einmal die Logik des Programmierens erlernen könnt.

Schreib mal einen einfachen Text-Editor und dann erweitere den zu einem MDI-Editor und dann mit typografischen Elementen (Fett, Kursiv, Schrift-Größe, etc.). Das hört sich vielleicht popelig an, ist aber irgend wann eine harte Nuss und man muss sich schon tief rein graben.

Oder bastel mal so etwas "Einfaches" wie Tron. Unter DOS war das mal einfacher, aber in einer GUI ist das sehr umständlich geworden.

Jetzt hast Du mal einen Anfang, in welche Richtung das geht. Eigentlich seid Ihr damit bereits auf dem richtigen Weg. Der Rest, was Ihr dann noch braucht, ergibt sich auf Eurem Weg und in der Fall-Recherche.

ArminDigga 
Fragesteller
 11.10.2016, 16:26

Vielen Dank dir Markus erstmal für diese aufwendige Antwort!
Mathe und Englisch können wir alle eig. ziemlich gut also das dürfte kein Problem werden. Wüsstest du vllt ein gutes Einsteigerbuch ins "Programmierwesen" oder so etwas ähnliches das handfest ist? 
Übrigens, was hältst du persönlich von der Unity Engine, die wird ja überall hochgelobt und magicdrummer empfiehlt sie mir auch oder ist die für diese Art von Spiele eher ungeeignet? :/

0
MarkusGenervt  11.10.2016, 17:25
@ArminDigga

Also ohne Englisch geht sowieso gar nichts und Mathe ist bei dem, was Ihr vorhabt, auch recht "hilfreich". Das hört sich vielversprechend an.

Allerdings muss man beim Programmieren schon etwas umdenken. Nicht alles, was in Mathe geht, geht auch beim Programmieren so 1:1. Aber einmal kapiert – kein Ding!

Mit Büchern habe ich das nicht so. Ich habe das alles autodidaktisch gelernt und durch experimentieren. Dadurch habe ich zwar manchmal auf dem Schlauch gestanden, aber durch das harte Erarbeiten habe ich vieles richtig gut gelernt.

Meine Empfehlung ist, erst mal mit etwas Einfachem wie einer Script-Sprache (z.B. JavaSkript oder Bash) anzufangen, damit erst einmal die Grundzüge der Programmierung verstanden werden können, ohne sich mit dem ganzen Umbau zu beschäftigen. Der ist erst mal sehr abstrakt und unverständlich, wenn man nicht weiß, wie ein Computer so tickt. Dafür allerdings wiederum sollte man sich auch mal mit Assembler auseinander setzen.

Ich habe das mal mit einem uralten Buch (Peter Norton's Assemblerbuch, 1988 – ja, genau der Norton) für den 8086 Prozessor (der Urahn des Intel-Prozessors) gelernt. Das war noch recht überschaubar, weil es ein 16bit-Prozessor mit wenigen Registern war und auch noch ohne GUI-OS programmiert wurde. Heute ist der Markt einfach unüberschaubar. Da kannst Du auch sowas wie "JavaScript/Assembler für Dummies" nehmen.

Als Anfänger solltest Du auf jeden Fall eine IDE mit Syntax-Highlighting, Auto-Vervollständigung und integrierter Hilfe nehmen. Das ist Gold wert, wenn man zur Befehls-Hilfe einfach per Kontext/[F1] kommt.

Unity Engine habe ich selbst noch nicht mit gearbeitet, aber es scheint mir für Anfänger einfach zu heavy. 3D-Programmierung ist echt die Königsklasse und – mit Verlaub – Ihr habt Euch noch nicht mal zum Knecht hoch gearbeitet. Ich hoffe Du verstehst, worauf ich hinaus will.

Das alles soll dich aber nicht entmutigen! Wenn Ihr da intensiv ran geht und erst mal mit kleinen Schritten anfangt, dann kommt auch schnell der Erfolg und der ist extrem wichtig für die Motivation. Wenn Du gleich mit so einem Hammer-Teil anfängst, bist Du völlig überfordert und weist nicht mehr, wo oder wer Du bist.

Stell Dir vor, Du möchtest fliegen lernen und man setzt Dich gleich auf den Pilotensitz einer Boing 747:

http://images.forwallpaper.com/files/thumbs/preview/78/785708__boeing-747-cockpit_p.jpg

WTF!  o..O

So sieht's aus!

Allerdings muss ich auf den zweiten Gedanken sagen, das Unity Enigine eher etwas für solche 3D-Spiele in der Art von GTA oder WOW ist. Wenn Ihr Euer Strategie-Spiel natürlich so gestalten wollt, dann ist das keine schlechte Idee.

Andererseits würde ich mich erst einmal mit Strategie-Algorithmen aus Schach oder Mühle befassen. Das ist dasselbe Prinzip und man muss sich auch erst mal nicht mit dem Design befassen.

Um das Design kann man sich kümmern, wenn Ablauf-Plan und -Steuerung fertig entwickelt sind.

Die Leute, die solche Spiele programmieren, haben sich schon seit Jahren mit diesen Dingen beschäftigt. Ihr solltet vielleicht auch mal vorher verstehen, dass Euer Vorhaben – je nach Schwierigkeitsgrad des Spiels – mehrere Jahre in Anspruch nehmen wird. Aber keine Jahre, wie bisher in der Schule, sondern eher so was hier:

http://newvaluestreams.com/wordpress/wp-content/uploads/2009/12/computer_nerd.jpeg

Das hier hat sich auch schon jeder Programmierer mal gewünscht:

http://static-1.mojvideo.com/foto57662-1937-57513/computer-freak.jpg

Also,

http://images5.fanpop.com/image/photos/28000000/DON-T-PANIC-micketo-28047682-1024-768.jpg

2

Ich stimme MarkusGenervt voll und ganz zu, den der Weg dort hin, zu dem ihr wollt ist ziemlich schwer und erfordert viel Kompetenz, die ihr von Anfang an mitbringen müsst, wie z.B. sehr gute Mathematik Kenntnisse und Englisch.
Ihr werdet sehr viele Englische Dokumentationen lesen und so komplexe Spiele erfordern viele komplizierte Algorithmus.
Ich hoffe ihr wart gut in Mathe AnaIysis und der Zufallsrechnung, den damit werdet ihr später auch noch zu tun bekommen.

konkreter tipp: unity engine  und die online unity kurse :)

für anfänger find ich Unity  sehr sehr klasse, auch für fortgeschrittene oder propfis, die Engine ist einfach  gut.

gibt wie gesagt  sehr gute  freie Kurse aber auch kostenpflichtige klassen.

sogar assets kannst dir kaufen damit du nicht alle  dinge selbst designen musst.

Zuerst einmal würde ich als Einstieg in die Logik des Programmierens einen Java Kurs machen (Gibt es online).

Dann z. B. auf C++ Umsteigen.

Woher ich das weiß:Hobby – Gamer seit 18 Jahren