Ansatzpunkt von Spielen wie Doom1/2 usw... ?
-
Hab's notiert.
-
für meine GBA hab ich nen levelviewer (eigenes format) in einer nacht gecodet, ich halte es für realistisch den rest davon in einer woche fertig zu bekommen.
ich hab auch nie bahuptet dass es fehlerfrei sein würde, aber spielbar schon. ich hab des öfteren codingprojekte von einer woche zeit... wenn mir einfällt dass wieder irgendein jubiläum mit meiner freundin ansteht und ich was fertig haben muss... darunter clones von, limings,packman,tamagothi,videokonferenzing...
jaja, das meißte davon hat coder-art und ist recht grausam anzusehen, aber spielen kann man es und wenn bei lemings 20kleine rapsos von meiner freundin über ne klippe gedrückt werden, dann macht es (ihr) sogar spass... :-p
außerdem geht es hier nicht darum, sondern darum dass hier jemand ein spielchen coden wollte um ein wenig praxis zu bekommen, ohne viel aufwand, aber etwas was ihm spass machen würde
da labert man ihn von einer seite an "das kannste knicken" und von der anderen "nur doom? mach doch lieber quake"...
das forum macht wohl jeden anfänger depressiv...
das ist schon spassig hier...
rapso->greets();
-
@rapso!
du redest hier als wärst du schon total der erfahrene eliteprogger.
dabei gibt es auf deiner ohnehin schon sehr schlecht gemachten site nicht einen einzige download!!!
daraus schließe ich: du schaffst es kaum, irgendwas fertig zu bringen. also kannst du hier gar nicht mitreden.
doom in einer woche
jaja, du bis schon einer, selten so gelacht!
-
Nun haut mal nicht gleich wieder aufeinander ein.
Einen Namen macht man sich sowieso nicht selbst, sondern den kriegt man von anderen und dazu braucht es eben Werke.
Das leidige Thema mit den 3D-Shootern taucht immer wieder auf, aber mit den Informationen, Tools und Packages, die heute vorhanden sind, ist es nicht mehr so unrealistisch, wie noch vor drei Jahren. Wenn hier also die Frage nach den 'Ansatzpunkten' kommt, sollte man da vielleicht einfach mal drauf eingehen.
Also:Im Gegensatz zu den heutigen Spielen war Doom eigentlich 2,5-D. Alles hat sich nur auf einem Stockwerk abgespielt. Es gab keine Brücken und keine Räume drunter oder drüber, die man besuchen konnte. Deswegen konnte man auch schön eine Automap zeichnen. Der Renderer hat die 3D-Welt gezeichnet, alle Monster und Gegenstände, sowie Schusseffekte sind als skalierte Bitmaps eingepflanzt worden. Ferner war erstens alles rechteckorientiert und dann hat man auch bei der Perspektive etwas gemogelt. Alle Lichteffekte sind übrigens mit vorberechneten Farbtafeln (256-Farben-Modus!) realisiert worden.
Bei den Texturen hat man mit einigen Tricks diverse Modi für komplexere Wände aus zusammengesetzten Texturen geschaffen.
Lassen wir den reinen Renderer jetzt mal aussen vor und schauen in andere wichtige Dinge.
Jedes Level ist in Zonen unterteilt gewesen, ganz wichtig dabei verschiedene Linientypen, bei deren Überschreiten irgendwas ausgelöst worden ist. (Man bekommt durchaus ein gutes Gefühl wie was gemacht wurde durch das Anschauen diverser Editoren.) Ein Routinenpaket hat sich dann z.B. ausschliesslich mit den Traversergeschichten beschäftigt, also wie man an einer Linie/Wand lang geführt wird, ohne dauernd steckenzubleiben.
Die 'Spielzeit' wurde in 'ticks' unterteilt. Bei einer Bewegung wurde also erst einmal geschaut, welche Traversergeschichten werden nun durchlaufen, wenn die Bewegung einen Tick weiter ist. Geht die Bewegung überhaupt? Wenn ja, ausführen.
Alles weitere wurde nun über die sogenannte Actorqueue gemanagt. In diese Liste kam alles rein, was sich irgendwie bewegt hat, oder eben am Leben war. Jede Actionroutine eines Actors konnte neue Gegenstände 'spawnen'(erzeugen), die dann mit einem Modus und einem Geschwindigkeitsvektor in diese Liste kam. In jedem Tick wurden nun alle Actors einen Tick lang berechnet (mit den notwendigen Kollisionstests).
Eine Kollision (oder auch Ablauf einer Zeit wäre möglich), versetzte den Actor in einen neuen Modus - oder er hat sich selbst aus der Liste entfernt, ggf. seinen Nachfolger gespawnt.
Und jetzt kommen wir zum Thema in einer Woche programmiert: Das war es im Prinzip schon! Okay, da ist jetzt noch kein Netzwerk drin, aber das ist dann auch nicht mehr allzu schlimm.
Wie immer liegt der Teufel natürlich im Detail und in der Masse (von unterschiedlichen Actors). Die BSP-Node-Geschichten waren damals wirklich sowas wie Black Magic. Sie dienten einfach der Vorberechnung/Sortierung von sichtbaren Elementen, um nicht ständig unsichtbaren Kram zu pinseln.
Heute gibt es da auch schon wieder ganz andere Techniken.Mit diesem Grundwissen ausgestattet, kann man sich nun durchaus mal die Originalsourcen und Tausende von Mods ansehen, dann mal bei Tomas Riker oder beim Zerbie auf die Homepage gehen und schauen wie sowas heutzutage gemacht wird, ein paar Demos von anderen aktiven Mitgliedern des Forums anschauen, seinen Lieben Adieu sagen und sich darauf einstellen, dass eine Woche etwas länger dauern kann.
[ Dieser Beitrag wurde am 26.03.2003 um 21:12 Uhr von Bitsy editiert. ]
-
Original erstellt von <Gerd>:
@rapso!
du redest hier als wärst du schon total der erfahrene eliteprogger.
dabei gibt es auf deiner ohnehin schon sehr schlecht gemachten site nicht einen einzige download!!!
daraus schließe ich: du schaffst es kaum, irgendwas fertig zu bringen. also kannst du hier gar nicht mitreden.
doom in einer woche
jaja, du bis schon einer, selten so gelacht!du hast vollkommen recht, ich schäme mich so
:-Ü
rapso->greets();
-
Naja gut. Den TextureMapper ansich in einer Woche seh' ich ein...
Angeblich soll Carmack den KERN der Q-Engine auch nicht an einem Wochenende geschrieben haben...
-
AltC hab ich an einem Tag geschrieben, wobei die Voraussetzungen aber _etwas_ anders waren ;).
-
Original erstellt von rapso:
**du hast vollkommen recht, ich schäme mich so:-Ü
rapso->greets();**
solltest du auch.
immerhin gibts weit uns breit nix was uns deine ach so tollen fähigkeiten beweisen könnte *GGGGGGG*
nur ein paar screenies, die jeder mit 3ds max selbst machen kann.
-
tja und vielleicht noch die spiele die du eventuell zoggst an derer engine ich mitgecodet habe.. aber naja, unwichtigkeiten.
rapso->greets();
-
was sollen das denn bitte für spiele sein?
nun werd mal konkret sonst kann man echt denken du hättest noch nie was gemacht.
-
Ach Unsinn, ich mein doch AotC. Jaja, die ganzen Abkürzungen...
-
Original erstellt von Ikari:
dann mach ein Jump'n Run! Also einen 3D Shooter coden zum anfang? Also wenn du das mit funktionen noch net ganz gerafft hast (siehe C++ Forum), noch nix von Singleton, Execptions, streams, vectoren, list, mathematik, und co verstehst aber es trotzdem willst, sag ich nur noch: Du hast mein Mitleid...Ich glaub exceptions, streamns, vektoren, lists und vor allem singletons (warum finden alle singletons so schwer???) sind noch das einfachste... Die mathe ist auch nicht sonderlich schwer. Aber der Rest. Man muss sich einfach viel dazu anlesen und vor allem klein anfangen...
-
Original erstellt von TGGC:
Ach Unsinn, ich mein doch AotC. Jaja, die ganzen Abkürzungen...Was ist AotC?
Und ich meinte:
Angeblich SOLL Carmack den KERN der Q-Engine an einem Wochenende geschrieben haben...
-
Original erstellt von <Sgt. Nukem>:
[...]
Und ich meinte:
Angeblich SOLL Carmack den KERN der Q-Engine an einem Wochenende geschrieben haben... :D[/QB]Ja, hat er. Aber er hat sich schon Monate vorher darüber Gedanken gemacht. So war es für ihn lange Zeit nicht klar wie er Licht und Schatten implementieren sollte. Nachzulesen im Game Programming Black Book von Michael Abrash (?), einem der Mitentwickler der Quake Engine. Das Buch gibts übrigens im Internet frei zum Download
-
Original erstellt von <Sgt. Nukem>:
[quote]Original erstellt von TGGC:
[qb]Ach Unsinn, ich mein doch AotC. Jaja, die ganzen Abkürzungen...Was ist AotC?[/QB][/QUOTE]
simpler Shooter: http://www.fh-merseburg.de/~roesch/trash/AotC.zip
-
oh my god
selten so was schlechtes gesehen!!!!
-
Kann ich nur zustimmen. Das ist dir wirklich nicht gelungen.
Aber dieses Spiel mit dem Boot ist super.
-
Das sind halt die etwas anderen Bedingungen, unter denen das Projekt ablief. Ungeeignet für Normalo-Spieler, daher auch auf meiner Seite nirgends erwähnt. Aber dafür hat es die ultrakrasse Mondphysik, das gibt's nich überall.
-
Original erstellt von Headhunter:
Ja, hat er. Aber er hat sich schon Monate vorher darüber Gedanken gemacht. So war es für ihn lange Zeit nicht klar wie er Licht und Schatten implementieren sollte. Nachzulesen im Game Programming Black Book von Michael Abrash (?), einem der Mitentwickler der Quake Engine. Das Buch gibts übrigens im Internet frei zum DownloadGooooooooooiiilll... mein Tag ist gerettet. Danke für die Info.
Mal sehen, bei Amazon kostet der 1.200 Seiten Schinken nur 200 $. Naja. Lieber die 158 MB saugen...oh my god
selten so was schlechtes gesehen!!!!Na, ich find'et okay. Wenn ich schonmal so weit wär'...
Tierisch anpis**n tut mich aber die &/$§"/ WASD- und "invertierte Maus"-Steuerung... buaaahh.... *würg* ;-P
-
stimmt das mit maus zurück um rauf zu sehen ist $"§%&(/&§'', ist doch kein flugsimulator
aber ansonsten gefällt mir das spiel gar nicht mal so schlecht...
cu