Wie anfangen bzw Tutorial?



  • Imo sollte man "Das Rad neu erfinden" und "Zeitverschwendung" mit der Hinsicht auf Spieleenticklung nicht total gleichsetzen. Das wird so wie ich das sehe viel zu oft in einen negativen Zusammenhang gebracht.

    Klar, wenn man wirklich vor hat mit nem Hobby Team ein etwas größeres Projekt anzugehen, dann wird es einfach nicht anders gehen als sich eine der 2 oder 3 großen OS-Libs zu holen. Die Zeit und meistens auch die Kenntnis der Entwickler reicht einfach nicht aus um für das eigene Projekt eine Engine in den Boden zu stampfen, nur damit man sich im Endeffekt ein wenig besser damit auskennt.

    Ich habe natürlich keine Statistiken, aber ich vermute, das auch heute die meisten Spieleprogrammierer noch "1-Mann-Teams" sind, die Spiele zum Vergnügen oder aus Interesse alleine programmieren. Und gerade für diese ist es oftmals viel komfortabler und auch "spassiger" eine kleine "Basisengine" zu schreiben, die man im Laufe eines Spielprojekts nach und nach erweitert und verbessert (ich spreche da natürlich aus eigener Erfahrung)

    Engines wie die Irrlicht-Engine / Irrklang usw sind für solch einfachen Spieleprojekte oft einfach zu überladen.



  • Ich denke wenn man nur ein Hobby-Programmierer ist bzw. nur privat an Spielen herumprogrammiert ist es doch egal ob man jetzt ne fertige Engine verwendet oder nicht.
    Allerdings würde ich keine fertige verwenden - vorallem weil ICH lernen will wie es gemacht wird und zwar in allen Bereichen (gut...auf die untersten ebenen genau muss ich es auch nicht wissen) - aber auf jeden Fall wie man was umsetzt usw.
    Wenn jmd "nur" ein Spiel basteln will soll er ne fertige Engine verwenden - aber letzten Endes ist es nichts anderes als sich in FremdCode einzulesen und diesen zu verstehen.

    Wenn ich zurückdenke wie mir die Lehrer damals in der Schule C/C++ beibringen wollten, war das eigentlich alles ziemlich nervig und vorallem langatmig.
    Nach den HelloWorld-Programmen ohne irgendwelchen Erklärungen zu >void< main und was "#include" sein soll...usw kam dann sofort als aufgabe Sinus von 'Eingabe' ausgeben. Dinge mit denen man so einfach überhaupt nichts anfangen kann in dem Alter. Ich war damals auch echt schlecht weil mich das alles nicht interessiert hat. Damit ich dann aber (weils im nächsten Jahr noch schwieriger werden sollte) nicht durchfalle hab ich in den Sommerferien angefangen ein kleines Spiel zu programmieren. Ein TextRollenSpiel/Adventure.
    Einfach mit Auswahlmöglichkeiten
    "1.) Etwas zum kloppen finden"
    "2.) Zum Schmied gehen"
    usw....
    Da war alles dabei...von Zufallsauswahl welches der Monster der Spieler im Wald treffen sollte. Ein eigenes Programm zum Monster erstellen (einfach name und attribute des monsters eingeben und das programm macht daraus quellcode den ich nur kopieren muss)
    File Handling, formatierte Textausgabe, Pointer,....war alles dabei...
    Klar...wenn ich mir den Code jetzt ansehe ist es einfach nur furchtbar was ich da damals verbrochen habe....aber das Spiel selbst ist trotzdem immer noch unterhaltsam.
    Danahc hatte ich auch keinerlei Probleme mehr mit dem Programmieren in der Schule...sogar ganz im Gegenteil...
    Daher würde ich es schon empfehlen mal mit der Konsole anzufangen und sich da einzufinden...Direkt mit WinAPI und Co beginnen ist zu viel denke ich.

    EDIT: seltsam....Ich konnte meine Beitrag nicht editieren...



  • Bei meinem Programmierunterricht war das damals genauso.
    Ich finde solche Programme rauben einem einfach die Motivation. Wenn du jetzt eine Engine/Lib schreibst lernst du natürlich viel dazu. Und kannst diese dann mit hoher Sicherheit auch besser verwenden als eine andere.
    Aber von einer Engine allein sieht man nicht viel. Und ich denke, dass man gerade am Anfang schnell auf ein sichtbares Ergebnis kommen möchte. Einem "Anfänger" raubt es einfach den Spass, wenn er tagelang an etwas sitzt und dann nachher erfährt, dass es nicht funktioniert. Dann ist auch noch debuggen angesagt. Letztendlich hat man kein Bock mehr.
    Zum anderen weiß man, ohne vorher eine andere Engine benutzt zu haben, garnicht was eine Engine jetzt so großartig tun können soll.

    Ich hab damals auch mit dem RPG-Maker angefangen!
    Da konnte ich allerdings noch keine Programmiersprache. Bin dann zu PHP gegangen, und letztendlich zu C++.
    Leute, die vom RPG-Maker kommen, sind gewohnt, direkt ein Ergebnis zu haben. Ich weiß nicht, wie das bei dir ist, Threadersteller.

    Mein Fazit:
    Man verwendet erstmal eine Engine. Weiß, was man mit ihr tun muss. Hat ein sichtbares Ergebnis. Lernt ebenfalls die Sprache kennen, nur nicht so trocken, sondern mit mehr Spass. Und setzt sich an die Engine dran, wenn man konkrete Vorstellungen hat.



  • Mein Fazit: Man verwendet erstmal eine Engine. ...
    und setzt sich an die (eigene) Engine dran, wenn man konkrete Vorstellungen hat.

    Genau so würde ich es einem Einsteiger in die Grafik-/Spieleprogrammierung auch empfehlen. Voraussetzung sind aber bereits ausreichend gute C++ Kenntnisse.

    Selbstverständlich ist es interessant und lehrreich, sich mit mathematischen/grafischen Grundlagen und den Libs DX und OGL zu beschäftigen, wenn man Zeit und ausreichend Geduld hat.

    Die oft propagierte These "Der Weg ist das Ziel" gefällt mir hier allerdings überhaupt nicht. Ein Einsteiger sollte möglichst schnell klare Vorstellungen über das erreichbare Ziel gewinnen, dann den für ihn richtigen Weg (flach oder steil, gekrümmt oder geradlinig) einschlagen und vor allem auch am Ziel ankommen.
    Motivationskurve und Lernkurve sollten eben zusammen passen. 🙂


Anmelden zum Antworten