0.6.0
Save / Load system, narrative polish, gameplay polish
Save / Load system:
Define Data Structures:
Game State:
Create a serializable class to store player progress, level, experience, health, inventory, current position, and so on.
Feature Flags: Flags indicating which game features have been unlocked or activated.
- **Settings**:
- Player preferences, such as sound volume, graphics settings, etc.
- **Serialization:**
- Use Unity's built-in **`JsonUtility`** or the popular **`Newtonsoft.JSON`** library to serialize and deserialize your data structures. Serialized data can be stored as a string, making it easy to save and load.
- **File Management:**
- **Choosing a Save Location**: Use **`Application.persistentDataPath`** to determine a safe location where you can write files.
- **Saving Data:**
- When the player decides to save or at specific checkpoints, gather all the relevant data, serialize it, and then write to a file.
- **Loading Data:**
- When the player starts the game or chooses to load a previous save, read the file, deserialize the data, and use it to set the game's state.
- **Implementing Feature Flags:**
- When loading the game, check for certain feature flags and load/unlock features as necessary.
Thoroughly test the save/load system:
Test on different devices and platforms.
Simulate crashes to ensure data integrity.
Test edge cases, like what happens if a save file is missing.
UI/UX
Add scaling sliders for
Enemy Damage
Player Speed
Refactor cleanup methods:
Restart
Endgame
StarGame
Content outline:
Demo Content
6 weapons
3 enemies
2 upgrades
First mini boss
First area of radiant forest
2 Locations to explore
Waves 0-500:
Design the wave composition (types and number of enemies).
Implement wave logic into the existing game loop.
Add hooks for future features like wave modifiers or "rest stops" for the player.
First Boss Fight:
Design boss mechanics and visual concept.
Implement AI logic and special attacks for the boss.
Create transition sequences to and from the boss fight.
Quality Assurance & Testing
Each level has 10 weapons. 3 or 4 hidden per area.
Total for 5 levels = ~50
Weapons have ~5 upgrades each. One per level, hidden around various area.
Total for five levels = 50 * 5 = 250 upgrades
Each level has ~ 10 enemies. 2-4 per area
Each area has difficulty sliders and remix modes where waves are mixed and changed
New Game has extreme remix where we randomize all weapon upgrades, enemy waves and enemies in every area (like Dark souls mod)
All content is extended through story
Engine Improvements:
Code Audit:
- Quickly review existing systems to identify any that may interfere with the new features and require refactoring.
Performance Baseline:
Run diagnostics to gauge the current game performance (FPS, memory, CPU usage) as a baseline for optimization.
Audio Improvements
SFX for Enemies
Define all the types of sounds needed per enemy type.
Record or source the audio files.
Integrate them into the existing enemy AI system.
Weapon SFX
- Same as above, but specific to each weapon type.
Radiant Forest Music
Select or create a track that matches the vibe of Radiant Forest.
Implement dynamic music transitions based on player actions or locations.
Radiant Forest Ambience (SFX-mid)
Source or record ambient forest sounds.
Create a sound mixing strategy to combine these with music and other SFX.
2D Location Exploration and Interaction:
Design the UI/UX for 2D exploration.
Implement features like clicking to move, object interactions, etc.
Simple Map Creation (500 units circular)
Sketch out the map layout and design.
Populate the map with assets and enemies.
Implement the backend logic for map boundaries and traversing.
Release Preparations
Usability Testing: Conduct a small beta test to gather feedback on usability and fun factor.
Documentation & Backup
Code Documentation: Comment and document newly added systems.
Backup: Keep regular backups of important milestones.
Version Control: Update all version numbers and documentation.
Release Notes: Draft comprehensive release notes for version 0.6.0.
Deployment: Prepare the game for release on the intended platforms, starting with internal testing distributions.
Post-release
Community Feedback: Monitor social channels for immediate feedback and bugs.
Hotfixes: Prepare to deploy any required hotfixes.