kostenloser Webspace werbefrei: lima-city


Tutorial für 3D-Spiele

lima-cityForumProgrammiersprachenC/C++ und D

  1. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    Kennt jemand ein gutes Tutorial für 3D-Spiele in C++ für Einsteiger?
    Suche schon Ewigkeiten im Internet danach, finde aber nichts.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Es wird wahrscheinlich auch keine geben. Spieleprogrammierung ist ein großes Feld und es gibt sehr viele verschiedene Spieltypen, so dass es nicht denkbar ist, dass jemand ein universelles Tutorial für 3D Spiele schreibt.

    Du wirst dir daher immer Tutorials zu den einzelnen Techniken zusammensuchen müssen, je nachdem, was für deine Bedürfnisse am passensten ist. Es gibt im Web auch einige Blogs vom Spieleprogrammierern, wo man sich einen Überblick über existierende Techniken holen kann.

    Und zu guter letzt muss man natürlich auch bedenken, dass Spieleprogrammierung nicht nur eine Frage der Programmiersprachen, Libraries und Toolkits ist, sondern man auch verstehen muss, wie man ein Spiel richtig plant und sich Gedanken macht, wie man alles umsetzen und verbinden will, bevor man überhaupt die erste Zeile Code geschrieben hat.
  4. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    Ich bin mir dessen bewusst, das man viel Zeit in ein Spiel stecken muss und das auch noch bevor man überhaupt anfängt zu programmieren. Die Spielidee besteht und einige spezielle Features hab ich auch schon.
    Ich will nicht zu viel veraten, aber es soll ein RPG im Gothic-Stil werden mit Erfahrungspunktesystem und Belohungssystem. Kein billiger Abklatsch von Gothic selbst, aber so in die Richtung.

    Vielleicht kenn jemand das richtige Tutorial oder Forum dafür...
  5. Ich bezweifle, dass du da was finden wirst. Versuche mal folgendes: Formuliere deine Spielidee wirklich mal aus. Schreib eine komplettes Designdokument(*), das jedes Detail des Spiels beschreibt. Überlege dir dabei insbesondere, wie du dein Designdokument aufbaust, so dass es in verschiedene Abschnitte für die einzelnen Techniken aufgeteilt ist, also Graphik, Steuerung, Sound, Aufbau der Savegame-Dateien, Inhalte der Spielwelt (Geschichte, Personen, ect), Aufgabenstellungen für die Spieler, und und und...

    Versuche alles so genau wie möglich zu beschreiben und berücksichtige dabei technische Details und überlege dir dabei schonmal Algorithmen und Datenstrukturen für die jeweiligen Abschnitte. Außerdem solltest du einen Abschnitt haben, der beschreibt, wie du die ganzen technischen Komponenten miteinander kombinieren willst.

    Wenn du richtig vorgegangen bist, wirst du in deinem Designdokument sehr sehr viele einzelne technische Probleme beschrieben haben, die du nach und nach lösen musst, indem du das Web nach den richtigen Stickpunkten durchsuchst.

    Das wichtige ist eben, dass man alle technischen Probleme in möglichst viele kleine eigenständige Probleme aufteilt und sich überlegt, wie man die Lösungen dieser Probleme dann miteinander kombiniert.

    (*) Hier empfieht es sich, ein Wiki (nur für dich selber) aufzusetzen, weil du sehr viel hin und her in deinem Designdokument "blättern" wirst. Sowas willst du mit einen 100-seitigem Word-Dokument nicht machen.
  6. C++ ist eine Programmiersprache. Erschreckend, dass man sowas anmerken muss, aber es hat seinen Grund, dass ich das anmerke.

    An deinem Nick erkenne ich, dass du bisher mit Visual Basic programmiert hast. VB ist - bei allen guten Geistern - keine echte Programmiersprache. Also zumindest nicht aus meiner Sicht der Dinge.

    Wenn du von VB auf C++ umsteigst, solltest du wirklich alles vergessen, was du bisher gelernt hast. VB ist afaik eine Event-Basierte Sprache. Bei C++ erstellst du diesbezüglich ein Objekt...

    C++ ist schönerweise Objektorientiert. Das heisst: Du wirst für absolut jeden Müll eine fertige Methode finden. C++-Tutorials gibt es zuhauf, google wird dir da definitiv weiter helfen. Aber wenn du schon mit VB arbeitest, würde ich dir eher ein 'VB-Turorial empfehlen, oder zumindest ein Tutorial, welches die Grundstrukturen eines Spiels behandelt.

    Am Anfang steht immer die Struktur des Spiels. Also trenne dein Spiel immer so weit auf wie möglich. Am Anfang stehen Probleme wie "Wie registriere ich einen Tastendruck" oder "Wie registriere ich die Mausbewegung?" - für diese gibt es fertige Libs. Danach: Wie zeichne ich ein Bild? Wie zeichne ich ein Polygon? Arbeite dich durch all diese Tutorials durch und du wirst merken, warum vb keine gute Wahl ist ;')

    Alles andere findest du bei Google unter <Name> Tutorial. Aber überleg dir erstmal, was du brauchst.
  7. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    Okay, danke. Wird verdammt viel Arbeit werden.

    Werde jetzt erst mal C++ Allgemein lernen und dann schau ich mal weiter.

    Danke nochmal.
  8. Es gibt keine 3D Tutorial's für Einsteiger, wenn du ein 3D Spiel machen willst, brauchst du eine 3D Engine und dass ist sehr viel Arbeit, wahrscheinlich wirst du nichts finden denn wenn du ein 3D Spiel machen willst brauchst du sehr viel Kentnisse oder viele Leute.

    Mit freundlichen Grüssen,
    Extremiie
  9. extremiie schrieb:
    Es gibt keine 3D Tutorial's für Einsteiger, wenn du ein 3D Spiel machen willst, brauchst du eine 3D Engine und dass ist sehr viel Arbeit, wahrscheinlich wirst du nichts finden denn wenn du ein 3D Spiel machen willst brauchst du sehr viel Kentnisse oder viele Leute.

    Mit freundlichen Grüssen,
    Extremiie
    PS: "Das" mit 1 s und Plural S ohne Apostroph, sowie Grüßen mit ß

    Aber so ganz kann ich dir da nicht zustimmen: Ich bin von Java auf C++ umgestiegen, habe mich erstmal in die Sache mit den Zeigern eingearbeitet, der Rest war sehr javaähnlich und dann konnte ich schon meine erste 3D Anwendung schreiben. Zugegebenerweise ist die Welt statisch und es passiert auch nichts, aber es ist 3D. Um alles zu initialisieren braucht man schon ein paar Tage Zeit, ich glaube bei mir waren es zwei Wochen, aber dann steht das Gerüst schon.
    Wichtig ist: Entscheide dich für eine Grafikengine! Ich habe OpenGL genommen, weil sie in meinen Augen eine größere Auswahl bietet und nicht nur mit Polygonen arbeitet. Außerdem ist es einfacher damit zu arbeiten, weil man genau weiß, was wann passiert. Bei DirectX übergibt man ein paar Werte, hat aber nicht wirklich Einfluss.

    Beitrag zuletzt geändert: 3.7.2010 18:55:41 von toolz
  10. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    @ toolz: wie lange brauchtest du, bis du c++ soweit konntest, dass du deine erste 3D Anwendung schreiben konntest?
  11. [/quote] PS: "Das" mit 1 s und Plural S ohne Apostroph, sowie Grüßen mit ß
    [/quote]

    Ich lebe in der Schweiz und da gibt es kein "ß".

    Mit freundlichen Grüssen,
    Extremiie
  12. visual-basic schrieb:
    @ toolz: wie lange brauchtest du, bis du c++ soweit konntest, dass du deine erste 3D Anwendung schreiben konntest?
    Das weiß ich nicht genau. Man braucht relativ viel Zeit am Anfang (ich würde mit C++ erstmal ein Paar Konsolenanwendungen schreiben). Aber da ich Java kann, viel mir das relativ leicht.
    Seit ein paar Jahren habe ich immer wieder was mit C gemacht, aber so richtig intensiv erst seit letztem Jahr.

    Wichtig ist für dich, da du von Basic kommst: Lerne die Syntax, lies dir ein Paar Artikel über Objektorientierung und Zeiger durch. Dann versuchst du mal Objekte und Zeiger in einer Konsolenanwendung zu verwenden. Wenn du das ohne Anleitung schaffst, kannst du es mal wagen und dich in eine Grafikengine einarbeiten.
  13. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    Gut, danke für die Hilfe. Wird eine Menge Arbeit werden, aber ich werde mich mal an die Arbeit machen.
  14. Ich kenne zwar kein Tutorial in diese Richtung aber es gibt mehrer Bücher die dir vielleich helfen könnten:

    3D-Spieleprogrammierung mit DirectX 9 und C++
    C++ für Spieleprogrammierer

    etc...
  15. s********4

    Wenn Du produktiv sein willst und schnell Ergebnise haben willst, die auch geil aussehen und das mit recht wenig Lernaufwand am Anfang, empfehle ich Dir das UDK, das Unreal Developement Kit. Das ist die Engine mit der Unreal Tournament 3 entwickelt wurde, diese ist mittlerweile kostenfrei erhältlich. Es gibt nen Haufen Videotutorials direkt von Epic dazu, allerdings in englisch.
    Aber ne gute Möglichkeit das Englisch aufzupeppen ;).
    Ich arbeite seit geraumer Zeit damit und bekomme viele schöne Levels hin. Der Weg ist zwar auch steinig und erfordert recherche und Arbeit, aber Du bist schneller produktiv als wenn Du das Rad neu erfindest.
    http://udn.epicgames.com/Three/DevelopmentKitHome.html

    Einige Screens von mir:
    http://img339.imageshack.us/img339/323/gamescreenlightingfinal.png
    http://img535.imageshack.us/img535/323/gamescreenlightingfinal.png
    rya.
  16. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    Dankesehr für diesen Tipp. Ich war schon immer auf der Suche nach so einem Programm
  17. Ja das UDK an sich ist eine schöne Sache. Allerdings hat man mit einem "Fertig-Programm" nicht so viel Flexibilität, als wenn man das Spiel selbst schreibt. Klar, im UDK hat man in Sachen Contentmanagement so ziemlich alles was das Spiele-Programmierer-Herz begehrt. (z.B. Contentbrowser, PhAT, dieser SoundCue Editor, komm jetzt nicht auf den Namen ^^). Nicht zu verschweigen ist auch die Visuelle Scriptsprache (Kismet oder so...), die meiner Meinung nach weit ausgereift ist. Außerdem hat man mit dem UDK "Zugriff" auf die UnrealEngine. Die vor allem in Sachen Rendering gute Ergebnisse erzielt.

    Aber wie gesagt, man kann halt kaum eigene Spielideen verwirklichen. Für Einsteiger ist das UDK aber eine gute Möglichkeit sich mit der Logik von Spiele vertraut zu machen.

    PS: Man braucht viel Zeit und gute Englischkentnisse bis man mit vielen Funktionen des UDK umgehen kann. Außerdem muss ich dazusagen, dass das UDK auf meinem Computer mit einer GeForce 9300M G nicht sehr flüssig läuft.

    Beitrag zuletzt geändert: 7.7.2010 11:32:12 von primenic
  18. Autor dieses Themas

    visual-basic

    Kostenloser Webspace von visual-basic

    visual-basic hat kostenlosen Webspace.

    Werd mir das Programm erst mal anschauen müssen und mich dann einarbeiten. Werd mal sehen was dabei rauskommt.

    PS: Ich hab eine ATI Mobility Radeon HD 5870 -> läuft alles flüssig.
  19. visual-basic schrieb:

    PS: Ich hab eine ATI Mobility Radeon HD 5870 -> läuft alles flüssig.


    Glückspilz :thumb:

    Kann dir zum einarbeiten das hier empfehlen: http://udn.epicgames.com/Three/VideoTutorials.html.
    Mein Schulenglisch hat ausgereicht :biggrin:

    Ach ja..., wenn du hilfe brauchst dann kannst mir ja ne PN schicken, arbeite schon seit einer halben Ewigkeit damit. :lol:
  20. s********4



    Aber wie gesagt, man kann halt kaum eigene Spielideen verwirklichen. Für Einsteiger ist das UDK aber eine gute Möglichkeit sich mit der Logik von Spiele vertraut zu machen.

    Dem möchte ich widersprechen. Man kann durchaus eigene Ideen verwirklichen. Und *Hust* entschuldige bitte, aber das UDK ist genau das selbe wie das, das Lizenznehmer der U3 Engine bekommen. Nur bekommen die noch den SourceCode dazu um den Editor und die Engine anpassen zu können.
    Allerdings ist über das Scripting und hier meine ich nicht Kismet, sehr viel an eigenen GameModi möglich. Man hat wirklich volle Kontrolle und kann auch Top Down Shooter oder Puzzles entwickeln etc.
    BItte das UDK nicht unterschätzen :).
    Möchte noch drauf hinweisen, dass das UDK nur für kostenlose Spiele auch kostenlos ist. Willst Du Dein Spiel verkaufen musst Du es lizenzieren.
    rya.

    Beitrag zuletzt geändert: 7.7.2010 15:03:25 von scorcher24
  21. scorcher24 schrieb:


    Aber wie gesagt, man kann halt kaum eigene Spielideen verwirklichen. Für Einsteiger ist das UDK aber eine gute Möglichkeit sich mit der Logik von Spiele vertraut zu machen.

    Dem möchte ich widersprechen. Man kann durchaus eigene Ideen verwirklichen. Und *Hust* entschuldige bitte, aber das UDK ist genau das selbe wie das, das Lizenznehmer der U3 Engine bekommen. Nur bekommen die noch den SourceCode dazu um den Editor und die Engine anpassen zu können.
    Allerdings ist über das Scripting und hier meine ich nicht Kismet, sehr viel an eigenen GameModi möglich. Man hat wirklich volle Kontrolle und kann auch Top Down Shooter oder Puzzles entwickeln etc.
    BItte das UDK nicht unterschätzen :).
    Möchte noch drauf hinweisen, dass das UDK nur für kostenlose Spiele auch kostenlos ist. Willst Du Dein Spiel verkaufen musst Du es lizenzieren.
    rya.


    Ja es stimmt schon, dass man mit dem UnrealScript viel Kontrolle hat, aber kann man damit z.B. ein eigenes Dateiformat auslesen, Ntzwerkverbindungen aufbauen, etc.? - Sag mir bitte wenn ich mich irre!
    Wenn ich mir jetzt sicher wär, dass man die AA-Einstellungen nicht anpassen kann würd ichs vielleicht auch noch bemängeln... ^^

    Außerdem sagst du, dass die Lizenznehmer den SourceCode bekommen um die Engine anzupassen..., wenn man nun volle Kontrolle über UnrealScript, Kistmet, usw. hätte, warum sollte man dann die Engine anpassen? :confused:

    Naja, vielleicht habe ich auch ein kleines bisschen übertrieben, aber wirklich die absolute Kontrolle hat man mit der kostenlosen Version nicht.

    Eine Frage noch: Ich bin jetzt immer davon ausgegangen, dass es hier um die Free-Version geht. - Ist doch so oder?

    Beitrag zuletzt geändert: 7.7.2010 16:16:07 von primenic
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!