RogueFall
A browser-based first-person roguelike inspired by Daggerfall with procedural dungeons, ECS architecture, and companion orb systems for light, utility, and combat.
•Game•COMPLETED
JavaScriptThree.jsRapierWebGLECSProcedural GenerationRoguelikeGame DevelopmentPhysics

RogueFall
Project summary
RogueFall is a browser-based first‑person roguelike inspired by Daggerfall. It renders 3D dungeons with Three.js, uses an ECS architecture for gameplay, Rapier for physics, and features companion “orb” systems for light, utility, and combat.
Technologies
- Three.js: rendering, cameras, lights, fog (
js/Core/SceneManager.js
) - Rapier (wasm/compat): character controller, raycasts, collisions (
lib/rapier.mjs
,js/Core/PhysicsManager.js
) - Recast (custom): navmesh + pathfinding with a fallback node graph (
lib/recast-custom.js
,js/ECS/Systems/NavMeshPlanner.js
) - ECS: entities/components/systems for movement, rendering, melee, weapons, FPS arms (
js/ECS/**
) - Procedural generation: room/corridor dungeons with doors/torches (
js/World/DungeonGenerator.js
) - Web platform: pointer lock, import maps, touch joysticks via
nipplejs
(index.html
,lib/nipplejs.min.js
) - Note:
three
andGLTFLoader
are loaded via importmap from unpkg; Rapier/Recast/Nipple are local.
Gameplay and systems
- Procedural dungeons: varied room sizes, smart corridor linking, decor like doors and torches.
- ECS-driven gameplay: modular systems for movement, rendering, weapons, melee, FPS arms.
- Physics: kinematic character controller, multi-ray wall checks, sliding logic, ground/ceiling checks.
- Companion Orbs: light, utility, and attack orbs; activation/recall, temporary casts, event hooks, visuals.
- Navmesh & pathfinding: builds from dungeon data; A* with a robust fallback when Recast isn’t present.
- Lighting & atmosphere: dynamic torch lights, fog, temporary multi-light “spell” glows, billboarded sprites.
- UI/Controls: HUD, crosshair, menu, pointer lock mouse look, WASD, running/crouch, mobile virtual sticks.
- Performance: object pooling for meshes, shadow light budgeting, billboard caching, performance HUD.
Why it’s cool
- Orbs as companions and spells: a distinctive system where orbs follow, fight, heal, gather, or light the world, including physics‑lobbed light orbs that bloom the scene with temporary multi‑lights.
- Fully in the browser: instant play—open
index.html
—with import maps, WebGL, and no native install. - Hackable ECS: clean separation of components/systems makes extending weapons, AI, or visuals straightforward.
- Atmospheric feel: torches, fog, glows, and GLTF FPS arms create a moody dungeon vibe.
- Mobile-friendly: touch joystick zones and unified look/move inputs.