Skip to main content

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.