Wie am besten in die 3D Spieleprogrammierung starten?



  • /rant/ schrieb:

    Games gehören zu den potentiel kompliziertesten Sachen, die man überhaupt programmieren kann (neben Betriebssystemen und Compilern).

    Schön meine Lieblingsthemen rausgegriffen 😃

    Ich kann Ogre3D empfehlen. Es gibt dafür gute Tutorials auf http://www.ogre3d.org/tikiwiki/Tutorials, wo du Schritt für Schritt Grafik und Logik baust. Außerdem gibt es fertige Libs, die solch langweiligen Kram wie 3D-Formate Lesen/Schreiben machen, und wenn man will auch Partikelphysikkrams machen können.



  • Was für ein Spiel willst du denn überhaupt machen?


  • Mod

    cooky451 schrieb:

    Was für ein Spiel willst du denn überhaupt machen?

    Habe auch eine echt klasse Idee für ein Speil, welche ich auch zu gerne umsetzen würde.

    @0xDEADC0DE
    klingt an sich valide, am ende kommt es eh drauf an, dass du dich nicht unterkriegen laesst und weitermachst. mit der zeit wirst du 100andere 'ideen' haben und leute werden dir andere modelling programme, sprachen usw. aufschwatzen wollen, weil es ihnen gefaellt. bleib einfach am ball, wenn was schief geht, poste hier, wir helfen gerne 🙂

    entscheide dich fuer opengl,d3d oder eine engine und geh die tutorials dazu durch. erwarte als anfaenger nicht dass du sofort alles perfekt machst, also ist es ganz valide den hacky weg zu versuchen um erfolgserlebnisse zu haben. mit der zeit kommst du besser dahinter wie alles funzt, am anfang ist vielleicht alles ein wenig undurchsichtig und du kannst nicht alles wissen bevor du anfaengst.

    go go go 🙂



  • Von C++ solltest du auch Ahnung haben, am besten nicht zu knapp. Der Fehler, den viele machen, ist Selbstüberschätzung: Auch wenn du virtuelle Funktionen verstanden hast, bist du erst am Anfang. SEHR wichtig ist die Fähigkeit, Code wiederzuverwenden und Abstraktionen zu erstellen. Z.B. solltest du keine Arrays, sondern STL-Container benutzen. Und kein new / delete , sondern automatische Objekte und wo nötig unique_ptr . Und keine C-Stringverarbeitung wie strcpy() , sondern std::string .

    Zusammengefasst: Lerne idiomatisches C++, wie es in Büchern wie Effective C++ vermittelt wird. Ansonsten machst du immer alles mühsamer als notwendig und baust sehr schnell Fehler und Perfomance-Probleme ein, die du dann lange ausbügeln musst. Es lohnt sich mehr, zuerst ein paar Wochen die Konzepte intensiv zu verinnerlichen, als mit Halbwissen ein grosses Projekt frustriert zusammenfrickeln zu wollen.

    Anschliessend würde ich Irrlicht anschauen, finde ich persönlich einsteigerfreundlicher als Ogre. SFML bietet auch nette Features an (2D-Grafik, Audio, Netzwerk, ...)



  • Am besten lernt man, wenn man Spass hat!



  • Man ich weiss noch meine Anfänge(ok, ist noch so lang her.) Ich hab damals damit angefangen:

    http://www.lighthouse3d.com/tutorials/glut-tutorial/

    Sry, ist in englisch, aber damit wirst du klarkommen müssen.
    Kurzes Briefing: Glut ist ein toolkit,das auf OPengl basiert(Versuch mal ein gratis Directx Tutorial zu finden!), das dir viel Arbeit abnimmt, wie das Abfragen der Tastatur oder das erstellen eines Fensters. bastel doch mal damit ein wenig rum.

    dann versuch mal daraus ein Spiel zu machen, bei dem man bsp. den Schneeman steuert.

    Aber klar die anderen haben recht, wenn du mit grunfkentnissen ein Hello World programm meinst, dann würde ich mich erst noch ein wenig mit c++ beschäftigen.



  • Danke schonmal 🙂
    Ich habe schon in einem Buch aus Neugier ein wenig rumgeblättert und gelesen, dass das Programmieren von Spielen zu den komplexesten und schwierigsten Programmiervorhaben gehört und dass ein Game über mehrere millionen Zeilen an Code enthalten kann. Schon logisch, dass das Ganze Jahre in Anspruch nehmen wird.

    Um meinen vorherigen Beitrag noch ein wenig zu präzisieren, modellieren tu ich mit Cinema4D. Komm damit relativ gut zurecht und würde auch gerne wetierhin damit modellieren.
    Habe bislang nur simple Programme in C++ geschrieben. Besitze ein Buch für den Einstieg in diese Sprache. Habe ein Programm geschrieben, mit dem ich gut Vokabeln und Japanische Schriftzeichen lernen kann 😃 habe aber auch ein wenig Hilfe für die Class Random benötigt.
    Deswegen ja die Frage, wie man nun das Ziel der erfolgreichen Spieleprogrammierung auf einem möglichst produktiven (aber auch flexiblen) Weg erreicht. Schon klar dass man eben die Programmiersprache beherrschen muss. Daher ja auch die Frage, wie man am besten mit dem finalen Ziel der Spieleprogrammierung anfängt. Welche Bücher, welche Programme und Hilfsmittel oder Seiten im Netz währen empfehlenswert? (besitze schon das Buch Visual C++ 2010)



  • Ich persönlich würde für den Einstieg zu SFML raten. Schnapp dir einfach SFML 2.0 und versuch mal, ein kleines Spiel zu machen, Pong oder sowas...



  • Indem man programmieren lernt. D.h. erst Konsole: Galgenraten, Mastermind. Dann 2D: Mineswepper, Pong, Tetris, Bomberman. Dann Pong Bomberman mit Multiplayerunterstuetzung. Dann 3D: rolling aroung with a ball. Dann: komm wieder wenn du das geschaft hast. Vielleicht musst du nich alles machen, aber ein Direkteinstieg (also von 0 auf 100 in nichts komma null) gibt es nicht.



  • STRG + F hat das Wort "Unity" nicht gefunden. Vlt ist das ja was du willst... Zwar kein C++, sondern C# (oder JS), aber damit solltest du deine Idee vor ~2020 umsetzen können.



  • Genau so gut, aber open source und mit c++:
    http://www.garagegames.com/products/torque-3d/overview


Anmelden zum Antworten