Du bist nicht angemeldet.

Werbeanzeige

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

11

25.08.2019, 10:59

Ne Woche im Urlaub ohne Internet hat übrigens ein bisschen was bewirkt. Neben Familie und so bin ich nur selten am Laptop gewesen, dann aber mangels jeden Internets recht produktiv. Aktuelles Bild:



Man sieht den neuen Wurm-Renderer mit einem Zebramuster als Test, weil ich daran schnell Mapping- und Randpixel-Fehler erkennen kann.

Man sieht die neuen Trüb-Partikel, die ich eigentlich auf der GPU machen wollte, aber mangels Google wäre das anstrengend geworden. Also erstmal klassisch auf der CPU, nur halt auf alle Cores verteilt. Hab's nicht gemessen, aber auch aufm Laptop erreiche ich noch VSync-Bildraten. Wenn's irgendwann nicht mehr reicht (oder mit nem wirklich langen Wurm dann 4x so viele Partikel sichtbar sind), hau ich zuerst mal mit SSE/AVX drauf, denke ich.

Man sieht die neuen Futterstückchen. Die sollten eigentlich wie Zellen unter dem Mikroskop aussehen, so ähnlich wie hier:


Aber ich hab den schwarzen Rand nicht so richtig hinbekommen und das transparante Innere sieht man nicht wirklich auf einem einfarbigen Hintergrund. Naja, immerhin Fortschritt.

Und man sieht an den Rändern das experimentelle Mikroskop-Postprocessing: ne Vignette und einen zunehmenden Weichzeichner, der eigentlich auch Chromatic Aberration haben soll, was man aber selbst mit Wissen um seine Existenz nicht wirklich erkennen kann. Hm. Lass ich erstmal so.

Nächster Schritt: Netzwerk-Glättung, Activity Windowing, dann ein paar Dummy-Effekte für Wurmnamen-Anzeige, Sprintanzeige, Futterniveau-Anzeige, Mampf-Effekt, Sterbe-Effekt. Je nach Tagesform und Freizeit hab ich vielleicht nächste Woche schon das Feature-Level des Vorbilds erreicht
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

12

18.10.2019, 15:14

Ewig nix mehr gepostet hier. Die Netzwerkglättung ist umgesetzt, ne Dummy-Zahl in der Bildschirmecke gibt das Futterniveau an, und ich habe einen kleinen Multiplayer-Test auf meinem Linux-VServer mit ein paar Leuten ausm IRC gemacht und dabei einige Bugs und Crashes gefixt.

Jetzt sitze ich an Wänden. Zugrunde liegt eine "Gridded Random"-Punktwolke - ich kenne gerade den richtigen Namen dieser Technik nicht. Du unterteilst das Gebiet in AxB Rechtecke und platzierst in jeder Zelle einen Punkt in einem gewissen Bereich rund um die Mitte. Damit bekommst Du eine Punktewolke, die einerseits für Menschen hinreichend zufällig aussieht, andernseits aber alle Vorteile eines regelmäßigen Grids bietet. Ich erstelle dann ein Voronoi-Diagramm auf der Punktwolke, wofür ich für jeden Punkt die unmittelbaren Nachbarn brauche. Und bei nem Gridded Random ergeben sich die Nachbarpunkte unmittelbar ohne Suche aus den Punkten der 8 Nachbarzellen. Sehr angenehm.

Dann baue ich darauf ein Voronoi-Diagramm, das außerdem die freundliche Eigenschaft hat, dass die daraus ergebenden Polygone zwangsweise immer konvex sind. Auf denen kann ich jetzt alle Berechnungen machen. Kollision mit Punkt, Kreis, Kapsel (Strecke mit Radius). Die Schwebstoffe erscheinen nicht mehr innerhalb von Wänden, der Spawn der Würmer und der Futterstückchen ist mit großzügigen Sicherheiten gegen Wände geprüft. Man kollidiert damit, man stirbt angemessen bei Kollision.

Das Rendering der Wände war dann nochmal ein eigenes Problem: ich wollte, dass die Wände nach außen einen halbtransparenten Saum haben und nach innen farblich nachlassen. Der Saum war halbwegs schnell gemacht, als ich ne fixe Methode hatte, um die Silhouette eines Rudels benachbarter konvexer Polys zu bestimmen. Der Farbverlauf nach innen dagegen war ein echtes Problem, weil die Interpolation der GPU jede Menge Unstetigkeiten produzierte. Jetzt waltet da ein Signed Distance Field, dem ich pro Halbkante die zwei Strecken der anliegenden Silhouette in die GPU hochlade und im FragmentShader dann die Abstände dazu bestimme und die je nach Konvex/Konkav mit Iniquilez' smoothmin() bzw. smoothmax() kombiniere. Sieht gut aus, solange die Polygone nicht *zu* dicht aufeinander folgen. Ich lass es erstmal so.

Jetzt will ich was darauf wachsen lassen. Ich hätte gerne Felder von im Wasser wiegenden Algengräsern auf der Oberfläche. Und später dann vereinzelt Pflanzen mit Spielmechanik.

http://www.splitterwelten.info/privat/worm_0011.png]
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

13

20.09.2020, 17:31

Habe nach langen Abwegen über CrossfireII-Release, fremde Projekte und allgemeine Unlust wieder zurück zum Wurmprojekt gefunden. Neu: Deko-Wandbewuchs. Programmiererkunst aktuell, so richtig zufrieden bin ich damit nicht. Ich hoffe, dass der Gesamteindruck besser wird, wenn die Tentakel sich mal sanft im Wasser wiegen und ordentlich ins Schwingen geraten, wenn ein Wurm durchdüst.


(Link)

Klick für Groß
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Byte

Alter Hase

Beiträge: 833

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

14

21.09.2020, 11:07

Hi, da ist ja der Wurm drin. :D Wir können es eben nicht lassen. :whistling: Ich hab auch im Moment alte Sachen hervorgekramt. Die Pflanzen erinnern mich irgendwie noch stark an Nägel. Aber sonst ist der Eindruck schon gut. :thumbup:
"Alles bleibt wie immer. :rolleyes: Wenn es nicht besser wird, wird es schlimmer!." :huh:

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

15

21.09.2020, 20:20

Jetzt, wo Du's gesagt hast, sehe ich auch nur noch Nägel. Grmpf. Soll halt kein echtes Gras werden, sondern halt irgendwelche nur unterm Mikroskop sichtbaren Tentakeldinger. Ich gebe denen mal Bewegung und Reaktion auf Umgebung, und dann schauen wir weiter. Vielleicht sollte ich sie auch nicht so ganz zufällig spawnen, dann überlappen sie einander nicht mehr.
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

16

24.09.2020, 15:01

Inzwischen bewegen sich die Tentakel ein bissl und spawnen mehr konzentriert. So richtig zufrieden bin ich noch nicht, aber es reicht erstmal. Und ich habe mal OBS und Streamable ausprobiert - bin ziemlich zufrieden. Nur das OBS-Video ruckelt vereinzelt.

https://streamable.com/62xv7q
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

17

24.09.2020, 17:54

Die optische Darstellung deines Spiels, erinnert mich dirket an ein Mikroskop mit eingebauter Kamera, bei dem man das Bild nun am Monitor betrachtet :-D ja kllar, ich Echt leuchten die Partikel nicht so in der Art farbig wie bei deinem Spiel :-D ... doch ich finde es ist eine sehr gute Mischung aus "wie es in Echt in etwa aussieht" und "wie es im Spiel aussehen muss damit es nicht zu uninteressant rüber kommt". ... So in etwa wie in einem RPG: da braucht es für die Spieler auch z.B. Namen und Lebensbalken über den Köpfen der anvisierten NPC's.. rotes leuchten bei Feindlichen NPCs, oder beim Treffer mit Schwert/Bogen einen 'Hit Effekt' usw. weil es sonst ohne diese "farblichen Hinweise" zu mühsam wäre und zugleich zu langweilig aussehen würde.

Gefällt mir richtig gut :)

Die unschärfe zum Rand hin, finde ich auch ein nettes Detail. So nach dem kurzen betrachten, dürfte es meinetwegen sogar noch etwas unschärfer sein. Allerdings, keine Ahnung ob, wenn es noch unschärfer wäre, nach längerem Spielen nicht vielleicht dann doch zu sehr unscharf wäre.

PS: mich erinnert es übrigens nicht an Nägel :-D

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

18

25.09.2020, 11:07

Hey, Danke! Ich habe hier mehr aus Versehen als absichtlich eine optische Trennung drin: alles mit Spielrelevanz ist bunt, alles an Deko und Hintergrund grau bzw. entsättigt. Dass der Wurm die ganze Zeit weiß ist, liegt nur daran, dass es noch gar keine Customization gibt :-)
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Byte

Alter Hase

Beiträge: 833

Wohnort: Deutschland

Beruf: Softwareentwickler

  • Private Nachricht senden

19

26.09.2020, 14:46

Sieht wirklich schon sehr interessant aus. :thumbup: Gut Ding braucht Weile.

Wie die Tentakeln sich mit dem Strom bewegen finde ich gut! :) Vielleicht könnte man das noch ausbauen. Dünnere Tentakeln fast wie Haare und dafür noch einige mehr? Vielleicht noch Haare an den Tentakeln. Ich nenne die einfach mal so. :D Ist nur so ne Idee. ;)
Was ist mit den Wänden? Kann man Denen vielleicht etwas Struktur geben? Oder passt das nicht zur Wurmwelt?
"Alles bleibt wie immer. :rolleyes: Wenn es nicht besser wird, wird es schlimmer!." :huh:

Schrompf

Alter Hase

  • »Schrompf« ist der Autor dieses Themas

Beiträge: 1 396

Wohnort: Dresden

Beruf: Softwareentwickler

  • Private Nachricht senden

20

26.10.2020, 20:46

Ich wollte die Wände bewusst schlicht gestalten, weil ich erstmal konvexe Formen haben wollte. Besser zum Spiel passen würden aber wohl schön geschwungene Kurven... mal schauen, wenn ich viel Zeit habe. Die Härchen auf den Wänden sind noch etwas unterschiedlicher in Länge, Dicke, Helligkeit geworden, aber dass sie Grau sind, ist wie gesagt Absicht.

Ich habe jetzt "Activity Windowing" eingebaut: der Server repliziert nur die Entities und Activities an jeden Client, die in der Nähe des Avatars dieses Clients sind. Weiß nicht, ob's dafür nen offiziellen Namen gibt. Dazu brauchte ich ne Entity-abstrakte Beschleunigungsstruktur, ich habe mich für ein Grid aus EntityRefs entschieden. Die könnte ich dann auch zur Beschleunigung anderer Umgebungs-Tests gebrauchen, aber das steht noch aus.

Hab ein kleines Video zur Anschauung gemacht, um mal bisschen in den Öffentlichkeitsarbeits-Trott zu kommen. Habe dazu ne feste ferne Cheater-Kamera eingebaut und damit prompt noch nen Fehler in der Hysterese gefunden: der Server soll Dinge hinter dem Wurm nicht so schnell abbauen, wie er vorne hinzufügt, damit nicht permanent spawned und despawned wird, wenn der Spieler aus Versehen auf einer Gitterzellen-Grenze hin- und hergurkt. Jetzt geht's, sieht im Video aber noch anders aus.

https://streamable.com/5m6y1z
Häuptling von Dreamworlds. Baut aktuell an nichts konkretem, weil das Vollzeitangestelltenverhältnis ihn fest im Griff hat. Baut daneben nur noch sehr selten an der Open Asset Import Library mit.

Werbeanzeige