Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 3D Spiel (https://www.delphipraxis.net/74604-3d-spiel.html)

vlees91 10. Aug 2006 17:05

Re: 3D Spiel
 
Genesis3D benutzt DirectX 7 (oder 6?! aber ich glaube 7) (also auf jedem Fall in diesen beiden büchern) und ist vergleichbar mit HL/CS (benutzt als maps auch die bsp dateien als format).

Watsch 10. Aug 2006 17:27

Re: 3D Spiel
 
Zunächst einmal: Ich hab das Buch "Game Programming for Kids". Ob ich's empfehlen kann oder nicht? Hmmm, ich hab's bisher noch nicht durchgearbeitet. Allerdings ist auf der beiliegenden CD alles dabei, was man braucht. Des weiteren kommt's (meiner M;einung nach) immer auf das Verständnis des Lesers an. So oder so, man sollte (was auch im Buch steht), sich mit Delphi auskennen.

Naja, und zum Thema 3D: Nun, 3D ist (meiner Erfahrung nach) nicht grad einfach. Grade Spiele (Level, Gegner, usw.) ist ein erheblicher Aufwand, das sollte Dir klar sein - so'n Ding hat man nicht unbedingt in einem Monat (vor allen Dingen, wenn man aleine an diesem Projekt arbeitet!!!) fertig.

Mein Tipp wäre an dieser Stelle: Geh einfach mal in eine Bibliothek, besorg Dir Bücher über 3D und Delphi. Und such im Internet nach entsprechenden Tutorials (Links sind ja oben angegeben)

Cöster 10. Aug 2006 18:42

Re: 3D Spiel
 
Ich hab mir hier mal ein paar Tutorials über 3D-Spiele-Programmierung durchgelesen. Die von Hans-Georg Schumann sind aus dem Buch "Game Programming für Kids" und haben mir sehr gut gefallen. Deshalb würde mich auch interessieren, warum vlees91 davon abrät. Genesis3D sei laut der Tutorials in Leistung vergleichbar mit den 3D-Spiele-Engines der professionellen Spiele. Wie Leistungsstark ist denn GLScene?

vlees91 10. Aug 2006 18:46

Re: 3D Spiel
 
Proffessionelle Spiele? die aber alt sind.
wie proffessionell ein spiel ist, hat nichts mit der engine zu tun...
aber was mich von den büchern abhielt, ist dass am anfang steht, alles würde gründlich erklärt werden, dann steht aber am anfang jeder schritt einzeln erklärt und dann nur noch gelegntlich, obwohl neue begriffe eingeführt werden
So kam es manchmal vor, bei der "beschreibung", WIESO etwas so gemacht wurde und nicht anders, dass der autor entweder keine ahnung hatte, oder einfach keine lust hatte das zu beschreiben...
und dann kann ich das buch nicht empfehlen, um zu lernen, denn dadurch das man nicht weiß, WIE es funktioniert, lernt man meiner meinung nach nicht viel. und wenn man sowas dann in der praxis braucht, ist man aufgeschmissen, weil es sich nicht eingeprägt hat, und so muss man immer wieder das buch zur hand nehmen, auch wenn man es schon zweimal gelesen hat.

EDIT: also glscene ist ziemlich leistungsstark. man kann ohne probleme z.B. einen schatten werfen lassen oder auch shader verwenden, weil man nicht alle parameter und befehle, um directx (bei genesis3d) bzw. bei opengl (glscene) direkt zu steuern kennen muss, sondern man behandelt z.B. einen feuerball als object, bei dem man die x position verändert und glscene erledigt die arbeit sofort, indem die flammen korrekt neu berrechnet werden.

arbu man 10. Aug 2006 19:00

Re: 3D Spiel
 
Nun GLScene lässt keine Wünsche offen man kann auch noch OpenGL benutzen nur GLScene selbst ist OO und in die IDE integrierbar dadurch kann man einfach Objekte erstellen auch alle gängigen 3D-Formate wie ".3ds" werden unterstützt. Das Positionierungs System von Objekten ist einfach Klasse, man kann nicht nur Objekten direkt Positionen Zuweisen sondern auch Objekte bewegen und einfach drehen. Auf einen modernen Rechner läuft GLScene 1a.

Corpsman 10. Aug 2006 19:45

Re: 3D Spiel
 
Hallo blablab,

Nu will ich doch auch mal meinen Senf ablassen ;)

Also ich habe definitiv ein winzig kleines 3D-Game geschrieben.

