c++ & gameprogramming

Für 2D oder 3D Grafik?
Bei 3D Grafik gibt es sehr viele OpenGL-Engines kostenlos zu runterladen (z.B. Quake-Engine). Bei Direct3D sieht es schon schlechter aus. Ich bräuchte auch eine, hab bisher aber nur eine Seite gefunden die beim programmieren hilft:
http://www.stefanzerbst.de/
Bei 2D lohnt es sich selbst je nach Spiel eine eigene "Engine" zu basteln.
 
Hmm, so auf die schnelle fallen mir Genesis3D & CrystalSpace für 3D ein, wenn du das ganze allerdings nur aus Lernzwecken machen willst, wäre es besser selbst direkt auf OpenGL od. DirectX aufzubauen.
 
Wenn du allerdings Anfänger bist, nützen dir die Engines sowieso nicht viel, weil du auch ein bisschen verstehen musst, wie die Engine arbeitet. Sonst kannst du sie ja nicht ausreizen bzw. überhaupt richtig benutzen, sondern gleich eine eigene machen.
 
Genau das meinte ich :).
Außerdem solltest du einiges über Vektoren & Matrizen wissen, sowie einwenig Interesse an Mathe aufbringen sonst nützt der weder eine Engine noch eine API wie DX od. OGL.
 
also,
eine aktuelle engine, mit der man halt etwas einarbeitungszeit
braucht, ist die nebula engine:
http://www.radonlabs.de
Man bekommt eine entwicklungsumbebung, die man mit einer konsole
steuern kann. die befehle muss man können, sonst nutzt es nichts.
außerdem braucht man einen 3d-modeller wie 3dsmax.
thx für alle antworten
psychomatic
 
Ich lerne ja auch C++ um später mal Spiele zu machen.
Jetzt bin ich zwar erst bei Sachen wie Variablen und
Strukturen...:( Aber das wird schon noch.

Aber jetzt wo dieses Thema auftaucht will ich trotzdem
eine Frage stellen:


Ich kann mir unter einer Engine wenig vorstellen. Ich
glaube es ist irgendwie das ding was die Grafik berrechnet
oder so.
Klärt mich bitte auf odergebt mir ein paar Links zu Tuts und Texten
die genau dieses Thema beschreiben.
Wenn man sich eine 2D-Engine selber machen kann, wo bekommt man
dann fertige. Als source meine ich um das alles noch besser zu
verstehen.

Naja. Bevor ich noch mehr schreib hör ich auf. :)
 
mmmh, eine Engine ist, sagen wir mal das Kernstück eines Spiels.
Ich kann dir mal ein Beispiel geben:
Wenn du in einem 3D Spiel ein Raum betrittst, Darfst du ja nur das sehen was im Raum ist und nicht das dahinter oder so. Die Engine berechnet dann deinen Sichtkegel und zeigt nur das was du sehen darfst.
Was auch sehr wichtig ist, ist die Geschwindigkeit.
Also wird nur das gerendert, was der Bildschrim anzeigen kann. Der Rest wird in der Grafikkarte (im Speicher) abgeschnitten.
Bei der Q***e-Engine ist auch no etwas besonderes, nämlich wenn du einen Gang entlang schaust in dem rechts und links immer mal weitere Wege wegführen. Die Level ist so in Teile aufgeteilt, sodass nur die Räume/Gänge zum rendern gelangen, die überhaupt sichtbar sein können.
All solche Dinge, die das Spiel schneller werden oder besondere berechnungen durchführen lässt ist Teil der Engine. So zum Beispiel auch Partikeleffekte, Schatten (was sehr schwer ist wenn man das Spiel mit mehr auls 10fps laufen lassen will siehe NWN ), Licht und alles was dazu gehört um das Spiel noch eindrucksfoller aber auch dementsprechend schneller laufen zu lassen.

zur Neverwinter Nights Aurora-Engine: http://www.neverwinternights.de/overview/spielengine.htm

allgemein sehr gute Seite. Erklärt auch (irgendwo bei Tutorials) wie eine 3D Engine funktioniert:
http://www.stefanzerbst.de/
 
Der Begriff "Engine" ist nicht so genau definiert.
Meist ist es jedoch eine (wiederverwendbare) Sammlung von Libraries, die bestimmte High-Level-Funktionalitäten bereitstellen (z.b. Scene Managment, Pathfinding etc.)
Ein Spiel muss aber keine Engine haben, bei kleineren "Spielchen" sind Game-Code & Engine-Code oft so sehr voneinander (und durcheinander), dass man nicht mehr von einer Engine spricht.

Und die Engine muss auch nicht unbedingt die Visibility-Berechnungen durchführen... v.a. mit immer besserer 3D-Hardware werden oft nur noch grobe Checks od. evtl gar keine durchgeführt (Clipping wird schon längst nicht mehr in der Software durchgeführt)
 

Neue Beiträge

Zurück