Getriggert durch den Podcast #IndexOutOfBounds und unser tägliches Rogule, habe ich die Intension Rogule in 3D nachzubauen.

Da der 3D Teil nur ein Austausch/Erweiterung der Visualisierung sein wird, entwickel ich die Logik zuerst in 2D.
Die ersten Schritte sind gemacht, dynamische Maps werden generiert und Gegner verteilt. Insgesamt wirkt das noch recht tödlich was ich da baue. und mir gefallen die Räume noch nicht. Aber immerhin wird schon was dargestellt.
#coding #rogule

Der aktuelle Kartenalgorithmus:
20x20 Felder, Randfelder Mauer andere Felder zu 60% keine Wand. Nehme anschließend lediglich die meisten zusammenhängenden Felder. Entferne Sackgassen (=3 benachbarte Wände).
Wenn das Ergebniss 40% begehbare Felder hat aktzeptiere es, sonst neu.

Vermutlich brauche ich eher einen Algo der Räume baut, dann Türen in die Räume setzt und miteinander verbindet.

So... alles ein wenig bunter geworden, und vor allem interaktiver.
Wer schon mal schauen mag:
https://rogule3d.temme.dev/
Die grundlegenden Funktionen sollten da sein.

React steht mir gerade etwas im Weg, und schluckt meine CSS transitions (Hitpoints), vermutlich wegen rerender.
Ich bin mir unsicher obl ich die Kampfanimationen auch noch in die 2d Welt einbauen will, bevor ich mich der 3D Welt widme, es wäre nur zum Testen der Datenstruktur.

#coding #rogule

Rogule 3D

Die Kampfmechanik ist im wesentlichen:
Schaden: random(1,Level_angreifer+1)-random(1,level_verteidiger)
Schild erhöht die Verteidigung um 2,
Dolch und Axt den Angriff um 1 bzw. 2.

Jedes Monster hat eine "Sichtweite" (alle Zellen die in Sichtweite Schritte sind (Distanzmap initial berechnet Floyd Warshal)), wenn Rowan auf begehbaren Zellen in Sichtweite ist, geben die Monster Gas (Dykstra auf begehbaren Zellen).

Oh ich sehe gerade, mobile ist das Design murx. Da muss ich nochmal ran, und mit Fog of War wird das auch besser.
Neue Variante online.
Start und End Screen überarbeitet
Ein wenig am style gearbeitet.
Monstergenerierung angepasst, es sollte nun im Schnitt einfacherer Dungeons geben.
Die css animationen auf der Trefferpunktleiste funktionieren jetzt.
#rogule #rogule3d #coding

So.. ein Latenightupdate gibt es noch.
Fog of War (abschaltbar per Urlparameter debug)
Einige Layout Anpassungen
Bugfix: Tempel teilt Dungeon in zwei Einzelteile
Monster sind chilliger im Movement: `p = Math.min(0.9, (m.vision / (distance * distance)) + 0.3)`

Solltet ihr auf Probleme stoßen: mit dem Timestamp im Endscreen kann ich den Dungeon wieder herstellen.

#rogule #rogule3d #coding

Eine neue Version erblickte soeben das Licht der Welt auf https://rogule3d.temme.dev

Das wichtigste zuerst: Der Kartenalgorithmus entspricht jetzt der Logik des Originals. Wer sich rein nerden will: https://ondras.github.io/rot.js/manual/
Wer den alten Style haben nutzt den Parameter: type=organic.

Animationen beim Angriff sind jetzt auch da (Richtungsbewegung, und Schadensanimationen.
Insgesamt habe ich mich was Monster, Dekorationen und Schätze angeht stark dem Original angenähert.

#rogule #rogule3d #coding

Rogule 3D

Was fehlt ist noch ein wenig Doku der Parameter, dann geht es los mit 3D.

Verdammt ist das spät geworden, aber irgendwie war ich im flow.

Liebe Grüße aus der Entwicklung heute ohne Release aber mit Vorschau:
- Navigation mit Buttons und Pfeiltasten (Shift zum stehenbleiben und drehen (keine Aktion für das Spiel))
- erste Layout Gedanken
- Wände und Böden aus Karte generiert und rudimentär dargestellt.
- Spieler rudimentär dargestellt.
- Kamera folgt Spieler
- Lichtquelle folgt Spieler

#rogule #rogule3d #coding

Bevor es heute wieder zu spät wird.
Ich habe deployed. Wir haben die 3. Ebene durchbrochen. Dadurch ist jetzt auch einiges ins Bundle rein gekommen, mit den Texturen müsst ihr mit 3 MB rechnen.
Nachdem ich für die Karte auf Instanzen gewechselt habe läuft es auch auf meinem Smartphone flüssig.
Ich verarbeite die Events noch nicht, auf mobil fehlt die 2D Übersichtskarte.
Bekannte Fehler: Manchmal wird 270° gedreht.
Der seed steht wieder auf Tag.
#rogule #rogule3d #coding
https://rogule3d.temme.dev

Ich merke, dass ich die 3d Version eigentlich ausschließlich auf der 2D Karte spiele, weil ich im 3D Raum die Orientierung verliere.
An die Gamer unter euch: geht es euch genauso? Was machen andere Spiele anders? Vermutlich ist das Grid design Teil des Problems. Und die ewig gleiche Wandtextur.

#rogule #rogule3d #coding

@codingdad

Im Gegensatz zum 2d Rogule sehe ich in 3D nicht was an Gegnern wo unterwegs ist. Das macht’s ungleich schwerer. Völlig anderes Spiel. Erinnert mich ein bisschen an Eye of the Beholder.

@Morgunin Ich nehme an du bist mobil unterwegs. Da habe ich mich noch nicht um eine Einbindung der 2D Karte gekümmert. Ich schiebe das mal hoch in der Prio.

@codingdad

Dash ist richtig. Ich bin ausschließlich, wenn ich casual Games spiele oder bei mastodon was mache.

@codingdad Ich finde es mega. Aber wie @Morgunin sagte, komplett anderes Spielgefühl. Mir fehlt so eine Art Feedback für die Schritte - son ruckeln, dass ich mich wirklich bewegt hab.

Und ich finde es strange, dass Rowan standardmäßig strafed, also sich nicht dreht wenn man seitwärts drückt sondern rüber slidet. Ich kenne das aus meinen lieblings Dungeoncrawlern anders, da schaltet man das explizit an und Drehung ist Standard. Keine Ahnung ob das meine Orientierung beeinflusst, denke schon.

@Sumire @Morgunin Fehlt dir das Feedback auch bei regulären Bewegungen oder nur beim Kampf/Dekorationen entfernen?

Den Hinweis das drehen normalerweise der Standard ist ist gut, das ist ne Kleinigkeit. Bei Tastatur Bedienung kannst du mit shift den Modus Wechseln. Da werde ich dann vermutlich mal wechseln.
Wie ist das mit rückwärts? Ist da umdrehen oder rückwärts gehen der Standard?

@codingdad Sagen wir bei Kämpfen/ Items besonders. Aber auch beim regulären Bewegen fände ich ein Feedback gut. Ich spiele halt mostly auf dem Handy, da hab ich kein Gefühl ob ich die Touchtaste wirklich gedrückt/ berührt habe. Mit Tastatur ist das sicher anders.

Drehen tut man sich bei z.B. "Legend of Grimrock" mit rechts/ links. Rückwärts strafed man, also gleitet nach hinten. Überhaupt macht dieses Spiel ziemlich viel sehr, sehr gut. Falls du Inspiration suchst. ^^

@Sumire Die letzten digitalen Spiele die ich gespielt habe waren Baldursgate 2, Master of Orion 95 und Diablo II.
Und meine private Hardware stammt noch aus dieser Zeit😜

Dann gab es eine lange Zeit des Unwillen sich privat noch an den Rechner zu setzen. So langsam würde ich gerne wieder, aber ich müsste mich mit Hardware beschäftigen, darauf habe ich keinen Bock.

@codingdad Legend of Grimrock ist relativ Oldschool (inzwischen). Also man braucht dafür echt keinen High End PC.

Wenn es noch älter und pixeliger sein soll könntest du auch bei Lands of Lore, Ultima Underworld und Eye of the Beholder gucken. Oder Stonekeep, das ist auch sehr ähnlich vom Feel her zur bisherigen Rogule 3D Experience.

Gameplayvideos oder Let's Plays gibt's ja auch, wenn man nicht selbst spielen will. Empfehle da Gerugon, der hat viele der oben genannten gespielt.

@codingdad Wobei die alten Spiele natürlich im Vergleich alle ihre Macken haben. Da haben neue Spiele echt viele quality of life Features. Aber nix, was Rogule 3D wirklich betrifft.