Seite 1 von 1

[Projekt] Hard Thug Life Oberland

Verfasst: 24.07.2024, 08:26
von antisteo
Ich bin's mal wieder. Diesmal mit einer Techdemo für Point Clouds. Ziel ist letzten Endes, einen GTA-Klon zu bauen, der auf real erlebten Geschichten basiert (ein Mädchen rennt von zu Hause weg, geht in die Stadt und wird Drogendealerin).

Jetzt geht es aber erst mal um die Grafik: Die soll nämlich auf Point Clouds basieren. Warum Point Clouds? Weil man damit unlimited Detail erreichen kann durch fraktal aufgebaute gerichtete azyklische Grafen.

Dabei habe ich ein Paper implementiert, das die gl_POINTS rund statt eckig macht und den Tiefenpuffer etwas manipuliert, damit die Überlappungen besser aussehen. Hier das Video:


Re: [Projekt] Hard Thug Life Oberland

Verfasst: 24.07.2024, 15:49
von antisteo

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 24.07.2024, 23:01
von antisteo
Und jetzt noch mit importierten Höhendaten:

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 25.07.2024, 12:28
von Jonathan
Hmm, PointCloud rendering ist ein interessantes Thema, aber der Sinn erschließt sich mir hier noch nicht so ganz. Im Wesentlichen scheinst du gerade eine Textur zu rendern, nur das jeder Pixel ein Punkt ist, aber, nun, man kann die ja auch einfach als Pixel einer Textur rendern. Dann hat man sogar Filterung, wenn man das denn möchte, und keine Probleme mit irgendwelchen Überlappungen. Wenn man Höhe haben will, kann man ja z.B. Tessellation verwenden. Überhaupt scheinst du einfach die Point Cloud wie sie ist zu rendern, also kein besonderes Streaming oder Level-of-Detail oder so. Da kann man auch gleich ein vorberechnetes Triangle-Mesh nehmen.
Weil man damit unlimited Detail erreichen kann durch fraktal aufgebaute gerichtete azyklische Grafen.
Weiß ich auch nicht, ob mich das nun so überzeugt. Das letzte mal als jemand Fancy Point Cloud rendering mit Unlimited Detail machen wollte, war "Euclideon" mit seinem "Unlimited Detail" geprahle, und das waren einfach bloß arrogante Videos auf die nie Resultate folgten. Bis Unreal es dann Jahre später mit Nanite richtig gemacht hat. Mit Triangles ;)

Also, ja, ka, schaut nett aus als Hobbyprojekt, aber auch weil das ganze ja als Spiel mit Story angekündigt ist, sehe ich noch nicht so recht, wohin das ganze gehen soll...

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 27.07.2024, 00:04
von antisteo
Der Vorteil, den ich in Pointclouds sehe, ist tatsächlich Streaming und Level of Detail, sowie Physik und Kollisionserkennung, die viel einfacher werden. Außerdem kann man viel leichter 3D-Scans von echten Gegenständen oder Häusern benutzen, ohne den Umweg über texturierte Dreiecke zu gehen.

Mal sehen, wohin es geht. Durch Threejs kann ich ja beliebig Dreiecke und Punktwolken kombinieren. Momentan will ich aber ALLES als Punkte ausdrücken.

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 16.09.2024, 14:58
von antisteo
Soo, das Text-To-Speech-System steht jetzt auch, damit kann man den Storymodus mit immer neuen Stimmen vertonen - je nachdem mit welchem NPC man die Mission spielt


Re: [Projekt] Hard Thug Life Oberland

Verfasst: 19.09.2024, 10:24
von woodsmoke
Ich bin super gespannt wie sich HTLO sich entwickelt. Vor über 10 Jahren habe ich nämlich angefangen Spiele zu entwickeln als ich (ohne jegliche Programmierkenntnisse) auch ein GTA1 Klon kreieren wollte. Das ist mächtig schief gelaufen (da zu komplex für meine Fähigkeiten) und ich habe stattdessen erstmal einen Brick-Breaker entwickelt.
Mein GTA Projekt liegt aber noch in der Schublade und hat schon Fahrphysik und einige Autos. Ich denke oft daran was kleineres daraus zu machen.

Gibt es schon Pläne wie das Gameplay aussehen wird? Wird man da wie bei GTA alle Autos fahren können, mit Verkehr und Polizei die einen verfolgt?

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 19.09.2024, 13:39
von Schrompf
Ich mag das Rendering. Ob und wohin das führt, werden wir ja hoffentlich erfahren. Viel Erfolg!

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 20.09.2024, 20:40
von antisteo
Ich hab einfach mal einen Avatar als Punktwolke hartgecodet:




Code-Ausschnitt:

Code: Alles auswählen

         var pointcloud = new Float32Array([
            /* Kopf */
            0, 1.6, 0, 0.2, 155, 155, 0, 255,
            0, 1.65, 0.05, 0.2, 50, 55, 0, 255,
            +0.12, 1.628, -0.17, 0.04, 250, 255, 200, 255,
            -0.12, 1.628, -0.17, 0.04, 250, 255, 200, 255,
            +0.12, 1.628, -0.19, 0.02, 50, 55, 0, 255,
            -0.12, 1.628, -0.19, 0.02, 50, 55, 0, 255,

            /* Torso */
            0, 1.2, 0, 0.2, 0, 0, 0, 255,
            0, 1.0, 0, 0.2, 0, 0, 0, 255,
            0, 0.8, 0, 0.2, 0, 0, 0, 255,
            0, 0.6, 0, 0.2, 0, 0, 0, 255,
            0, 0.5, 0, 0.1, 0, 0, 0, 255,

            /* Arme */
            +0.2, 1.3, 0, 0.07, 0, 0, 0, 255,
            +0.2, 1.28, 0, 0.07, 0, 0, 0, 255,
            +0.25, 1.25, 0, 0.07, 0, 0, 0, 255,
            +0.28, 1.17, 0, 0.07, 0, 0, 0, 255,
            +0.3, 1.08, 0, 0.07, 0, 0, 0, 255,
            +0.34, 0.98, 0, 0.07, 0, 0, 0, 255,
            -0.2, 1.3, 0, 0.07, 0, 0, 0, 255,
            -0.2, 1.28, 0, 0.07, 0, 0, 0, 255,
            -0.25, 1.25, 0, 0.07, 0, 0, 0, 255,
            -0.28, 1.17, 0, 0.07, 0, 0, 0, 255,
            -0.3, 1.08, 0, 0.07, 0, 0, 0, 255,
            -0.34, 0.98, 0, 0.07, 0, 0, 0, 255,

            /* Beine */
            +0.2, 0.45, 0, 0.1, 0, 0, 0, 255,
            +0.2, 0.4, 0, 0.1, 0, 0, 0, 255,
            +0.25, 0.3, 0, 0.1, 0, 0, 0, 255,
            +0.28, 0.2, 0, 0.1, 0, 0, 0, 255,
            +0.3, 0.1, 0, 0.1, 0, 0, 0, 255,
            -0.2, 0.4, 0, 0.1, 0, 0, 0, 255,
            -0.25, 0.3, 0, 0.1, 0, 0, 0, 255,
            -0.28, 0.2, 0, 0.1, 0, 0, 0, 255,
            -0.3, 0.1, 0, 0.1, 0, 0, 0, 255,
         ]);
         var pointcolors = [
            'skin', 'hair', null, null,
            'eye', 'eye',
         ];

Re: [Projekt] Hard Thug Life Oberland

Verfasst: 20.09.2024, 20:48
von antisteo
woodsmoke hat geschrieben: 19.09.2024, 10:24 Gibt es schon Pläne wie das Gameplay aussehen wird? Wird man da wie bei GTA alle Autos fahren können, mit Verkehr und Polizei die einen verfolgt?
Wie man am TTS-Modul sieht, wird sehr viel Fokus auf den Missionen liegen. Das ganze wird auch so ein bisschen "Detektivspiel" sein, d.h. man muss Informationen sammeln und richtig kombinieren. Ansonsten sehr viel herumlaufen, mit Personen reden, anderen Leuten die Probleme lösen .... wie gesagt jede Mission wird dann auf einer wahren Begebenheit beruhen.

Der nächste Plan nachdem ich den Registrierungs-Prozess mit der Aufnahme von Voice-Samples abgeschlossen habe, ist, eine minimale Mission zu bauen mit 1-2 Dialogen (Voice-Sampling!!) und dass man irgendwo hinlaufen muss und mit einer bestimmten Person reden muss.

Prinzipiell will ich den Missionen-Editor für alle verfügbar machen, sodass es auch Community-Missionen geben wird.