todo - zwaper/terminal-clicker GitHub Wiki
Last Updated: 2025-05-03
This roadmap outlines the development process for Terminal Tycoon in Godot 4, breaking the project into distinct phases with clear milestones, tasks, and deliverables.
Goal: Create the core terminal UI and basic resource mechanics
- 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
- 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
- Create upgrade system for resource generators
- Implement automation mechanics
- Add basic idle progression
- Create resource cost scaling formulas
- Implement progress bars for ongoing processes
- 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
Goal: Add progression systems and basic gameplay loop
- Implement research points system
- Create basic technology tree structure
- Add research commands and interface
- Implement technology unlocking mechanics
- Create tech tree visualization command
- 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
- Create network node system
- Implement basic network visualization
- Add network expansion mechanics
- Create network efficiency calculations
- Add network-related commands
- 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
Goal: Implement core gameplay systems and start creating content
- 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
- Create card data structure
- Implement card collection system
- Add card drop mechanics
- Create card management interface
- Implement basic card effects
- Add card slot system
- Create event triggering system
- Implement basic security events
- Add opportunity events
- Create challenge system
- Implement daily/weekly challenges
- Add reward distribution system
- 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
Goal: Add depth through migration systems and advanced gameplay
- Implement Cloud Migration (first prestige)
- Create migration rewards system
- Add permanent bonuses
- Implement reset mechanics
- Create migration preparation phase
- Add post-migration bonuses
- Add card rarity system
- Implement card fusion mechanics
- Create card synergies
- Add terminal-specific cards
- Implement card events
- Add special effect cards
- Implement DataLab terminal
- Add NetForge terminal
- Create terminal upgrade paths
- Implement terminal customization
- Add terminal synergies
- Create terminal-specific achievements
- Design migration data persistence system
- Create card effect combination processor
- Implement advanced terminal rendering
- Optimize performance for late-game
- Add analytics for balancing
Goal: Balance, polish, and prepare for release
- Complete all planned terminal types
- Finish card collection
- Complete all migration paths
- Finalize skill tree
- Complete achievement system
- Add endgame content
- Balance resource generation rates
- Adjust upgrade costs
- Test progression pacing
- Balance card effects
- Test migration rewards
- Verify idle progression
- Add polished ASCII art
- Implement sound effects
- Optimize performance
- Add quality-of-life features
- Create help documentation
- Fix bugs and edge cases
- Perform optimization pass
- Clean up code and add comments
- Create export configurations
- Set up error logging
- Create user documentation
- Test across platforms
-
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
-
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/
-
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
-
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
- Set up project structure
- Design terminal UI layout
- Research terminal fonts
- Create ASCII art style guide
- Design resource scaling formulas
- Create basic terminal UI
- Implement command parser
- Set up resource system
- Create saving/loading mechanism
- Project setup in Godot 4
- Terminal UI design mockups
(Empty at start)
(Empty at start)