BlockForge Wiki

A complete reference for the fully on-chain voxel world. Every block, creature, control, and Bitcoin-reactive system documented.

NO MATCHES FOUND

Try a different search term or clear the search.

Overview

What is BlockForge?

BlockForge is a fully on-chain voxel world inscribed on Bitcoin. The entire game — code, textures, world generation — runs from a single HTML inscription. No servers, no CDN, no external dependencies.

The world is divided into a 32×32 grid of chunks (1000 pieces total). Each chunk is a separate inscription that can be claimed by its owner and edited. Edits become permanent when inscribed as child inscriptions of the chunk piece.

Architecture: Three.js WebGPU + TSL. World seed is fixed, so terrain is deterministic across all viewers. Edits are diffs from the procedural baseline, stored as JSON child inscriptions.

World Structure

The world spans -16 to +15 in both X and Z chunk coordinates. Each chunk is 32 blocks wide, 32 deep, and 64 tall.

A player's home chunk is determined by the inscription ID they loaded. Chunks not yet claimed show procedural terrain only.

Block coordinates: world X/Z range from -512 to +511. Y ranges 0-63. Bedrock fills y=0, terrain surface varies by biome.

Mega Chunks

8 special 2×2 chunk areas exist at biome intersections. A single inscription owns the entire 2×2 area, giving builders 4× the space for larger builds like cities or castles.

Mega chunks appear on the World Map with an orange outline and diamond marker.

Controls

Keyboard

WASD / ArrowsMove
SpaceJump (hold to re-jump on land)
Double-tap SpaceToggle Creative mode
CtrlSprint
ShiftFly down (Creative) / swim down (in water)
Left clickPlace block
Right clickBreak block (or open sign/chest)
Scroll / 1-9Hotbar selection
EOpen inventory, mount creature, edit sign
QToggle third-person view
JToggle auto-jump
TSend chat
HSay Hi (wave emote, broadcast to peers)
IToggle Controls panel
MWorld map
PPhoto mode (orbit camera)
CEyedropper (copy block you're looking at)
RStart/stop video recording
VTake screenshot
ZToggle performance stats
XToggle all post-processing
FToggle fog
LToggle local chunk coordinates in HUD
BOpen the ord.net listing for your current chunk (if listed)
EscRelease pointer / close menus

Mobile

Left joystickMove
Double-tap joystickToggle Sprint
Swipe right sideLook around
PLACE / BREAKPlace / break at crosshair
JUMPJump; double-tap for Creative
▼ DESCENDFly down (Creative mode only)
INV / COPYOpen inventory / eyedropper
◀ ▶Cycle hotbar page
Tap minimapOpen world map
Pause / menu

Gamepad

Left stickMove
Right stickLook
L3 clickToggle sprint
AJump (double-tap for Creative)
RT / LTFly up / down (Creative)
X / BPlace / break
LB / RBCycle hotbar
YInventory
StartPause / menu

Gamepad auto-activates on first input. D-pad and sticks navigate menus. A = select, B = back.

Creative Mode

Double-tap Space to toggle. In Creative mode:

  • No gravity or collision checks from ceiling
  • Space = fly up, Shift = fly down
  • Can fly through water, clouds, anywhere

Creative mode is local only. Your movement/position still syncs to multiplayer as normal.

Biomes

The world has 8 biomes, determined by large-scale noise. Each biome has unique terrain, blocks, structures, and creatures.

Plains GREEN

Rolling green hills with scattered trees, tall grass, flowers, and fireflies. The "home" biome.

Rare features: boulders, fallen logs, firefly jars. Blocks: grass, dirt, stone, sand near water.

Creatures: Sheep (common), Monkey (40% of chunks).

Desert YELLOW

Sandy dunes with saguaro cacti, mud huts, and walled compounds. Three variants of structures: small hut, medium house, walled compound with corner towers.

Blocks: sand surface, stone underneath, sandstone and clay in structures, desert lamps for light.

Creatures: Desert Sheep, Scorpion (30% of chunks).

Tundra WHITE

Snow-covered landscape with conifer trees, ice spikes, ice crystals, and rare igloos with domed roofs and entrance tunnels.

Water freezes to ice at this latitude. Igloos are built from pure snow with ice crystal centerpieces.

Creatures: Penguin.

Enchanted Forest PURPLE

Indigo ground with giant mushroom trees (5 cap shapes), magic logs, glowing magic leaves, hanging vines, and witch huts on stilts with thatch roofs.

Mushroom tree caps have 3 shape variants: dome, flat disc, drooping. Caps spawn leaves with occasional hanging vine droops.

Creatures: Fox, Wizard (50% of chunks).

Alien Planet TEAL

Vivid acid-teal ground with magenta rocks, orange spires, bioluminescent flora, and rare crashed ships with exposed engine cores. Occasional portals stand as obsidian frames with portal block fill.

Crashed ships include cockpits with cyber-window glass and energy-core exhaust.

Creatures: Alien Jellyfish (floating), Tripod (50% of chunks).

Ruins TAN

Cracked concrete ground with collapsed archways, partial stone rooms, rusted metal frames, and crumbling pillars.

Creatures: Sentinel (stone head, stares at you), Wraith (40% of chunks, translucent ghost).

Cyberpunk CYAN

Dark asphalt with glowing cyan grid lines, neon roads, and randomly generated skyscrapers with windows, energy cores, and crystal spires. Three skyscraper variants: slim (3×3), wide (5×3), L-shaped (5×5).

Creatures: Drones (patrol pattern with scan beams).

Ocean BLUE

Submerged biome below water level. Features coral clusters, kelp forests, shipwrecks with broken masts, underwater stone ruins, and sand mounds.

Shipwrecks are L-shaped plank structures on their sides. Underwater ruins are 3×3 brick/stone with some collapsed walls.

Creatures: Blue Jellyfish, Anglerfish (50% of chunks, glowing lure).

Terrain Features

Floating Islands

Rare (~3% of chunks) sky islands with a top surface, conical underside, biome-matched blocks, occasional trees, and 60% chance of waterfalls streaming down to the ground. Some hang a lantern from the underside for a floating lamp effect.

Underground Caverns

About 15% of chunks contain 1-2 hidden spherical cave rooms underground, buried at least 4 blocks below the surface. Each cave contains biome-themed emissive loot scattered on the floor.

Cave loot tables: Plains=fireflies, Desert=lamps, Tundra=ice crystals, Enchanted=magic leaves+crystals, Alien=spires+cores, Ruins=warning lights+lanterns, Cyberpunk=neon+cores, Ocean=coral+lanterns.

Water Level

Sea level is at Y=10. Any terrain below this floods with water in Plains and Ocean biomes, or ice in Tundra biomes.

Sand appears on beaches where plains terrain meets water. Plains/tundra chunks with low terrain (h < 10) fill with water/ice up to level 10.

Procedural Signs

Hidden signs containing Bitcoin and cypherpunk quotes are seeded inside enclosed structures throughout the world — ~2% chance per eligible column. 25+ different quotes from Satoshi, Hal Finney, and others.

Signs are placed only in structure interiors (floor + walls on 2+ sides, non-natural blocks).

Creatures

Each biome spawns 1-3 creatures per chunk. Creature behavior is seeded by the Bitcoin block nonce — new block = new movement patterns.

Sheep MOUNTABLE

Wanders plains in wool colors, occasionally hops happily. Mount with E to ride.

Body made of textured wool material. 10 color variants.

Monkey

OCM-style monkey with expressive face and swinging arms. Scratches head when idle.

Scorpion MOUNTABLE

Giant desert arachnid with curling tail and pincer claws. Tail wags ambiently and rattles violently every 6-16 seconds. Mount with E.

8-legged with 2-pair walking animation. Tail is a hierarchical chain of 5+ segments.

Penguin

Small waddling bird with orange beak and feet. Occasionally throws snowballs that arc with gravity.

Snowballs have realistic gravity + rotation and despawn after falling far enough.

Fox

Slender creature with white tail-tip. When player approaches, 60% flees, 40% stays brave (ignores player for 3 seconds).

Wizard

Purple-robed figure with pointed hat, beard, and glowing staff. Periodically emits magic sparkles from the staff orb.

Magic bursts spawn 3-5 colored particles with physics-based fall and fade.

Alien Jellyfish

Translucent glowing dome with trailing tentacles. Floats above terrain with a gentle bobbing motion.

Tripod

3-legged alien walker with a single large glowing eye. Legs move in offset rhythm creating an eerie wobble.

Drone

Cyberpunk flying machine with spinning rotors and red eye. Patrols in straight lines with 90° turns. Periodically emits a cone-shaped scan beam below.

5 color variants. Scan beam fades in/out over ~2-4 seconds with pulsing opacity.

Sentinel

Large stone head with glowing orange eye sockets. Slowly rotates to face the player when within 16 blocks. Does not move.

Wraith

Translucent cloaked figure with glowing white eyes. Pulses opacity and sways like a ghost. Drifts freely across terrain.

Anglerfish

Bulbous fish with jagged teeth and a glowing yellow lure dangling from its head. Lure sways and tail wags as it swims.

Blue Jellyfish

Ocean-colored translucent jellyfish. Drifts slowly, tentacles sway.

Cat

Compact four-legged creature with triangular ears and an upright tail. Spawns in plains and enchanted chunks (45% / 40% chance per chunk). When the player walks within ~12 blocks the cat tends to trail along about 2 blocks behind — the inverse of the fox's flee instinct. Occasionally rolls aloof and ignores the player for a few seconds before re-rolling. Sits still and tilts its head when idle.

75% follow chance on detection; 4-8 s aloof cooldown otherwise. Cat is bound to its spawn chunk, so following stops at chunk boundaries — walk back in to pick it back up. Six palette entries in plains (black, orange tabby, white, gray, dusty brown, fawn), five in enchanted (black, two purples, lavender, white). Belly fur auto-lightens by +30 in each channel for a free two-tone look.

Frog HOPS

Wide, low-slung body with bulging eyes on top of the head and a permanent grin. Spawns on shoreline tiles — surface just at or above the waterline — in ocean chunks (60% per chunk) and occasionally in plains chunks with a nearby pond (18%). Hops in clean arcs when moving; back legs do the work, front legs barely move.

Pepe-coded green palette. Spawn picks up to 8 random local positions per chunk and keeps the first whose surface Y falls in [WATER_LEVEL, WATER_LEVEL + 3]. Frogs stand on regular ground (no water-surface levitation). Hop arc is a positive half-sine layered on top of the ground-tracked Y.

Blocks

90+ block types across every biome. Badges indicate special properties.

Natural Terrain

Grass ID 1

Green surface block for plains. Dirt underneath.

Dirt ID 2

Brown soil found under grass and snow.

Stone ID 3

Deep gray block below all surface terrain.

Sand ID 4

Desert surface and beaches along water.

Gravel ID 5

Loose stone texture.

Wood ID 6

Tree trunk block. Dark grain on sides, rings on top.

Bedrock ID 45

Near-black unbreakable block at Y=0.

Snow ID 12

Snowy surface, jagged edge where it meets dirt.

Water ID 13 TRANSPARENT

Animated flowing water. Horizontal streaks on top, vertical on sides.

Ice ID 27 TRANSPARENT SLIPPERY

Frozen water. Walking on ice preserves momentum — you slide.

Building

Planks ID 7

Smooth wooden planks, good for floors.

Cobblestone ID 8

Irregular stone blocks with visible edges.

Brick ID 9

Classic red brick, staggered rows.

Glass ID 10 TRANSPARENT

Clear glass with subtle blue tint.

Leaves ID 11 TRANSPARENT

Green tree canopy with small gaps.

Red Glass ID 65 TRANSPARENT

Red stained glass with cross pattern.

Blue Glass ID 66 TRANSPARENT

Blue glass with diamond pattern.

Green Glass ID 67 TRANSPARENT

Green with diagonal stripes.

Yellow Glass ID 68 TRANSPARENT

Yellow with star pattern.

Purple Glass ID 69 TRANSPARENT

Purple arch pattern.

Orange Glass ID 70 TRANSPARENT

Orange with flame pattern.

Dark Wood ID 54

Very dark wood with purple accent flecks.

Thatch ID 55 EMISSIVE

Woven straw, faint magical glow.

Obsidian ID 19

Black glassy volcanic block with speckles.

Dark Metal ID 17

Industrial metal with corner rivets.

Clay ID 43

Warm brown terracotta. Used in desert structures.

Sandstone ID 44

Compacted sand with ornate borders.

Hay Bale ID 91

Banded straw with binding cords on the sides and a radial cross-section on the top — stacks read as proper bales.

Wool

Eight solid-colour fabric blocks for decorative builds. Each shares the same diagonal weave + sparse knot pattern; only the base colour changes.

White Wool ID 83

Clean off-white cloth.

Black Wool ID 84

Near-black fabric, good for outlines.

Red Wool ID 85

Muted brick-red fabric.

Orange Wool ID 86

Warm pumpkin orange.

Yellow Wool ID 87

Saturated mustard yellow.

Green Wool ID 88

Mid-green, leafy.

Blue Wool ID 89

Deep cobalt blue.

Purple Wool ID 90

Royal purple.

The pixel-art generator at /generate_pixel_art_json auto-picks wool for saturated mid-tone source pixels (the eight tuples cover the colour wheel cleanly).

Light & Emissive

Lantern ID 50 EMISSIVE

Warm amber lantern. Casts real light on nearby blocks (max 6 in world at once).

Neon Panel ID 14 EMISSIVE

Cyan neon with glowing edge border.

Energy Core ID 18 EMISSIVE

Orange radiant sphere.

Firefly Jar ID 61 EMISSIVE TRANSPARENT

Glass jar with warm firefly glow. Plains biome.

Desert Lamp ID 62 EMISSIVE

Ornate clay oil lamp with flame. Desert biome.

Ice Crystal ID 63 EMISSIVE TRANSPARENT

Glowing ice shard. Tundra biome.

Warning Light ID 64 EMISSIVE

Flashing red/yellow beacon. Ruins biome.

Crystal ID 16 EMISSIVE TRANSPARENT

Purple gradient crystal with white sparkles.

Magic Leaves ID 32 EMISSIVE TRANSPARENT

Pink/purple glowing foliage from mushroom trees.

Alien Spire ID 35 EMISSIVE TRANSPARENT

Amber translucent crystal.

Alien Flora ID 36 EMISSIVE TRANSPARENT

Magenta organic blob with glowing spots.

Lava ID 72 EMISSIVE

Animated flowing lava, scrolls upward.

Aurora ID 94 EMISSIVE

Sky-curtain block. Three vertical colour bands (cyan, pale green, purple) warped by a sine wave so a wall of these reads as northern lights.

Physics Blocks

Bounce Pad ID 76 BOUNCY

Green spring-coil pad. Every face bounces: top launches you up, sides fling you away, bottom pushes you down. Great for obstacle courses.

Grip Pad ID 77 STICKY

Red rubber pad. Instantly kills all momentum on contact. Standing on it blocks sliding from ice or bounce impulses. Walls of grip pad stop you dead.

Ice ID 27 SLIPPERY

Walking on ice preserves momentum. Releasing WASD glides to a slow stop instead of instant halt.

Portals

Portal Block ID 56 EMISSIVE TRANSPARENT

Deep purple portal ring. Standing inside for 3 seconds teleports you to a paired portal elsewhere in the world. Triggers hue-rotate effect that persists until you return.

Bitcoin-Themed

Bitcoin ID 57 EMISSIVE

Orange block with ₿ symbol.

Satoshi ID 58 EMISSIVE

Dark block with S and strike pattern.

Chart ID 59 EMISSIVE

Green ascending line chart on grid background.

Ordinals ID 60 EMISSIVE

Black block with ◎ ordinals symbol.

Fee Rate ID 73 EMISSIVE

Live-updating display of current Bitcoin fee rate in sat/vb. Text changes when the fee rate changes.

Interactive

Sign ID 46

Parchment-faced sign block. Right-click to read. Chunk owners can edit. Supports up to 120 characters.

Seed ID 71

Grows into a tree based on Bitcoin block age. 5 growth stages cycle every 100 blocks: seed → sprout → young → adult → withering → repeat.

Cloud ID 20 TRANSPARENT

White puffy cloud block. Clouds are also auto-generated overhead in the sky layer.

Pumpkin ID 92

Vertical-ridge sides with a brown stem on top and an 8-segment radial pattern around it.

Jack-O-Lantern ID 93 EMISSIVE

Pumpkin with eyes and a toothy grin carved into every side, glowing yellow at night. The whole block radiates a warm orange.

Bitcoin-Reactive World

The world responds to live Bitcoin blockchain data. Polled every 30 seconds from the inscription host.

Day/Night Cycle — Block Parity

Even-numbered Bitcoin blocks = night, odd-numbered blocks = day. The sun and moon arc across the sky over the ~10-minute block window, with smooth dawn/dusk transitions.

Block height drives dayNightTarget (0 or 1). Camera sky color, fog, ambient light, and sun/moon positions interpolate smoothly. Block height is displayed on the sun/moon face.

Weather — Average Fee Rate

The current block's average_fee_rate drives weather intensity:

< 1 sat/vbClear skies
1-3 sat/vbLight rain (150 particles)
3-6 sat/vbModerate rain (350 particles)
6-10 sat/vbHeavy rain (600 particles)
> 10 sat/vbThunderstorm (900 particles, lightning flashes)

Tundra biome always shows snow instead of rain. Desert/ocean never show precipitation.

Cloud Density — Transaction Count

The current block's transaction_count maps to cloud coverage. Empty blocks give sparse clouds, full blocks give overcast skies.

Maps 1000-10000 txs to noise threshold 0.80 → 0.25. Cloud mesh rebuilds when threshold changes by more than 4%.

Creature Behavior — Block Nonce

Each Bitcoin block's 32-bit nonce re-seeds creature RNG. On a new block, every creature picks different walk targets, flee decisions, beam timers, magic cast intervals, etc.

Shooting Stars — New Blocks

When a new Bitcoin block arrives, the sky flashes and 20-50 shooting stars streak across. Hard-capped at 60 simultaneous stars to prevent lag spikes (e.g., from tabs refocusing after many blocks elapsed).

Seasons — 100-Block Cycle

Every 100 Bitcoin blocks, biomes shift through a subtle color cycle:

  • Ruins darken and gain more cracks
  • Magic leaves shift pink → deep purple
  • Cyberpunk neon shifts cyan → magenta
  • Alien flora pulses green → violet
  • Tundra snow shifts white → blue
  • Desert sand shifts warm → cool
  • Sky background warms slightly at peak season

Override with the Season Cycle slider in Options.

Live Fee Rate Display

The Fee Rate block (ID 73) renders the current Bitcoin fee rate as text on all faces. Updates whenever the fee rate changes.

Multiplayer

How It Works

Multiplayer runs over WebRTC through an server-hosted relay. Every client opens one WebRTC datachannel to the same relay box and joins rooms there.

Relay address (IP, port, ICE creds, DTLS fingerprint) is anchored on a Bitcoin sat (25483050881520); clients fetch the latest config from /r/sat/<sat>/at/-1/content, so the relay can be rotated without touching the piece. Server is Pion (Go) on a Hetzner box.

What Syncs

  • Player position and yaw + pitch (10 Hz) — peers see your head tilt when you look up or down
  • Player name, color, and skin texture
  • Block placements and breaks (broadcast through the relay)
  • Chunk operations (reset/erase/erase-floor — owner only)
  • Chat messages and emotes

Each loaded chunk subscribes to its own relay room (mp:chunk:cx,cz). Edits are buffered server-side for ~72 hours; players who join a chunk room receive the buffered history as replay events so late-joiners see existing builds.

Wave Emote

Press H to wave hello. Your avatar's right arm raises and wags side-to-side for two seconds. The emote is broadcast as a one-shot message on the global room so every peer plays the same animation on your avatar.

Emote messages aren't persisted, so reconnects don't re-trigger stale waves on chunks you visited before.

Chat Bubbles

When a player sends chat, the most recent message floats over their head for 5 seconds. Latest message replaces the prior one; the bubble fades on its own.

Your own messages also show above your third-person avatar so what you say matches what others see.

Offline Fallback

If the relay is unreachable, your edits save to browser localStorage instead. They still appear locally across reloads, just not to other players.

The true "source of truth" for all changes is always the child chunk inscriptions. Multiplayer is a quality of life addition on top of this, but the core world will always remain on-chain via parent-child.

Marketplace

Live ord.net listing and recent-sale data is pulled through the relay at boot and surfaced in three places: two sky billboards in chunk (0,0), the cyberpunk ad blimps drifting overhead, and the chunk-info HUD when you walk into a listed chunk.

Listings & Sales Endpoint

The engine calls two relay actions at boot:

  • bf-listings — current live listings: floor price, total listed count, plus each entry's inscription ID, chunk name, price in sats, and listing URL on ord.net.
  • bf-recent-sales — last 10 ord.net sales: inscription ID, sale price (sats + USD), buyer, seller, and timestamp.

Both relay actions are server-side GETs against blockforgebtc.com/api/blockforge/{listings,recent-sales}; the relay proxies the JSON over the data channel because ordinals.com's CSP blocks the in-game client from calling our backend directly. Boot fetch is best-effort — if either call fails, the corresponding billboard/blimp stays hidden but the rest of the world is unaffected.

Chunk (0,0) Billboards

Two canvas-textured sky panels mounted below the floating "BLOCKFORGE" energy-core text in the welcome chunk:

  • RECENT SALES — 10 most recent sales with chunk tag, age (e.g. "5h ago"), and sat price.
  • LOWEST LISTINGS — 10 cheapest live listings with chunk tag and sat price, plus floor + total listed in the subtitle.

Each panel is double-sided (two coplanar planes facing opposite ways) so the text is readable from either approach.

Cyberpunk Ad Blimps

Three slow-drifting blimps circle the world at varied altitudes, each carrying a side-mounted screen that reuses the same billboard textures (one upload to the GPU; multiple meshes reference it).

  • Sleek dirigible (cyan trim, low altitude) — tapered cigar hull with a gondola, vertical antenna, red blinking beacon. Carries listings.
  • Industrial freighter (magenta trim, mid altitude) — boxy stepped hull, magenta engine thrust pods, yellow caution lights. Carries sales.
  • Drone scout (cyan trim, high altitude, counter-rotating) — compact hull with four corner ducted-fan housings, green nose sensor. Carries listings.

Aesthetics chase the cyberpunk biome palette (dark metal hull, neon road / neon panel / energy core accent colours). Beacons blink on per-blimp phases so the trio doesn't strobe in sync.

In-World Buy Hint

When you walk into a chunk that has a live listing, the chunk-info HUD adds a line:

◆ Listed on ord.net: 41,000 sats (Press B to Buy)

Press B to open that chunk's ord.net inscription page in a new tab. The hint and keybind are no-ops on chunks that aren't listed.

The chunk lookup is built from the listings response by parsing chunk coordinates out of each listing's name field ("BlockForge #N - Chunk (cx, cz)"). Lookup is O(1) per HUD refresh.

Technical

Inscription Structure

The parent inscription contains the full game HTML. 1000 child inscriptions represent the individual chunks (some are mega-chunks spanning 2×2 sub-chunks).

When a player edits their chunk, they inscribe a JSON diff as a child of their chunk piece. On page load, all recent child inscriptions are fetched and applied as world edits.

Chunk JSON Format

Edit format for inscriptions:

{
  "t": "edit",
  "cx": 3, "cz": -2,
  "a": [[x, y, z, "blockname"], ...],
  "r": [[x, y, z], ...],
  "tx": [{"iid": "abc...i0", "name": "myblock"}],
  "signs": {"x,y,z": "sign text"},
  "bh": 945000,
  "author": "MDV"
}

See /blockforge/spec for the full AI-ready build spec.

Deterministic World Gen

Every aspect of the base world (terrain, biomes, structures, caves, chest contents) is deterministic from the fixed WORLD_SEED. This means every player loading the game sees the exact same procedural world, so builds can only deviate from a shared baseline.

Note on Inscriptions #1–100 Biome Traits

The first 100 BlockForge inscriptions (the initial airdrop batch) were generated using an older biome-calculation script that didn't match the final engine. As a result, ~78 of those 100 carry a Primary Biome trait that doesn't match what the engine actually renders for that chunk.

The engine's in-world rendering is canonical truth. If you stand in a chunk and see Cyberpunk, that chunk is Cyberpunk regardless of the listed trait. Inscriptions #101–#1000 use the corrected biomes that match the engine exactly.

We considered fixing this with a re-derived seed or per-chunk overrides, but both approaches would have either changed the world for everyone (breaking existing builds and the visual continuity of the map) or made the HUD lie about the actual environment. Trait noise on 7.8% of the first batch was the smaller cost. Going forward, every new piece is self-consistent: the trait you see on the marketplace matches the biome you'll see when you walk into that chunk.

Rendering

Three.js WebGPU renderer with TSL (Three.js Shader Language). Uses MRT (Multiple Render Targets) to render scene color, normals, and emissive separately for post-processing.

Chunk mesh uses 4 buckets: opaque, alpha (cutout), emissive, and water. Face culling skips faces touching identical or solid neighbors. Emissive bucket has depth-write enabled so depth tests work correctly.

Texture Atlas

All block textures pack into a single 1024×1024 canvas in a 16×16 grid of 64×64 slots. Supports up to 256 blocks.

Skin Format

Standard Minecraft 64×64 skin layout. UV regions for head, body, arms, legs, and overlay layers.

URL Parameters

Append these to the URL for debugging or special modes:

Query Flags

?TIME=hourFixed time of day (0-24 or name like "noon", "dusk")
?TIMELAPSE=NAdvance time N× faster
?FORCE_DAYNIGHT=0/1Force night (0) or day (1)
?FEERATE=NOverride fee rate for weather testing
?FLYOVER=trueAutomated cinematic camera path, no UI
?gallery=trueGallery mode — auto-orbit, no pointer lock
?AUTOSTART=NAuto-enter game after N seconds
?NO_CREATURES=trueDisable creature spawning
?MP=falseDisable multiplayer
?stats=trueShow FPS/performance stats
?perf=1Enable longtask + LoAF observers and per-frame timing logs
?NOCURSORHide the mouse cursor

Credits

Built by MDV

BlockForge is a fully on-chain voxel world inscribed on Bitcoin. Permanent, unstoppable, editable by you.

BlockForge  ·  Build Spec

Technical Consulting

  • Switch_900 — Nexus and NexusWalletConnect, WebRTC and relay expertise.
  • Ob1-Wan Satoshi — WebRTC, networking and relay experience, Kenobi Stack.