-
Notifications
You must be signed in to change notification settings - Fork 0
Project Roadmap
Last Updated: October 17, 2025
Version: 0.1.0
Status: Early Development (Phase 1: Foundation)
- Project Overview
- Current Release Status
- Completed Features
- Active Development
- Planned Features
- Design Philosophy
- Development Roadmap
- Contributing
TowerForge is a modern, open-source SimTower-inspired skyscraper simulation game with a cozy game philosophy. The game focuses on building, nurturing, and growing beautiful towers in a thriving, interconnected world.
Tech Stack:
- Language: C++20
- Architecture: ECS (Entity Component System) via flecs
- Rendering: Raylib
- Build System: CMake 3.20+
- Modding: Lua scripting support
- Platform: Windows, Linux (macOS temporarily disabled)
Design Philosophy: See Design Philosophy: Cozy Games for comprehensive design principles.
| Metric | Value |
|---|---|
| Version | 0.1.0 |
| Phase | Phase 1: Foundation |
| Issues Closed | ~30 |
| PRs Merged | ~28 |
| Last Update | October 17, 2025 |
| Build Status | ✅ Passing (Windows, Linux) |
Current Build Availability:
- ✅ Windows (MSVC)
- ✅ Linux (GCC)
- ⏸️ macOS (temporarily disabled for faster CI)
Pre-built binaries available from GitHub Actions.
- ✅ ECS World System - Flecs-based entity management
- ✅ Rendering System - Raylib integration with Renderer class
- ✅ Game State Management - Refactored game loop with state machine
- ✅ Save/Load System - Full JSON serialization of game state
- ✅ Audio System - Music, SFX, ambience with audio manager
- ✅ Camera Controls - Pan, zoom, viewport management
- ✅ Tower Grid System - Configurable floors and columns
- ✅ Dynamic Floor Management - Add/remove floors during gameplay
- ✅ Basic Facility Types - Offices, restaurants, shops, etc.
- ✅ Advanced Facility Types - Medical, education, entertainment with staffing
- ✅ Interactive Placement System - Click-to-place facilities with validation
- ✅ Economy System - Income generation, facility revenue tracking
- ✅ Visitor System - Dynamic spawning, visiting facilities
- ✅ Employee System - Job assignment, staff needs
- ✅ Person Entity - Basic movement, state machine (visiting, working, moving)
- ✅ Elevator System - Realistic elevator shafts and cars with queue management
- ✅ Daily Schedules - NPCs follow time-based routines
- ✅ Title Screen - Professional main menu with animations
- ✅ Main Menu - New Game, Tutorial, Load Game, Achievements, Settings, Quit
- ✅ HUD - Real-time stats (funds, income, population, time, speed)
- ✅ Build Menu - Facility selection with pricing
- ✅ Pause Menu - ESC toggle, save/load/quit options
- ✅ Settings Menus - General and audio settings with persistence
- ✅ Info Panels - Clickable entity information display
- ✅ Contextual Tooltips - Dynamic help text for interactive elements
- ✅ Speed Controls - Pause, 1x, 2x, 4x simulation speed
- ✅ Notification System - Event notifications (Info, Success, Warning, Error)
- ✅ Tutorial Mode - Interactive onboarding with main menu integration
- ✅ Research Tree - Technology and building unlocks via Tower Points
- ✅ Tower Rating System - Star-based tower progression (1-5 stars)
- ✅ Achievements - Milestone tracking with persistent storage
- ✅ Tower Management Facilities - Office types that generate Tower Points
- ✅ Lua Scripting - Custom facility and visitor type creation
- ✅ Modding System - Directory-based mod loading and management
- ✅ Facility Modding API - Custom facility properties and behavior
- ✅ Visitor Type Modding API - Custom visitor needs and preferences
- ✅ UI Improvements - Window manager for multiple UI windows
- ✅ Code Quality - Modern C++ best practices documentation
- ✅ CI/CD Pipeline - GitHub Actions for Windows, Linux, macOS
- ✅ Automated Builds - Cross-platform compilation and artifact publishing
- ✅ Build Documentation - Clear setup and compilation instructions
- ✅ API Documentation - Comprehensive code comments and architectural docs
- 🔄 Unified UI Element System (PR #83)
- Status: Open, under review
- Goal: Parent/child UI element relationships for better layout management
- Impact: Enables more complex UI layouts and responsive design
-
✅ C++ Best Practices Guide (Issue #85, PR #86) - Merged 53 minutes ago
- Modern, declarative C++ coding standards for contributors
-
✅ Dynamic Floor/Column Management (Issue #78, PR #80) - Merged Oct 11
- Players can add/remove floors and columns during gameplay
-
✅ Contextual Tooltips (Issue #71, PR #79) - Merged Oct 13
- Helpful UI hints on hover for all interactive elements
-
✅ Research & Building Unlock System (Issue #59, PR #67) - Merged Oct 13
- Tower Points from management facilities unlock new buildings
- Last update: October 19, 2025
- PRs merged: 46 total
- Current version: v0.2.0 (Phase 1 Complete)
Core Systems (Foundation)
- ✅ ECS world & entity management
- ✅ Tower grid system with dynamic floors/columns
- ✅ Facility placement and management
- ✅ Audio system (music, SFX, ambience)
- ✅ Visitor spawning and movement (fixed Oct 18)
- ✅ NPC behavior, staff roles, visitor needs
- ✅ Save/load system with JSON serialization
- ✅ Achievements and star rating system
- ✅ Research tree and building unlocks
UI/UX Polish (Complete)
- ✅ Accessibility: keyboard navigation, high-contrast mode, font scaling
- ✅ User feedback: button animations, confirmation dialogs
- ✅ Notification center for events and alerts
- ✅ Undo/redo support with visual history
- ✅ Unified mouse interface for UI & game objects
- ✅ UI element refactoring (parent/child relationships)
- ✅ Contextual help system & quick reference
- ✅ Centralized UI theme with responsive layouts
- ✅ Data-rich analytics overlays
- ✅ UI preferences persistence
Gameplay Depth (Phase 2 Foundation)
- ✅ Facility maintenance & breakdown system
- ✅ Facility cleanliness system
- ✅ Visitor needs & satisfaction simulation
- ✅ Facility adjacency bonuses/penalties
- ✅ Tower staff management (janitors, maintenance, fire, police)
- ✅ Lua modding support for staff & facility customization
Priority: HIGH | Estimated: 4-6 weeks
Goal: Expand from single tower to connected city with inter-tower systems
Planned Features:
- Multiple towers on a shared map
- Inter-tower resource sharing and visitor flow
- Infrastructure systems (shared utilities)
- City-wide events
- Gentle cooperative mechanics
Priority: MEDIUM | Estimated: 12+ weeks
Goal: Deep NPC simulation and emergent storytelling
Planned Features:
- NPC personality traits and social networks
- Career progression and education systems
- Emergent resident stories
- Regional world simulation
- Seasonal cycles and cultural events
Priority: MEDIUM | Timeline: 16+ weeks
Planned Features:
- Regional world simulation and procedural generation
- Gentle seasonal cycles and weather
- Inter-tower trade and migration
- Community gallery for sharing towers and scenarios
- Deep modding support expansion
- Scenario editor integration
TowerForge adheres to cozy game principles emphasizing:
- Safety & Comfort - No failure states, player-controlled pacing
- Abundance - Generous resources, no artificial scarcity
- Softness - Warm aesthetics, gentle pacing, soothing audio
- Agency - Player choices shape gameplay without external pressure
- Connection - NPCs and multiplayer foster belonging, not competition
- Emotional Resonance - Serious themes handled with empathy
✅ Cooperation over competition
✅ Creative expression over skill-based challenges
✅ Abundance-based economy
✅ Asynchronous, optional multiplayer
✅ Diverse playstyles and pacing
✅ Accessibility and inclusion
❌ PvP competition and leaderboards (replace with community galleries)
❌ Punitive failure states or bankruptcy
❌ Real-time pressure or time limits
❌ Sabotage or griefing mechanics
❌ Artificial scarcity driving urgency
See: Design Philosophy: Cozy Games (full wiki article)
October 2025 │ Phase 1b: UI/UX Polish (Current)
│ - Accessibility features
│ - Notification center
│ - Scenario system
│ - Unified UI architecture
│
December 2025 │ Phase 2: City-Level Simulation
│ - Multiple towers
│ - Inter-tower systems
│ - Multiplayer foundation
│ - City events
│
March 2026 │ Phase 3: Living Simulation
│ - NPC personalities
│ - Career/education systems
│ - Emergent storytelling
│ - Deep social systems
│
June 2026+ │ Phase 4: World Expansion
│ - Regional simulation
│ - Community features
│ - Advanced modding
│ - Platform expansion
Notes:
- Timeline is estimated and subject to change
- Community contributions can accelerate development
- Feature priorities may shift based on feedback
- Regular releases planned for v0.2.0, v0.3.0, etc.
- Report Issues - Found a bug? Suggest a feature? Open an issue
- Review PRs - Check out open PRs and provide feedback
- Code Contributions - Submit PRs for planned features or bug fixes
- Documentation - Improve wiki, docs, comments, or guides
- Modding - Create custom facilities, scenarios, or mods
- Code Standards: See Modern C++ Best Practices Guide
- Design Principles: See Design Philosophy: Cozy Games
- Architecture: See Game Class Architecture
# Clone and build
git clone https://github.com/adam4813/towerforge.git
cd towerforge
mkdir build && cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build .
# Run
./bin/towerforge- Issues: GitHub Issues
- Discussions: GitHub Discussions (for feature ideas, brainstorming)
- Wiki: Project Wiki
- README: Getting Started
- Design Philosophy: Cozy Games Manifesto
- Architecture: Game Class Architecture
- Save/Load System: Save/Load Documentation
- Pause Menu: Pause Menu Implementation
Next Review: November 2025
Roadmap Maintainer: @adam4813
Questions or Suggestions? Open an issue or start a discussion!