Skip to content
Carlo Miguel Dy
← Back to the specimen catalogue

Acc. XXII · Vitis emberalis — voxel PvE prototype, cultivated 2026

Embervale — angled top-down voxel PvE prototype

Systems R&D engineer · 2026 · Independent studio

The foundational voxel PvE prototype — rendering, physics, state, and generated-asset pipeline — that Emberkeep later forked and extended, built end to end with a non-Anthropic model as a deliberate provider-independence test.

Vitis emberalis — voxel PvE prototype, cultivated 2026

Field notes

The context

Before Emberkeep's open world could exist, the studio needed a working angled top-down voxel foundation — rendering, physics, simulation state, and a generated-asset pipeline — proven out in a smaller PvE prototype first.

Cultivation

What I built

  • Established angled top-down voxel rendering on React Three Fiber as the base render path later inherited by Emberkeep.
  • Wired Rapier physics and Zustand simulation state into a working PvE combat loop.
  • Built a Blender Python asset-generation pipeline for voxel-style models.
  • Built the whole prototype with Grok 4.5 as the primary build agent end to end, as a deliberate test of a non-Anthropic model on a hard interactive-systems problem — the reason the studio treats provider independence as an engineering position rather than a preference.

Root system

How it works

A Vite + React app renders an angled top-down voxel world through React Three Fiber, with Rapier handling physics and Zustand holding simulation state. A Blender Python pipeline generates voxel-style assets outside the browser runtime.

Harvest

Outcomes

  • Produced a working rendering, physics, state, and asset-pipeline foundation that Emberkeep forked and extended into a full open-world game.
  • Validated Grok 4.5 as capable of carrying a non-trivial interactive-systems build end to end.
  • Superseded by Emberkeep as the active line of work — this prototype is not under further development.

Herbarium

The work itself

