Hallo erstmal,
ich gebe einfach mal so meinen Senf dazu ab, ich hoffe, das ist ok.
Also Wolfenstein (das wirklich allererste) besteht gar nicht aus richtiger 3D-
Grafik, sondern sozusagem Pseudo-3D. Dabei werden 2D-Sprites entsprechend der
Kameraposition und dem Winkel verzerrt. Das ganze heißt Raycasting (nicht zu verwechseln
mit Raytracing, was aber ähnlich ist), einige gute Links dazu sind folgende:
http://www.permadi.com/tutorial/raycast/http://de.wikipedia.org/wiki/Raycasting#Raycasting_bei_Computerspielenhttp://ffs-net.next-dimension.org/Tutorials.htmDie Levels dazu können meist in einem einfachen Grafikprogramm gemalt werden, weil sie
halt nicht "richtig" 3D sind, weshalb es mit den Treppen auch etwas schwieriger wird.
Irrlicht allerdings verwendet "richtige" 3D-Grafik. Sicherlich ist es möglich, einen eigenen Raycaster
mit Irrlicht zu schreiben, aber dazu würde wahrscheinlich auch
SDL reichen.
ich würde dir empfehlen, deinen Shooter in "richtiger" 3D-Grafik zu programmieren,
weil Irrlicht dazu alles bietet (sofern du nicht den nostalgischen Look haben willst).
Dann wird das erstens mit den Treppen kein Problem mehr, du kannst zweitens die Levels in einem 3D-Editor
wie z.B. GTK-Radiant, IrrEdit oder Blender erstellen.
Für den Anfang würde ich dir auch empfehlen, die Tutorials für Irrlicht durchzuarbeiten, vielleicht
garnicht mal alle, schon bei den ersten paar werden so Sachen wie Ego-Kamera, Quake-Map laden und
so behandelt, dass könnte dann schonmal die Grundlage für dein Spiel bieten. Du findest einige hier im Forum
und alles andere auf der
englischen Seite.
Wenn du allgemein was über Irrlicht lesen willst, gibt es im englischen Wiki eine
Einführung.
Falls du das lieber auf deutsch lesen möchtest, kannst du das zumindest fürs erste Kapitel auch,
ich habe
hier eine Übersetzung reingestellt.
Für Ragdolls solltest du dir eine Physikengine wie Newton oder ODE ansehen.
Zur Wahl der Programmiersprache:
Ich fange selber gerade erst an, mich in Irrlicht einzuarbeiten und nutze C++, aber ich denke mal,
dass das Geschmackssache ist. Der Vorteil bei C++ ist sicherlich, dass Irrlicht selbst in C++ geschrieben ist
und so auf jeden Fall immer auf dem neusten Stand gehalten werden kann und man nicht davon
abhängig ist, dass die Language-Bindings aktuell gehalten werden.
Ich hoffe, dass dich das erstmal weitergebracht hat.
Gruß,
Carsten