GLScene mus ich ehrlich gestehen hab ich bis heute nicht verstanden.

Mein Game benutzt die Standart OpenGL routinen, die uu. sogar dirkt aus der OpenGL.pas exportiert werden können.

Sehr empfehlen kann ich da die tutorials vno GameDev seite

Die Idee bzw den willen ein 3d Spiel zu schrieben finde ich sehr gut, allerdings immer ein schritt nach dem anderem wäre zu empfehlen.

Eine Enginge wie GLScene ist bestimmt nicht schlecht, ich finde aber ein Anfänger ist mit der fülle an möglichkeiten etwas erschlagen.

Ich selbst plane schon seit Jahren an einem Riesen 3D-Spiel und habe mit Balanced nur geübt (bzw übe ja immer noch).

Ich weis nicht wie sehr du dich mit solchen Dingen auskennst ( 3D - Mathematik , OOP , Schrittketten ( bzw. Zeitgesteuerte Abläufe )) aber ich kann dir nur Raten erst an kleinen Projekten zu üben und alle Möglichen Fälle aus zu probieren bevor du dich an ein Echtes großes Projekt wagst. Sonst ist evtl die enttäuschung schnell da und groß. Oder es geht dir wie mir das du ständig nachbessern must.

Zudem kommt ja noch das wenn du Dateien wie 3ds einbinden willst du nicht nur OpenGL Programmierung lernen must sondern auch ein 3d Programm ähnlich dem 3D-Studio-Max das dir die 3ds dateien erstellt.

Wenn du Es Richtig machen willst, so das du definitiv auch was davon hast, schreib dir deine Engine sebst, oder noch besser mit einem Freund der ähnlich viel und gerne Programmiert wie du.

Dann würde ich dir Dringend empfehlen, genaue Ziele fest zu legen( und erst sonderwünsche machen wenn alle ziele erreicht sind ).
Und stell dich drauf ein das du sehr viel zeit in dein Spiel investieren mus wenn es einigermasen gut werden soll. Als grobes Maß ich habe momentan knapp 30000 zeilen code in etwa 14 Wochen erstellt, dabei habe ich unter der Woche ca. 4 - 6 h und an den Wochenenden bis zu 12 h Programmiert.

Und zu letzt, wenn du dich erst mal dran gesetzt hast dein Spiel zu schreiben, schreibe alles so das du es nachher leicht ändern kannst, bzw das der Code sich späteren wünschen evtl automatisch anpasst. Wärmsten zu empfehlen OOP je mehr du Ableitest und vererbst desto mehr arbeit sparst du dir. In meine Game gibts z.b. ne Basisklasse von der alle Objecte abgeleitet sind. Neben dem Rendern übernimmt die dann auch solche sachen wie Positionsdaten speichern, Collision mit anderen Objecten, drehungen ...

[edit]
Ach und wegen des Leveleditors. Ich bin der meinung das du dir nen gewaltigen gefallen tust wenn du ihn slebst schriebst. So kannst du die möglichkeit schaffen das andere auch levels erstellen können, oder etwa das du Features hinzufpgst die ein Normaler Editor vielleicht gar nicht unterstützt. Auch kannst du so dein Eigenes dateiformat wählen. Zusatzinformationen mit in die Levels speichern und und und wenn du es nur machst um nicht gegen Lizencen zu verstosen oder welche kaufen zu müssen.

[Edit] Link Korrigiert

arbu man 10. Aug 2006 20:06

Re: 3D Spiel
 
Zitat:

