Iron Vault

April 17, 2026 · View on GitHub

icon

Iron Vault

Play Online Built with Claude AI Powered by Pipboy.Avalonia .NET 10 License: MIT

A retro armoured-combat game built with Avalonia UI v12 and styled with the Pipboy.Avalonia CRT theme library. Every tank, bullet, and explosion is drawn from pure vector geometry — no sprites, no bitmaps. Play it directly in your browser via WebAssembly, or run it natively on the desktop.

ðŸŽŪ Play now in your browser(Github Pages) →

ðŸŽŪ Play now in your browser(CloudFlare publish AOT) →


Gameplay

You command a single tank on a tile-based battlefield. Choose from 100 hand-crafted stages, each with a unique map layout. Destroy all enemy tanks to advance through waves. Enemy tanks come in four tiers — each with a distinct silhouette and color scheme — and grow progressively more dangerous as waves escalate.

Game Modes

ModeDescription
ClassicSurvive infinite waves across your chosen stage. No victory — only glory.
DefenseA scripted 10-wave campaign. Clear a wave to pick a Field Upgrade for your tank.

Stages & Level Select

100 preset stages are available from a dedicated Stage Select screen (accessible before each deployment). Each stage features an intentionally designed Battle City-style map — symmetric corridors, strategic water channels, forest ambush pockets, steel fortifications, and ice fields. A bilingual stage announcement ("STAGE 1 / įŽŽäļ€å…ģ") is displayed at the start of each new game.

Difficulty

RatingEnemy Bullet SpeedFire Rate
Rookie (新å…ĩ)~160 px/s — very easy to dodgeHalf of base
Veteran (老å…ĩ)~200 px/s — manageable30 % slower than base
Elite (įēū英)288–352 px/s — close to player speed15 % faster than base

Player bullet speed is always 288 px/s regardless of difficulty.

Power-ups

Destroyed enemies randomly drop one of seven power-ups:

IconNameEffect
★ShieldYour tank becomes invulnerable temporarily
âļFreezeAll enemies stop moving and firing
⮛FortressReinforces your base walls with steel
â–ēOverloadIncreases bullet speed for a limited time
âĪLifeGrants an extra life (max 5)
◎RepairFully restores your hull integrity
⚡Extra ShellPermanently adds one simultaneous bullet

Field Upgrades (Defense mode)

After each wave, choose one of three random upgrades:

Armor Plating · Nitro Boosters · Rapid Fire · Dual Cannon · Armour Piercing · Repair Kit

Ally Tanks

In Defense mode certain waves grant you an allied tank. Allies navigate the map autonomously using A* pathfinding and engage enemies without any input required.


Controls

KeyAction
W A S D / Arrow keysMove / navigate menus
SpaceFire
EnterConfirm / Start
PPause / Resume
EscExit overlay / return
LToggle English / äļ­æ–‡

UI Theme — Pipboy.Avalonia

The entire UI is themed with Pipboy.Avalonia — a custom Avalonia theme library that delivers a retro amber CRT terminal aesthetic.

ComponentRole in Iron Vault
PipboyThemeGlobal amber colour palette, button styles, panel borders
PipboyWindowChrome-less title bar with Win11 snap support (desktop only)
CrtDisplayPost-processing layer over the game canvas: scanlines, scan beam, static noise, vignette
SegmentedBarDiscrete HP bar in the HUD

The primary accent colour is set to amber #FFA500 at startup via PipboyThemeManager.


Architecture

Iron Vault is split into four projects:

IronVault.Core        — pure C#, zero UI dependency (engine, ECS, maps, localisation)
IronVault.Renderer    — Avalonia DrawingContext rendering (tanks, tiles, bullets, FX)
IronVault.Desktop     — .NET 10 desktop host (Window, audio, DI container)
IronVault.Browser     — .NET 10 WebAssembly host (single-view, audio stub)

All graphics are drawn with Avalonia's DrawingContext API — no bitmaps, no hardware-specific code — making the renderer AOT- and WASM-safe. See docs/ARCHITECTURE.md for the full design breakdown.


Run Locally

git clone https://github.com/NeverMorewd/IronVault

cd IronVault

dotnet run --project src/IronVault.Desktop

WebAssembly (browser)

dotnet workload install wasm-tools
dotnet publish src/IronVault.Browser -c Release -o publish
# Serve publish/wwwroot/ with any static HTTP server

License

MIT