stardance has been extended another month! the new deadline is october 31 :)

You are browsing as a guest. Sign up (or log in) to start making projects!

UNDERCROFT

  • 2 Devlogs
  • 15 Total hours

its a full game made with only shaders no game engine has been used at all its a souls dungeon game with different vibes after u kill each stage boss actually am proud of it

Open comments for this post

8h 22m 47s logged

002: opening the Dreaming Rooms

The second realm asks for a different kind of unease. The Crypt is weight, darkness, and armor. The Dreaming Rooms are open space, pale surfaces, repetition, and objects that almost belong together: cream plaster, checker floors, cloud windows, shallow pool imagery, impossible sky openings. Familiar rooms that refuse to feel fully ordinary.

The theme changes more than the palette. Wider, looping halls change how encounters play out. Porcelain wanderers drift through while mirror figures circle the player, pearl weapon materials and glass resonance change how the same actions feel, and a detuned choir carries the audio without any recordings.

The Oneiric Witness anchors the realm: a suspended porcelain mask, a dark eye, a hollow body, flowing ribbons, a halo, orbiting eyes. It shouldn’t read like another armored guard, and its movement has to keep that identity while still reading as danger.

The fight uses two contrasting patterns. A delayed lunge commits to a direction during its wind-up, giving a lateral dodge a clear purpose. A dream pulse holds position and marks a dangerous area on the floor. One asks the player to read direction, the other to read space, and both leave a recovery window.

Below half health the mask cracks and the room’s light changes. An attack’s timing is captured when it begins, so crossing that threshold never moves a cue already in progress. Small decision, big effect on trust: the warning the player sees has to describe the attack they actually get.

One touch of the blue seal enters the boss arena, with layout, player, and enemies switching generation together. Beating the Witness reaches the Dreamcore ending, and restarting keeps the chosen realm.

Limits: the browser suite covers realm selection, portal entry, same-frame generation changes, lunge direction, pulse radius, timing, defense, defeat, restart, and audio bounds. No new performance measurement here, and frame rate and audio quality across devices remain unverified.

0
0
52
Open comments for this post

6h 41m 44s logged

Devlog 001 Building the Crypt from scratch

UNDERCROFT starts with a constraint: construct a playable first-person dungeon
from shader code. There is no game engine, imported model library, texture pack,
or collection of recorded sounds behind the Crypt. Its rooms, enemies, sword,
interface, and audio are procedural constructions in GLSL. A small browser host
supplies input and presents the shader output.

That restriction shapes the world. Stone arches frame narrow paths. Torchlight
breaks up the darkness and gives the player a direction to read. Armored figures
occupy the same spaces the player can walk through. The dungeon needs to feel
like a place, but it also needs to show where movement is possible and where an
enemy can reach you.

The technical foundation is a persistent texture. One shader stores the layout,
player state, enemies, and progression there; the image shader reads that state
to draw the scene. This gives collision and rendering a shared source of truth.
Movement checks the path between positions rather than trusting the final
position alone, which matters when a frame takes longer than expected.

Combat grows around commitment. A sword sequence spends stamina. Dodging spends
more, while blocking trades incoming damage for stamina. Three healing flasks
give the player a limited chance to recover. The goal is to make a missed swing
or an exhausted dodge matter without making every mistake end the run.

The Cinder Warden gives those rules a destination. Its visible anticipation,
charge, and recovery create a cycle the player can read. Below half health, the
fight becomes faster. Recovery remains important: a boss needs moments when the
player can answer its attack, not only moments when the player must retreat.
Defeating the Warden leads to the Crypt ending; death and victory both support a
fresh run.

Audio follows the same construction rule as the environment. A dedicated shader
generates stereo samples, and the browser passes those samples to Web Audio.
Material sounds and attack cues belong to the simulation’s timing rather than
to a separate JavaScript combat system.

Verification and limits. The Crypt browser suite exercises movement,
collision, looking, stamina, healing, dodge, block, pickups, sword damage, the
ending, restart, and sound bounds. This entry records the foundation’s design;
it does not claim a new benchmark run. Desktop WebGL2 with floating-point shader
targets is required. Frame rate across different GPUs and sound perception on
different speakers remain device-dependent and unverified here.

0
0
14

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…