Und zu letzt, wenn du dich erst mal dran gesetzt hast dein Spiel zu schreiben, schreibe alles so das du es nachher leicht ändern kannst, bzw das der Code sich späteren wünschen evtl automatisch anpasst. Wärmsten zu empfehlen OOP je mehr du Ableitest und vererbst desto mehr arbeit sparst du dir. In meine Game gibts z.b. ne Basisklasse von der alle Objecte abgeleitet sind. Neben dem Rendern übernimmt die dann auch solche sachen wie Positionsdaten speichern, Collision mit anderen Objecten, drehungen ...
Das musst du machen wenn das Spiel etwas werden soll, denn jetzt kennst du noch jede Codezeile an der du grade arbeitest aber zwei Wochen später sieht alles anders aus (ich weiss wovon ich rede :( )Deswegen ist es sehr wichtig alles in Objekte zu fassen und dennen auch vernüftige Namen zu geben, auch eine kleine Beschreibung wird sich als sehr nützlich erweisen. Bei der Planung des Spiels ist es ratsam das Spiel in Module einzuteilen z.B. Steuerung, Map, Player, Collisionserkennung, Menu, Netzwerk. Man sollte sich auch überlegen welche Tools man braucht Map-Editor, Editor für Einstellungen (dabei sollte man bedenken Wert nicht als Klartext zu speichern, das macht das Cheaten zu einfach). Und auch ob man diese Tools selber schreibt oder auf externe Tools wie Cinema4D zurück greift. Auch ein gewisses Durchhaltevermögen solltest du mit bringen denn es wird nicht immer in großen Schritten vorran gehen, es wird auch nicht immer so vorran gehen das man sieht wie weit man ist. Das meiste an Spiele programmierung ist sowie nur trockener Sourcecode, da denk man schnell das es nicht mehr vorran geht. Aber wenn man sich in die Materie eingeabeitet hat sieht man auch den Erfolg und irgentwann dann auch das fertige Spiel :)

vlees91 11. Aug 2006 13:24

Re: 3D Spiel
 
OT: bei corpsman's link muss das www weggelassen werden, sondern gehts nicht

Cöster 11. Aug 2006 16:27

Re: 3D Spiel
 
Zitat:

Zitat von vlees91
Proffessionelle Spiele? die aber alt sind.
wie proffessionell ein spiel ist, hat nichts mit der engine zu tun...
aber was mich von den büchern abhielt, ist dass am anfang steht, alles würde gründlich erklärt werden, dann steht aber am anfang jeder schritt einzeln erklärt und dann nur noch gelegntlich, obwohl neue begriffe eingeführt werden
So kam es manchmal vor, bei der "beschreibung", WIESO etwas so gemacht wurde und nicht anders, dass der autor entweder keine ahnung hatte, oder einfach keine lust hatte das zu beschreiben...
und dann kann ich das buch nicht empfehlen, um zu lernen, denn dadurch das man nicht weiß, WIE es funktioniert, lernt man meiner meinung nach nicht viel. und wenn man sowas dann in der praxis braucht, ist man aufgeschmissen, weil es sich nicht eingeprägt hat, und so muss man immer wieder das buch zur hand nehmen, auch wenn man es schon zweimal gelesen hat.

EDIT: also glscene ist ziemlich leistungsstark. man kann ohne probleme z.B. einen schatten werfen lassen oder auch shader verwenden, weil man nicht alle parameter und befehle, um directx (bei genesis3d) bzw. bei opengl (glscene) direkt zu steuern kennen muss, sondern man behandelt z.B. einen feuerball als object, bei dem man die x position verändert und glscene erledigt die arbeit sofort, indem die flammen korrekt neu berrechnet werden.

Mit "professionell" meinte ich, dass es keine Spiele sind, die jemand in der Freizeit gemacht hat, sondern die komerziell von großen Firmen geschaffen wurden und mit denen viel Geld gemacht wurde. Die Spiele sind zwar etwas älter, aber CS z.B. ist doch immer noch eines der beliebtesten PC-Spiele weltweit. Ich weiß zwar nicht, was die Ansprüche des Thread-Autors sind, aber wenn er ein Spiel schreiben könnte, was mit CS 1.5 verglichen werden kann, fänd ich das schon ziemlich stark, und das ist mit Genesis3D möglich (laut Game Programming für Kids).
Wenn du in dem Buch einiges nicht verstanden hast, könnte das ja vielleicht auch daran liegen, dass du aufgrund deines Alters die erforderlichen mathematischen Kenntnisse in der Schule noch nicht hattest. Ich weiß jetzt nicht, wann genau Trigonometrie in der Schule drankommt, aber bei mir war's glaub ich erst in der 10. Klasse, und Vektor-Rechnung hatte ich selbst auch noch nicht (bin jetzt in der 12. Klasse).

Edit:
@ Corpsman:
Du hast was davon geschrieben, einen Leveleditor selbst zu schreiben, gibt's dazu irgendwelche Tutorials im Internet, ich hätte jetzt nämlich keinen Plan, wie das gehen soll (dass es geht, beweist du ja mit deinem Spiel).

Nils_13 11. Aug 2006 16:44

Re: 3D Spiel
 
Genesis3D ist eine sehr schwere und von der Grafik her eine absolute Schrottengine.
GLScene muss man auch erst lernen, ich würde die Zeit lieber gleich in eine richtige Engine, statt VCL-Zeugs, investieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz