LABYRINTH WARS 4D

Configure the 4D labyrinth before the map is generated. Each tube in the maze is a 3×3×3×3 hyper-cube of playable space. The map is grown with the true 4D version of the same corridor-growth algorithm as the 3D game. Grid sizes are kept smaller than the 3D version since cell count grows as N⁴, and k (corridor buffer) needs to stay small at low N — interior room is tight in 4D, so k=2+ can stall growth entirely below N≈14.
Removes Player 2 entirely — no second home castle is generated, there's no hot-seat "Switch to P2", and the game never ends in a win/loss against an opponent. Just you, the labyrinth, and its neutral castles/monsters.
Kept below the other sliders' ceilings on purpose: cell count grows as N⁴, so N=40 already means ~2.5M grid cells to allocate. Much higher risks freezing or crashing the browser tab.
Every purchase (units, buildings, upgrades, heroes, castle levels) now costs the 4 resources (mostly Red, plus 1-2 smaller amounts of Orange/Cyan/Green depending on what's being bought) — there's no mineral currency or mineral pickup fields anymore. This is each player's starting Red; Orange/Cyan/Green start at 0 and are gathered from resource bases/pickups near the castle.
Scales EVERY resource cost the game charges — units, structures/camps, upgrades, heroes, castle-window building levels, and the Super Space spaceship. Positive multiplies (2 = double price); negative divides by its absolute value (-2 = half price). Default 1 leaves costs unchanged.
Scales how much resource a picked-up item/artifact actually gives. Same rule: positive multiplies, negative divides. Default 1 leaves the amounts unchanged.
Scales how much XP a hero needs to reach their next level (which is when a new ability is offered). Same rule: positive multiplies (more XP needed, slower), negative divides (less XP needed, faster). Default 1 leaves it unchanged.
Gradual spread across all barriers on the map, not independent per-barrier rolls. With N barriers, the full scale min → min×this×N is split into N equal bands (min→min×this, min×this→min×this×2, ...) and each barrier gets one random value from its own distinct band — so HP climbs smoothly across the map's barriers instead of clustering. E.g. min=100, this=16, 4 barriers → bands of 1600 up to a max of 6400, one barrier per band.
Darkens maze wireframe edges the further they've rotated into the 4th dimension (w) — same formula as the reference 4D rotation demo.
Neither player can damage the other's units or bases. Barriers can still be attacked.
Automatically hands control to the other player after the interval below. Note: each player's minerals/kinds-built/upgrade-levels readouts are always hidden from the other player, regardless of this setting.
One hyperplane rotates at a time, then randomly jumps to a different plane — same engine as the 4D maze's Labyrinth mode.
Subdivides every edge of the Hexa unit/base's 4D double-tetrahedron wireframe n times, same as the reference app's "Divide lines" tool — denser wireframe and more possible autoscan crossing points. Edge count roughly doubles per step (20 → 40 → 80 ...), so capped at 6.
Sweeps a scan plane back and forth through each Hexa marker's own rotated-w extent (like the app's Scan settings → Autoscan), drawing a filled circle wherever the marker's wireframe crosses it.
Combat Cube autoscan sweep for every one of YOUR OWN units (any race, any type) — replaces the old Hexa-specific color/speed/size with one shared setting for your whole side.
Subdivides every edge of the Squarer unit/base's 4D parallelepiped (tesseract) wireframe n times, same as the reference app's "Divide lines" tool — denser wireframe and more possible autoscan crossing points. Edge count roughly doubles per step (32 → 64 → 128 ...), so capped at 6.
Sweeps a scan plane back and forth through each Squarer marker's own rotated-w extent (like the app's Scan settings → Autoscan), drawing a filled circle wherever the marker's wireframe crosses it.
Combat Cube autoscan sweep for every ENEMY unit (any race, any type) — replaces the old Squarer-specific color/speed/size with one shared setting for the opposing side.
Unlimited minerals, no build prerequisites (build any structure in any order), and instant unit/base production — no build-time wait.
Only applies in Test Mode. Each player's very first hero starts with this many of EVERY combat unit kind (Dasher, Tri, Squarer, Penta, Hexa) already in their army, so you can jump straight into testing Combat Cube fights without building up an army first. Set to 0 for no starting army (empty, same as a normal game).
Only applies in Test Mode, and only changes how the "starting army per kind" number above is used. Off (default): every unit kind in a test army/test item gets that same count. On: only the HIGHEST-level kind present gets that count — every lower kind instead gets the smallest count whose group's total HP is bigger than the top kind's group total HP, so no stack is a pushover next to the biggest one. Applies to the first hero's default army, the exact-units and test-item guard fields, and every "Go" test-fight button.
When on, a Combat Cube battle ends immediately, in favor of whichever side has it, the moment one side's total remaining army HP exceeds 16 times the other side's — skips grinding out an already-decided fight (handy alongside Test Mode's large starting armies). Off by default.
Off (default/usual): actions need the minerals in hand right now. On: you can request any action at any time — your balance can go negative, and each such action waits in a credit queue, starting automatically (in order) once your income has paid it off.
A challenge fires the instant a Hero starts harvesting a mineral field, then again every this-many moments of continued harvesting at it.
There is no time limit just to look at / think about a word. But the moment you give a WRONG answer, the challenge ends immediately and the game keeps running — no more waiting on the panel. Instead, the specific thing you were being challenged about (that mineral field for harvesting — blocked for EVERY player, not just you; that structure; that first unit; that upgrade) is blocked for this many in-game moments, then becomes available again on its own — no need to answer correctly to unblock it. 0 = effectively no delay, it's available again right away.
E.g. 1,2 = both players get challenges. 2 = only Player 2 is gated (Player 1 plays completely normally, no challenges, no freezes). 1 = only Player 1.
Percent of the 81 sub-cell slots in every hypercube near a castle that get filled with resource pickups/artifacts (resource bases are placed separately, one per resource color). One item per slot — never two things in the same spot.
How many corridor hops out from each castle counts as "near" for the item-fill % above. Measured by actual maze-path distance, not straight-line.
4 comma-separated numbers — size of the Combat Cube battlefield along each dimension. Default 3,3,3,3 is a 3x3x3x3 hypercube (81 cells). E.g. 2,3,4,5 makes it a 2x3x4x5 parallelepiped (120 cells) instead. Each number is clamped to at least 2.
When on, an in-game window opens (like the other game panels — no popup) for the challenge. Certain events pause the WHOLE game — nothing simulates, no moments pass — until you clear one correct word (New/Old/dictionary match) in that window: starting to harvest a mineral field (and then periodically while continuing to harvest it), starting a new structure, a base's first completed unit, and starting an upgrade. There is no time limit — the game stays frozen for as long as it takes to answer correctly.
Format: key €€ value €£¥ key €€ value €£¥ ... — same as the standalone Dictionary Set game's word list (e.g. cat €€ dog €£¥ eagle €€ fly). Each item can optionally include a 3rd part after a ££ separator (e.g. Airport €€ (havai adda) ££ (havai adda) €£¥) — it's ignored, and any (/) are stripped, so that example is treated as Airport €€ havai adda.
Each on-screen word is rendered one character at a time as an image named <prefix>_<char>.jpg, cycling through this list of prefixes per character (falls back to plain text if an image is missing).
Only these characters get rendered as images; anything else (spaces, punctuation, characters outside this set) is shown as plain text instead.
Every hypercube gets a distance X = min steps to reach ANY castle; M = the largest X on the map. Each number here is a percentage of M where space "switches" between normal and Super Space (alternating, starting normal nearest the castles). E.g. 25,50,75 with M=16 gives cutoffs 4,8,12 — normal for X 1-4, Super for X 5-8, normal for X 9-12, Super for X 13-16. Super Space hypercubes render in a distinct color and require a spaceship to enter (see Hero panel).
Drag = box-select · Click = select · Middle-drag = orbit camera · Right-click = move/attack/harvest · 1-6 keys = rotate the 4th dimension into view
P1 🔺150/0/0/0
P1 Kinds:0/6 Upg:0/8
▶ Player 1
P2 🔺150/0/0/0
P2 Kinds:0/6 Upg:0/8
P1 Units ⚔0/4000 · Bases ⚔0
P2 Units ⚔0/4000 · Bases ⚔0
⏱ 0:00 | 0.0 moments
Drag = box-select (toggle to Rotate via the Left-drag buttons)  |  In Attack mode, drag = box-target enemies/barriers (auto-attacks if 1, else pick from a list)  |  Click = select  |  Shift+drag = add to selection  |  Middle-drag = orbit camera  |  Right-click = move/attack/harvest  |  WASD/Arrows = pan  |  Q/E = up/down  |  Scroll = zoom  |  1-6 = rotate 4th dimension
Left-drag:
Groups:
4D ROTATE (hyperplanes)
✡ HEXA divide / autoscan
■ SQUARER divide / autoscan

INFO

Click unit or base to inspect.