Skip to content

diagonalciso/RackSim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RackSim

A datacenter tycoon and security-defense game for tablets. Build racks, power, and cooling; sign paying customers who run insecure services; defend against criminals (DDoS, ransomware, intrusion, credential theft). Breaches cost cash and reputation.

Think SimCity for a server hall — but every "dumb" tenant you sign is also attack surface.

Status: Roadmap P0–P6 complete. Emulator-verified, untested on real hardware. Built with Godot 4.7, GDScript, 2D. Offline, touch-first.

RackSim gameplay — racks on the floor, tenant and defense panels, live HUD

Floor with placed racks, the Tenants/Defenses panels, and the live economy + security HUD.

RackSim main menu and scenario picker

Main menu with the four scenario presets.


Gameplay loops

Economy — Place racks ($5k), fill with servers (8U/rack), pay for grid power and CRAC cooling. Sign customer leads (revenue scales with reputation). Overheat or brown-out → SLA breach → penalties, reputation loss, churn. Go bankrupt below the floor → game over.

Security — Each tenant runs a service (web/db/mail/dns/storage/game/pci/crypto) with a misconfiguration level. Exposure = fame + misconfig + tenant count drives a daily ThreatDirector roll that targets your softest high-value tenant. Buy defenses (firewall, WAF, DDoS scrubbing, IDS, backups, segmentation). IDS turns silent breaches into detected ones. Harden cuts misconfig; posture = 100 − avg misconfig.

EventsEventDirector fires random events (hardware failure, heatwave, power spike, grid fault, investor grant, audit, archetype-driven viral spike / crypto crash) applying temporary modifiers to cooling, grid, and power cost. Attack chance ramps with game day.

Meta — 10 achievements (persist across runs), first-run tutorial, settings (mute), 4 scenario presets (Startup / Hardened / Under Siege / Bootstrap), JSON save + autosave.


Tech

  • Engine: Godot 4.7-stable (GDScript, 2D Node2D _draw + CanvasLayer HUD)
  • Target: Android APK (arm64-v8a + x86_64) + Windows Desktop (x86_64 single-file .exe), offline, portrait/landscape touch
  • Autoloads: GameState (sim core), SimClock (tick/pause/speed), AudioManager (procedural UI tones built as AudioStreamWAV at runtime — zero audio assets)
  • Save: JSON in user:// (format v3), ConfigFile for settings/achievements
  • Assets: code-drawn graphics + generated audio. CC0/OSS policy in ASSETS.md.
autoload/   game_state.gd  sim_clock.gd  audio_manager.gd
world/      main.gd  main.tscn        # grid floor, tap-place, pan/zoom
ui/         hud.gd                    # all UI built in code
tests/      sec_test  event_test  ach_test  scenario_test   # headless

Build & run

Requires Godot 4.7 + Android export templates, Android SDK (build-tools 34), JDK 17.

# import + export signed debug APK
godot --headless --import
godot --headless --export-debug "Android" build/racksim.apk

# export single-file Windows .exe
godot --headless --export-release "Windows Desktop" build/RackSim.exe

# headless tests (all PASS)
godot --headless -s res://tests/sec_test.gd
godot --headless -s res://tests/event_test.gd
godot --headless -s res://tests/ach_test.gd
godot --headless -s res://tests/scenario_test.gd

Emulator note: must use ANGLE (emulator @<avd> -gpu swangle_indirect). SwiftShader caps GL_MAX_FRAGMENT_UNIFORM_VECTORS too low and Godot's canvas shader fails → blank screen.

Prebuilt Windows .exe and Android APK: see Releases. On Windows, download RackSim-*-windows-x86_64.exe and run it directly — no install.

Full player's guide: MANUAL.md — every screen, control, number, and system, plus a strategy guide and numbers cheat-sheet.


Roadmap

Phase Built
P0 Skeleton — grid, tap-place racks, clock, economy
P1 Servers, power, cooling, customers, save/load, bankruptcy
P2 Services, misconfig, support tickets, harden, posture
P3 ThreatDirector, 4 attack types, 6 defenses, IDS, incidents
P4 EventDirector — random events, temporary modifiers, difficulty ramp
P5 Achievements, tutorial, settings, procedural audio
P6 Main menu, 4 scenario presets

Backlog: balancing pass · modding refactor (const → JSON) · prestige/campaign · real CC0 art/audio · on-device testing.


Built by CisoDiagonal. Security loop draws on real SOC / honeypot work.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors