Skip to content

Project Roadmap

Adam Martin edited this page Oct 19, 2025 · 2 revisions

TowerForge Project Roadmap

Last Updated: October 17, 2025
Version: 0.1.0
Status: Early Development (Phase 1: Foundation)


📋 Table of Contents

  1. Project Overview
  2. Current Release Status
  3. Completed Features
  4. Active Development
  5. Planned Features
  6. Design Philosophy
  7. Development Roadmap
  8. Contributing

🎮 Project Overview

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.


📊 Current Release Status

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.


✅ Completed Features

Core Engine & Architecture

  • 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

Single-Tower Mechanics

  • 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

NPCs & Simulation

  • 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

UI & UX

  • 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)

Progression & Content

  • 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

Modding & Extensibility

  • 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

Developer Experience

  • 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

🔄 Active Development

In Progress / WIP

  • 🔄 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

Recently Completed

  • 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

📅 Planned Features

Phase 1: Complete! ✅ (Foundation & Polish)

Status: All Phase 1 features merged and integrated

  • Last update: October 19, 2025
  • PRs merged: 46 total
  • Current version: v0.2.0 (Phase 1 Complete)

What Was Completed

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

Phase 2: City-Level Simulation (Next)

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

Phase 3: Living Simulation & World Expansion (Long-term)

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

Phase 4: World Expansion & Community Features (Long-term)

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

🎨 Design Philosophy

Cozy Game Principles

TowerForge adheres to cozy game principles emphasizing:

  1. Safety & Comfort - No failure states, player-controlled pacing
  2. Abundance - Generous resources, no artificial scarcity
  3. Softness - Warm aesthetics, gentle pacing, soothing audio
  4. Agency - Player choices shape gameplay without external pressure
  5. Connection - NPCs and multiplayer foster belonging, not competition
  6. Emotional Resonance - Serious themes handled with empathy

What We Embrace

✅ Cooperation over competition
✅ Creative expression over skill-based challenges
✅ Abundance-based economy
✅ Asynchronous, optional multiplayer
✅ Diverse playstyles and pacing
✅ Accessibility and inclusion

What We Avoid

❌ 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)


🗓️ Development Roadmap

Estimated Timeline

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.

👥 Contributing

How to Contribute

  1. Report Issues - Found a bug? Suggest a feature? Open an issue
  2. Review PRs - Check out open PRs and provide feedback
  3. Code Contributions - Submit PRs for planned features or bug fixes
  4. Documentation - Improve wiki, docs, comments, or guides
  5. Modding - Create custom facilities, scenarios, or mods

Development Guidelines

Build & Test

# 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

📞 Support & Communication


📄 Additional Resources


Next Review: November 2025
Roadmap Maintainer: @adam4813
Questions or Suggestions? Open an issue or start a discussion!