NOTE: THIS IS OUTDATED - WAS JUST TO GET STARTED
- Manual planting and harvesting using clicks
- Each plot has a growth timer based on potato type and upgrades
- Harvesting yields potatoes and Martian Spuds (MS) currency
- Upgrades:
- Hand Trowel: Reduces planting time
- Automated Planter: Plants multiple plots at once
- Harvester: Automatically harvests mature potatoes
- Drone Harvester: Harvests remote plots
- Self-Propelled Harvester: Harvests entire regions on a set schedule
- Water, nutrients, and oxygen are required for potato growth
- Each resource has a storage capacity and depletion rate based on farm size
- Upgrades:
- Water: Ice Melter > Solar Still > Atmospheric Condenser
- Nutrients: Martian Dust > Composting > Nutrient Synthesizer
- Oxygen: Photosynthesis > Algae Bioreactor > Oxygen Generator
- Potato-based technologies are unlocked through the research tree
- Each tier requires a certain amount of MS and potatoes to unlock
- Technologies:
- Potato Chips: Increases MS value of potatoes
- Potato Battery: Powers machines and increases efficiency
- Potato Computer: Unlocks automation and advanced research
- Use MS to send rovers to explore new regions of Mars
- Discovered areas can be claimed for additional farming space
- Regions have different soil qualities, affecting growth and yield
- Artifacts found during exploration provide bonus MS or unique upgrades
- Colonists arrive seeking sustenance as the farm grows
- Each colonist requires a certain amount of potatoes per day
- Colonists provide labor, increasing farm efficiency and unlocking new upgrades
- Balancing potato production and colonist needs is a key challenge
- Martian Spuds (MS) are earned by selling potatoes and discovering artifacts
- MS is used to purchase upgrades, technologies, and exploration missions
- Prices and rewards are balanced to create meaningful choices and progression
- Martian landscapes and soil conditions are procedurally generated
- Exploration events and artifacts are randomly generated to encourage exploration
- Each playthrough offers a unique experience and new challenges
- Plant potatoes, manage resources, harvest, earn MS, spend MS, expand, and repeat
- Complexity and difficulty increase as the farm and colony grow
- Prestige system allows players to reset with bonuses for added replayability
- Mini-games and puzzles for resource management and exploration
- Provides variety and additional challenges to keep gameplay engaging
- Robust save and load system to allow players to continue their progress
- Serialization is used to store game state, including farm layout, resources, and upgrades
- Cloud saving options for cross-device play and backup
-
Set up the project structure:
- Create a new directory for the project
- Initialize a new Git repository
- Create subdirectories for js, css, and assets
- Create the main index.html file
-
Implement the basic game loop:
- Create a game.js file in the js directory
- Implement the plantPotato() function to handle potato planting
- Implement the updateDisplay() function to update the game stats
- Set up event listeners for the "Plant Potato" button
-
Implement resource management:
- Add variables for water, soilNutrients, and oxygen
- Modify the plantPotato() function to consume resources
- Update the updateDisplay() function to show resource levels
-
Create the game UI:
- Design the layout in index.html with placeholders for game elements
- Create a style.css file in the css directory
- Style the game elements, buttons, and resource displays
-
Implement the research system:
- Create a research() function in game.js
- Add research buttons for water, soil, and oxygen
- Implement the logic to improve resource efficiency upon research
- Update the updateDisplay() function to show research progress
-
Implement the upgrade system:
- Create an upgrades.js file in the js directory
- Define the upgrade tree structure
- Implement the buyUpgrade() function to handle upgrades
- Create a displayUpgrades() function to render upgrade buttons
- Update the game UI to include an upgrades section
-
Implement the exploration system:
- Create an exploration.js file in the js directory
- Implement the exploreMarsSurface() function to handle exploration
- Create a discoverRandomEvent() function to generate random events
- Implement the handleSpecialEvent() function to process event outcomes
- Update the game UI to include an exploration button and display
-
Implement the potato processing system:
- Add variables for potatoChips, potatoBattery, and potatoComputer
- Create functions to process potatoes into various products
- Update the game UI to include potato processing options
-
Implement the colony management system:
- Add variables for colonists and potatoConsumption
- Create functions to manage colonists and their potato needs
- Update the game UI to display colony information
-
Implement special events and challenges:
- Create a specialEvents.js file in the js directory
- Implement functions to trigger and handle special events
- Update the game loop to periodically check for special events
-
Polish the game:
- Playtest and balance the game mechanics
- Add sound effects and music
- Create game art and animations
- Optimize the code for performance
-
Prepare for deployment:
- Minify JavaScript and CSS files
- Optimize assets for faster loading
- Set up a build process (e.g., using Webpack or Parcel)
-
Deploy the game:
- Choose a hosting platform (e.g., GitHub Pages, Netlify, or Heroku)
- Deploy the game to the selected platform
- Ensure the game is accessible and works as expected