Title screen of Embervale captured at 1600 by 1000. A cream pixel-art modal with a thin dark border floats in the centre of the frame over a live, fully shaded voxel world seen from a high angled top-down camera. The modal's heading reads "Embervale" in a chunky pixel display face with a soft drop shadow. Beneath it, two centred lines read "Cozy voxel grove · angled top-down PvE. Calm wild spirits, then face the Grove Tyrant." Below that sits a bordered pale-green control table of four rows, each with a pixel-face key label and a plain-text value: "Move — WASD / Arrows", "Attack — Click or Space", "Dash — Shift", and "Goal — Survive to wave 15". Under the table is a wide orange pill button with a darker orange border reading "ENTER THE GROVE", and below it the credit line "A game by Carlo Miguel Dy · carlomigueldy.dev" with both names underlined as links. The world rendered behind the modal fills the frame: a plateau of green voxel grass with darker green cube tree canopies clustered along the left, top and right, sand-coloured dirt paths curving through the grass as a repeating pattern of open rings, grey boulder clusters, scattered pink and yellow flower voxels, small brown tree trunks and orange crate cubes, a white cottage with a bright red stepped roof at the top of the frame, a straight brown fence line running diagonally beneath it, and a pale blue translucent pond at the right edge. Thin bands of pale blue sky show past the map edge at the upper left and upper right corners. A footer strip across the bottom of the frame reads "Built with React · R3F · Rapier · ElevenLabs SFX · carlomigueldy.dev".
Fig. 1The Embervale title screen renders its pixel-art menu directly over the live React Three Fiber voxel scene rather than a static image, so the angled top-down render path — voxel terrain, ring paths, canopy clusters, cottage and translucent pond — is already running before the player enters the grove.
In-game combat capture at 1600 by 1000, wave 8 of an Embervale run. The top-left HUD is a cream pixel-art panel: a square portrait tile at its left with a small green level badge reading 9 beneath it, the name "HEARTHKEEPER" in dark pixel type with "GROVE GUARD" as a smaller right-aligned subtitle, then two stacked meters — a red HP bar reading 196 / 196 and a green XP bar reading 108 / 264. A dark scoreboard slab sits centred at the top of the frame with two columns: "WAVE 8" and "KILLS 33", the numbers in large orange pixel digits. At the top right, a cream panel headed "FIELD / GROVE" lists "Spirits 9" and "Boss @ W10". The world below is a green voxel grove seen from a high angled top-down camera: a white cottage with a red stepped roof near the top left, a straight brown fence running diagonally away from it, sand-coloured ring paths looping through the grass, grey boulder clusters, dark green cube tree canopies filling the right third, pink and yellow flower voxels, orange crate cubes, and a large pale blue translucent pond on the right. Just left of centre the player character stands mid-swing with a grey sword raised above its head, hemmed in on all sides by a tight cluster of enemy units — red, green, purple and blue voxel bodies — each under a small white floating nameplate with a thin health bar. Legible nameplates read "Moss Slime" three times, "Ember Imp", "Sapling" twice, and "Grove Beetle" on a blue beetle standing apart to the left. Another green Moss Slime waits near a rock formation to the upper right and one more Sapling stands alone on the path below the cluster. A dark toast reading "+34 XP" sits at the bottom right above a small "carlomigueldy.dev" watermark. A cream control legend at the bottom left reads "CONTROLS / WASD move · Click/Space attack / Chain clicks for combos · Shift dash".
Fig. 2Mid-run at wave 8 with nine live spirits and 33 kills, the frame shows the Rapier-backed combat loop under load — a packed melee cluster of four distinct enemy archetypes, each with its own nameplate and health bar, resolving against a single player hitbox while the HUD tracks HP, XP, wave and boss countdown from Zustand state.
Late-run Embervale capture at 1600 by 1000, wave 13. The top-left cream HUD panel shows the portrait tile with a level badge reading 16, the name "HEARTHKEEPER" with the subtitle "GROVE GUARD", a red HP bar filled to roughly two thirds, and a nearly full green XP bar. The dark scoreboard slab centred at the top reads "WAVE 13" and "KILLS 68" in orange pixel digits. The top-right cream panel headed "FIELD / GROVE" reads "Spirits 6" and "Boss @ W15". The camera looks down at a steep angle across a green voxel grove: a white cottage with a red stepped roof and a long brown fence occupy the upper left, dense dark green cube tree canopies mass through the centre and right, sand-coloured dirt paths curve through the grass as open rings, grey boulders and a small stone tower with an orange cap sit at mid left, and pink and yellow flower voxels dot the ground. The player character stands almost dead centre on an open patch of grass with a grey sword drawn upward, its shadow beneath it. Immediately to its left a red cube-bodied enemy labelled "Sapling" carries a white nameplate and health bar. A small purple "Ember Imp" with its own nameplate stands at the lower right on the shore of a large pale blue translucent pond, with a second purple imp partially behind it. A faint "Grove Beetle" nameplate is clipped by the left edge of the frame. Down the right edge runs a vertical stack of six dark rectangular reward toasts reading, from top to bottom, "+24 XP", "+35 XP", "+35 XP", "+24 XP", "+24 XP" and a sixth fading toast. A wide band of pale blue sky is visible past the map edge across the top right. The cream control legend at the bottom left reads "CONTROLS / WASD move · Click/Space attack / Chain clicks for combos · Shift dash".
Fig. 3Wave 13 at level 16 and 68 kills, with six XP reward toasts still cascading down the right edge — the progression system and its floating feedback queue resolving several kills within the same few frames, two waves before the boss gate.
The wave-15 boss encounter in Embervale, captured at 1600 by 1000. The top-left cream HUD panel shows the portrait tile with a level badge reading 17, "HEARTHKEEPER" with the subtitle "GROVE GUARD", a red HP bar filled to roughly half, and a near-full green XP bar. The dark scoreboard slab centred at the top reads "WAVE 15" and "KILLS 82" in orange pixel digits. In place of the usual field panel, the top right carries a distinct pink-bordered boss panel: a small pink chip reading "BOSS" beside the title "GROVE TYRANT", a pink HP bar below it, and to its right a circular purple portrait badge showing the boss's pale face under a small yellow crown. The camera looks steeply down on a green voxel grove. Centre-left of frame stands the Grove Tyrant, a tall deep-purple voxel figure with a grey chest panel, a pale cream head and a yellow crown, planted among dark green cube tree canopies and standing on a sand-coloured ring path. Above it floats a white nameplate reading "Grove Tyrant" with a pink health bar roughly three-quarters full. A white cottage with a red stepped roof and a brown fence are cut off by the left edge of the frame. Sand ring paths loop across the grass and darker green canopy clusters fill the lower right. Because the camera sits near the map boundary, a large wedge of flat pale blue sky occupies the upper right of the frame beyond the terrain edge. The cream control legend at the bottom left reads "CONTROLS / WASD move · Click/Space attack / Chain clicks for combos · Shift dash", and a small "carlomigueldy.dev" watermark sits at the bottom right.
Fig. 4The run's stated goal reached — the wave-15 Grove Tyrant fight swaps the field panel for a dedicated boss HUD with its own pink HP track and crowned portrait, showing that the prototype's wave scheduler and enemy state machine carry all the way to a distinct scripted encounter.
Pressed leaf — what it taught
A prototype's value is often in what it hands off, not in what it ships as — the render/physics/state split proven here is what made Emberkeep's harder problem tractable.