Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

1

04.08.2003, 11:11

Mein neues Projekt: Pharao 4

Hallo!

Seit langer Zeit wollte ich schon eine Fortsetzung der "Pharao"-Reihe schreiben, natürlich in 3D. Jetzt habe ich endlich damit angefangen. Hier seht ihr schonmal einen Screenshot:


(Link)


Man sieht hier eine Wüstenlandschaft, wo später ein Dorf hingebaut werden wird (dort beginnt das Spiel). Ich habe für dieses Spiel extra einen eigenen 3ds max-Exporter geschrieben, da im gewöhnlichen 3DS-Format z.B. keine Light-Maps möglich sind, hier jedoch schon (wie man sehen kann)! Die Light-Maps erzeuge ich mit dem in 3ds max 5 neuen Feature "Texture-Baking".
In 3ds max kann ich sogar mit Hilfe von Splines Kamerapfade festlegen und sie im Spiel der Kamera dynamisch zuweisen. Das Spiel beherrscht lineare und Hermite-Spline-Interpolation. Der für eine Interpolation zuständige "Controller" kann für alles verwendet werden: für Vektoren, normale Zahlen usw.. Ein Controller arbeitet dabei mit Key-Frames, zwischen denen er interpoliert.
Im Hintergrund sieht man eine Sky-Box und ein paar Sterne (einzelne Punkte, gerendert als D3DPT_POINTLIST).
Das Spiel wird von der Art her mit "Zelda: Ocarina of Time" vergleichbar sein.

CuTeX0r

Treue Seele

Beiträge: 174

Wohnort: Deutschland

  • Private Nachricht senden

2

04.08.2003, 11:14

krazz, sieht doch fürn anfang schon nich schlecht aus!
das mit dem format find ich spitze... könntest doch mal open source machen l8er ;D dann brauch ich mir in zukunft sowas nich zu überlegen ;)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

3

04.08.2003, 11:24

Danke :)
Eine gute Nachricht: Ich gebe mir bei diesem Spiel besondere Mühe mit sauberem Code und Kommentaren. Ihr könnt Euch ja vielleicht schon denken, warum?... (Open Source!) :)
Das Export-PlugIn für 3ds max wäre dann natürlich auch dabei.

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

4

04.08.2003, 11:33

Hi,

sieht gut aus :) Hightmap oder Model? :)

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

04.08.2003, 12:02

Das Terrain selbst ist ein Modell, das ich in 3ds max durch Displacement-Mapping aus einer Height-Map erzeugt habe. Danach wende ich noch den "Optimize"-Modifikator an. Dadurch hat das Terrain nur relativ wenige Dreiecke und ich kann es mir ohne Gewissensbisse leisten, es immer komplett zu rendern. Falls es dann doch mal zu groß werden sollte, kann ich es ja immer noch aufteilen.
Für die Kollisionserkennung werde ich die Meshes sowieso noch aufteilen müssen, wahrscheinlich mit einem Octree.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

6

04.08.2003, 14:46

Wenn es ein Bild davon gibt sollte das ja heißen das es eine laufende Version gibt. Wäre es nicht schon mal eine Idee eine Technologie Demo rauszubringen ;D . Den Quellcode natürlich dabei. Mich interessiert das mit den Lightmaps und die Interpolation so sehr.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

7

04.08.2003, 15:16

Das hätte im gegenwärtigen Entwicklungsstadium eigentlich noch garkeinen Sinn. Du musst wissen, dass ich erst vor zwei Tagen mit dem Projekt von null angefangen habe.
Von den Light-Maps merkt man im Spielquellcode garnicht viel. Und das Export-PlugIn kann man wirklich nur dann verstehen, wenn man sich sehr, sehr gut mit 3ds max auskennt und weiß, wie es seine Daten verwaltet. Es war für mich auch sehr schwer, mich damit zurechtzufinden...
Es wird eine Demo geben, wenn man ein bisschen mit der Spielfigur rumlaufen kann. Aber die gibt es bisher noch garnicht.

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

8

05.08.2003, 10:50

So, es gibt wieder einen neuen Screenshot :)
Diesmal sieht man, wie die Objekte intern mit einem Octree aufgeteilt werden. Dabei verwende ich aber keinen gewöhnlichen Octree, sondern ein eigenes, leicht verändertes Verfahren. Wenn ein Octree-Knoten beispielsweise 100 Einheiten lang ist, aber nur 5 Einheiten breit und hoch, dann wäre es ja Unfug, ihn auch in diesen 5 Einheiten Breite und Höhe nochmal zu unterteilen. In dem Fall werden dann nur die 100 Einheiten halbiert. Das führt zu einem besser balancierten Baum, der damit natürlich auch schneller sein sollte.

Hier das Bild:

(Link)

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

9

05.08.2003, 11:34

@David
Nett nett ;) Haste diesen Octree in STL geschrieben oder in linkedlist? ;D *fies bin* }>

David Scherfgen

Administrator

  • »David Scherfgen« ist der Autor dieses Themas

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

10

05.08.2003, 11:39

Ich benutze STL jetzt überall, wo's geht.
Beim Octree benutze ich eine std::list zum Speichern der Dreiecke in jedem Knoten. Für die maximal 8 Child-Nodes reicht mir ein einfaches Array. Da wäre es glaube ich nicht so sinnvoll, eine Liste einzusetzen.

Werbeanzeige