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

1

05.10.2022, 08:40

"Digging in the Dirt" KAGE-Engine

Moin zusammen,
ich bin neu hier und komme gleich mal mit einer eher „archäologische“ Frage um die Ecke und hoffe,
dass die Älteren unter Euch mir weiterhelfen könne.
Ich beschäftige mich in meiner Freizeit mir der Spieleprogrammierung.
Dabei bei liegt mein Schwerpunkt bei dem, was in einer Engine eher im „Hintergrund“ passiert.
Resource -, File- und Scene-Management-Systeme.
Fasziniert bin ich von „Hidden-Surface Determination“.

Vor 20 Jahren erschien auf FlipCode.com ein Artikel von Paul Nettle der zu der Zeit Endwickler bei Terminal Reality und an der Entwicklung der KAGE-Engine beteiligt war.
In einer Zeit, in der noch viel Engine‘s mit BSP-, PVS- , VIS-Systemen gearbeitet hat, beschritt KAGE eine neuen, dynamischen Weg.
Leider gibt es hierzu nur wenig bis keine Dokumentationen.

Ich habe hierzu leider nur wenige Infos gefunden:
https://www.flipcode.com/interviews/pn_interview.htm

Hat jemand von Euch nähere Infos zu diesem Thema?

Jonathan

Community-Fossil

  • Private Nachricht senden

2

05.10.2022, 10:40

Mein letzter Stand (auch schon wieder ein paar Jahre her) ist, dass heutzutage komplett andere (und viel komplexere, uff) Algorithmen verwendet werden. Es gibt z.B. Middleware wie Umbra 3D (https://en.wikipedia.org/wiki/Umbra_(3D_technology_company)) die sowas anbieten.
Ich hab vor Jahren mal ein Video dazu gesehen (das ich jetzt nicht mehr finde), die haben damals so Dinge gemacht wie die ganze Szene per CPU in einen Tiefenbuffer mit geringer Auflösung zu rendern um dann zu gucken, was tatsächlich sichtbar ist (Weil es einfach keine gute mathematische Formel gibt die dir sagt, ob ein Baum ein Haus verdeckt oder nicht).

Das man früher Levels als eine Abfolge von Räumen angesehen hat (und jede Tür war ein Portal durch das man in einen neuen Raum gucken kann) war eher der langsamen Hardware geschuldet und soweit ich weiß macht das heute niemand mehr. Erstens sind Level sehr viel offener geworden, zweitens hat man jetzt eher sowas wie Türen die nur mit Brettern zugenagelt sind, so dass man dazwischen doch die Außenwelt sehen kann.

Hardware funktioniert ja heute auch ganz anders. Klassische Baumstrukturen springen halt sehr viel im Speicher rum, was nicht Cache-Effizient ist. Man ist also unter Umständen effizienter, wenn man einfach tausende Kugel parallel durchtestet und ganz auf derlei Beschleunigungsstrukturen verzichtet.
Horizon Zero Dawn hatte eine sehr coole Lösung für Pflanzenrendern: Die Pflanzen existieren nur auf der GPU, für jeden Frame wird anhand von Verteilungstexturen berechnet, welche Pflanzen im Sichtfeld sind und die Draw-Calls dafür werden dynamisch generiert. D.h. man geht einen Schritt weiter als "Occlussion Culling" (man hat eine Liste an Objekten, und will alle rausschmeißen, die nicht sichtbar sind) hin zu "Ich generiere Objekte überhaupt erst dann, wenn sie gerade sichtbar sind".

Vor 15 Jahren haben Hobbyentwickler noch regelmäßig ihre eigenen 3D Engines gecodet. Damals gabs ja auch noch kein Unity oder Unreal d.h. es gab auch einfach nichts, was als Privatperson lizenzierbar war. Aber die Komplexität war halt auch viel geringer, sowas wie Half Life 1 kannste halt in deiner Freizeit theoretisch nachprogrammieren. Aber wenn man sich anschaut was in aktuellen Engines an Komplexität steckt, kann man das eigentlich vergessen. Der Vorteil ist natürlich, dass Hardware heute viel schneller ist, d.h. man kann auch einfach komplett auf Occlussion Culling oder LODs verzichten und einfach alles Brute-Force rendern. Natürlich kriegt man damit nicht die selbe Detailstufe hin, aber das ist ja ok.
Lieber dumm fragen, als dumm bleiben!

3

05.10.2022, 16:28

Danke Jonathan,

klar sind das alles alte Konzepte und durch die moderene Hardware größtenteils obsolet.
Trotzdem sehr spannend.

:)

Werbeanzeige