todo - zwaper/terminal-clicker GitHub Wiki
TERMINAL TYCOON
Development Roadmap for Godot 4 Implementation
Last Updated: 2025-05-03
OVERVIEW
This roadmap outlines the development process for Terminal Tycoon in Godot 4, breaking the project into distinct phases with clear milestones, tasks, and deliverables.
PHASE 1: FOUNDATION (2-3 weeks)
Goal: Create the core terminal UI and basic resource mechanics
Milestone 1: Terminal Interface Prototype
- Set up Godot 4 project with appropriate structure
- Create a basic terminal UI using RichTextLabel and LineEdit
- Implement command parsing system
- Create command history navigation (up/down arrows)
- Implement basic terminal styling (colors, font)
- Create text animation for terminal-like output
Milestone 2: Core Resource System
- Implement basic resource types (cycles, bandwidth, storage)
- Create resource generation logic
- Implement resource display in terminal header
- Add basic manual resource generation commands
- Create saving/loading system using JSON
- Implement offline progression calculation
Milestone 3: Basic Automation
- Create upgrade system for resource generators
- Implement automation mechanics
- Add basic idle progression
- Create resource cost scaling formulas
- Implement progress bars for ongoing processes
Technical Tasks
- Create custom terminal text renderer in Godot
- Set up signal system for command processing
- Create resource manager singleton
- Set up configuration system
- Implement autosave functionality
PHASE 2: EXPANSION (3-4 weeks)
Goal: Add progression systems and basic gameplay loop
Milestone 1: Research & Technology Tree
- Implement research points system
- Create basic technology tree structure
- Add research commands and interface
- Implement technology unlocking mechanics
- Create tech tree visualization command
Milestone 2: Basic Skill Tree
- Design initial skill tree structure
- Implement skill point acquisition
- Create skill node system with prerequisites
- Add skill tree visualization command
- Implement effects of basic skills
Milestone 3: Network Infrastructure
- Create network node system
- Implement basic network visualization
- Add network expansion mechanics
- Create network efficiency calculations
- Add network-related commands
Technical Tasks
- Design data structure for tech tree
- Create skill tree data model
- Set up network graph visualization system
- Optimize resource calculations for idle time
- Implement notification system for completed research/upgrades
PHASE 3: SYSTEMS INTEGRATION (4-5 weeks)
Goal: Implement core gameplay systems and start creating content
Milestone 1: Terminal Varieties
- Implement terminal switching mechanism
- Create basic terminal (
term-0
) - Add CryptoCore terminal (
crypt-0
) - Develop NetSec terminal (
sec-0
) - Implement terminal-specific commands
- Add terminal-specific UI elements
Milestone 2: Card System Basics
- Create card data structure
- Implement card collection system
- Add card drop mechanics
- Create card management interface
- Implement basic card effects
- Add card slot system
Milestone 3: Events & Challenges
- Create event triggering system
- Implement basic security events
- Add opportunity events
- Create challenge system
- Implement daily/weekly challenges
- Add reward distribution system
Technical Tasks
- Design modular terminal UI framework
- Create card effect processor
- Set up event queue and manager
- Implement timed events system
- Add notification system for events
- Create challenge tracking system
PHASE 4: PROGRESSION DEPTH (4-5 weeks)
Goal: Add depth through migration systems and advanced gameplay
Milestone 1: Migration System
- Implement Cloud Migration (first prestige)
- Create migration rewards system
- Add permanent bonuses
- Implement reset mechanics
- Create migration preparation phase
- Add post-migration bonuses
Milestone 2: Advanced Card System
- Add card rarity system
- Implement card fusion mechanics
- Create card synergies
- Add terminal-specific cards
- Implement card events
- Add special effect cards
Milestone 3: Advanced Terminal Features
- Implement DataLab terminal
- Add NetForge terminal
- Create terminal upgrade paths
- Implement terminal customization
- Add terminal synergies
- Create terminal-specific achievements
Technical Tasks
- Design migration data persistence system
- Create card effect combination processor
- Implement advanced terminal rendering
- Optimize performance for late-game
- Add analytics for balancing
PHASE 5: POLISH & COMPLETION (3-4 weeks)
Goal: Balance, polish, and prepare for release
Milestone 1: Content Completion
- Complete all planned terminal types
- Finish card collection
- Complete all migration paths
- Finalize skill tree
- Complete achievement system
- Add endgame content
Milestone 2: Balancing & Testing
- Balance resource generation rates
- Adjust upgrade costs
- Test progression pacing
- Balance card effects
- Test migration rewards
- Verify idle progression
Milestone 3: Polish & Optimization
- Add polished ASCII art
- Implement sound effects
- Optimize performance
- Add quality-of-life features
- Create help documentation
- Fix bugs and edge cases
Technical Tasks
- Perform optimization pass
- Clean up code and add comments
- Create export configurations
- Set up error logging
- Create user documentation
- Test across platforms
APPENDIX: GODOT 4 IMPLEMENTATION SPECIFICS
Terminal UI in Godot
-
Core Implementation:
- Use Control nodes as the base for the terminal UI
- RichTextLabel for terminal output (supports BBCode for formatting)
- LineEdit for command input
- Create a custom resource for terminal themes
-
Text Rendering:
- Consider a custom shader for terminal text effects
- Use a monospace font like "Cascadia Code" or "JetBrains Mono"
- Implement cursor blinking with a Timer node
-
Command System:
- Create a CommandParser singleton
- Use signal system for command execution
- Implement command registry for modular commands
Resource System
-
Data Management:
- Use Resources for data definitions
- Create custom Resource types for upgrades, tech, cards
- Implement a ResourceManager singleton
-
Saving/Loading:
- Use Godot's File class for save data
- Implement JSON serialization
- Store save data in user://saves/
Performance Optimization
-
Idle Processing:
- Use delta time to calculate resource generation
- Implement time jump calculations for offline progress
- Consider using background threads for heavy calculations
-
Memory Management:
- Pool commonly used objects
- Use object instances sparingly
- Unload unused textures/resources
UI/UX Considerations
-
Terminal Animations:
- Implement typing effect
- Create fade in/out for new lines
- Add visual feedback for commands
-
Audio Integration:
- Use positional audio for terminal feedback
- Implement simple keyboard click sounds
- Add ambient background effects
TODO LIST (Kanban Format)
Backlog
- Set up project structure
- Design terminal UI layout
- Research terminal fonts
- Create ASCII art style guide
- Design resource scaling formulas
To Do (Next Sprint)
- Create basic terminal UI
- Implement command parser
- Set up resource system
- Create saving/loading mechanism
In Progress
- Project setup in Godot 4
- Terminal UI design mockups
Testing
(Empty at start)
Completed
(Empty at start)