Documentation & User Guide


How closely does the final game align with the original concept document?

I believe that the submitted game largely aligns with the Game Concept published in early September on my devlog. All of the main objectives outlined in the Game Treatment section of the devlog have been achieved. The secondary objectives in that section were more forward-looking, in the sense that if I was unable to complete them before the end of the unit, I would add them afterwards. These objectives include more advanced camera controls and dynamic lighting elements, which I still believe will further enhance the game by providing a more immersive representation of the dungeon environment.

The game concept art I submitted, which was AI-generated by DALL·E for the character selection buttons, has changed slightly. The change was made so that the characters would appear more suited to fighters, with a more aggressive stance, more suitable for this type of game and genre.

The Main Menu dungeon scene had not been drafted or decided upon at the time, so it has since been integrated into the final version of the game. There was an addition made to the main menu player selection that I had not considered and was made on the suggestion of my unit coordinator that there should be a player selection confirmation and cancel option.

A small window of time allowed for the addition of a second enemy, "Death." This enemy has a unique mechanic in that it can only be destroyed using potions and they do not have visible spawn points. Incorporating both enemies in the second level added another layer of difficulty, requiring more strategic use of potions, particularly the "Death Potion." This level contains more potion items to account for the increased enemy challenges.

The original concept did not include teleportation devices as a feature; they were integrated later during the design of the second level, alongside the placement of breakable walls. The teleportation devices were placed with the idea that the player could escape enemies or navigate the level to pick up other items such as jewels and potions that were left behind.

Asset List

Audio: https://www.moddb.com/mods/gauntlet-sanctuary

SpritesGauntlet-like Tiles: https://opengameart.org/content/gauntlet-like-tiles

Character and item sprites created from this sample sheet: https://opengameart.org/forumtopic/request-for-tileset-spritesheet-similar-to-gauntlet-ii

A Pathfinding Project* Free Version: https://arongranberg.com/astar/

Font: 

Gauntlet Regular: https://fontstruct.com/fontstructions/show/1508563/gauntlet-1


Asset List (Scripts)

  1. Arrow Script: Controls arrow movement and interaction with objects. Arrows move in a specified direction, destroy enemy spawn points unless invulnerable, and are removed upon impact. Auto-destruction after a set time is available.
  2. AStarPathfinding Script: Implements AI pathfinding using A*, allowing enemies to track and follow the player. Dynamically updates path and supports visual debugging in Unity.
  3. BreakableWall Script: Manages destructible walls with health. Walls are destroyed when health reaches zero, and arrows are removed after impact.
  4. DeathEnemyShoot Script: Controls Death enemy's projectile attacks. Configurable shooting intervals and projectile speed, with projectiles auto-destroying after 5 seconds.
  5. DeathHealth Script: Manages Death enemy health and interactions. Can only be killed by a death potion. Awards points upon death and triggers events.
  6. DeathMovement Script: Controls Death enemy's movement using A* pathfinding and updates animations based on velocity. Includes collision handling placeholders.
  7. DeathSpawner Script: Spawns Death enemies at random points up to a set limit. Tracks number of enemies spawned.
  8. DestroyOnCollision Script: Destroys objects after collision, with a slight delay to allow collision processing. Prevents multiple destruction attempts. **
  9. Door Script: Manages door interactions based on key possession. Updates A* grid upon door destruction.
  10. DrawHelper Class: Provides static methods to draw shapes (circles, cubes) in the Unity Editor for debugging purposes. *
  11. EnemyAttack Script: Allows enemies to attack players within range, with a cooldown between attacks. Applies damage to the player.
  12. EnemyHealth Script: Manages enemy health with two states (white and red). Tracks points and provides visual feedback when enemies turn red.
  13. EnemySpawner Script: Spawns enemies with configurable limits and invulnerability periods for spawn points. Dynamically adjusts based on player/enemy health events.
  14. GameManager Script: Manages game flow, player selection, scene transitions, and UI updates. Implements Singleton pattern for persistence across scenes.
  15. GhostDoorTrigger Script: Deactivates a door when the player enters a trigger zone, allowing passage. (Not in use)
  16. GhostMovement Script: Controls ghost enemy's movement with A* pathfinding. Changes to red state for increased health.
  17. HelpController Script: Manages Help Panel visibility in the UI, toggled via button press.
  18. HighScoreManager Script: Displays and manages high scores, updating UI elements from PlayerPrefs.
  19. HighScoreUIManager Script: Handles UI for name entry after achieving a high score, saving name and transitioning to the main menu.
  20. IPathNode Interface: Blueprint for pathfinding nodes, including connections, position, and invalid/blocked flags. (Not in use) *
  21. ItemPickup Script: Manages item collection (potions, keys) and applies effects (health, speed, score boosts) upon collision with the player.
  22. Jewel Script: Manages jewel collection, logging the event and destroying the jewel after pickup.
  23. Key Script: Handles key collection, logging the event and destroying the key upon pickup.
  24. MainMenuController Script: Manages main menu character selection and navigation. Saves selected character and transitions to game or high score scene.
  25. NodeGenerator Script: Generates a grid of pathfinding nodes, connecting them for use in navigation systems like A*. (Not in use) *
  26. PathNode Script: Represents a node in a pathfinding grid, used for visual debugging and node connections. (Not in use) *
  27. PathFollower Script: Controls an AI character’s movement along a path. (Not in use) *
  28. PathUpdater Script: Initialises and updates pathfinding for AI using A*. Ensures necessary components are present and frequently recalculates path to target.
  29. PauseMenu Script: Controls pausing and resuming the game, including menu UI and quitting to the main menu.
  30. PlayerHealth Script: Manages player's health, damage, invulnerability, and death events. Updates UI and provides visual feedback.
  31. PlayerInventory Script: Tracks player's inventory (keys, jewels, potions). Manages special item usage, such as Death Potions and Speed Potions.
  32. PlayerMovement Script: Handles player movement, shooting, and special abilities. Supports speed boosts and interacts with game objects like doors.
  33. RenderRefresher Script: Ensures proper rendering on scene start by refreshing Renderer or TilemapRenderer. (Not in use)
  34. SceneExit Script: Manages player exit from a level, including smooth movement and level transition animations.
  35. ScoreManager Script: Tracks and updates player score, checking for new high scores. Saves high scores and allows for reset during testing.
  36. ImmediatePathRecalculation Script: Forces AI to recalculate path upon initialisation and during gameplay, teleporting AI to target if needed.
  37. SwordBehaviour Script: Controls sword projectile movement and interactions. Deals damage to enemies, destroys walls, and handles projectile removal.
  38. SwordProjectile Script: Handles sword projectile movement and collision, dealing damage and removing the sword after impact. (Not in use)
  39. Teleporter Script: Teleports player to a destination with cooldown to prevent immediate reactivation.
  40. TreasureChest Script: Manages player interactions with treasure chests, triggering animations and score increases upon opening.

41. WelcomeScreenController Script: Manages the welcome screen overlay and player character selection. Displays a welcome message and disables character selection buttons until the Play button is pressed. Once the Play button is clicked, the overlay is hidden, and the character selection buttons (Elf and Valkyrie) become interactable.


Reference:

Scripts marked with * are from KIT109 Games Fundamentals, Tutorial08-15Interactive and were imported, but not incorporated into the final game. The A* Pathfinding Project (free version) was used instead, these scripts include:

  • AStar
  • DrawHelper
  • IPathNode
  • NodeGenerator
  • PathFollower
  • PathNode

** Source for DestroyOnCollision:

KIT109 Games Fundamentals, Tutorial01Interactive

Source for A Pathfinding Project, Free Version:

https://arongranberg.com/astar

All other scripts generated by ChatGPT-4o


Game Development Feedback Summary

The overall feedback on the game's visual appeal was very positive. Reviewers appreciated the refined sprites, textures, animations, and user interface, noting that the visual consistency contributed significantly to the game's atmosphere and immersion. The attention to detail in design elements was well-received, making for an enjoyable visual experience.

In terms of performance, the game ran smoothly without any technical issues such as slowdowns or delays. Reviewers found the responsiveness excellent, which helped maintain engagement and ensured a fluid gameplay experience. This reflects well on the optimisation efforts, as no major performance concerns were raised.

Players found the difficulty level to be well-balanced for short gameplay sessions. The challenge was seen as fair and appropriate, keeping players engaged without overwhelming them. While most tasks, like defeating enemies and navigating the dungeon, were considered easy, one reviewer encountered some confusion, suggesting that task clarity or visual cues could be improved in specific areas.

The controls were another strong point, with players finding them intuitive and easy to master. The simplicity and responsiveness of the control scheme fit well with the fast-paced nature of the game. However, the game mechanics, while engaging, were rated as moderately engaging, indicating that there is room for additional features or depth in the gameplay, particularly in combat and resource management, to increase long-term engagement.

Overall, the feedback indicates a solid foundation, with opportunities to enhance mechanics and provide greater clarity in task execution.

Suggestions for Game Improvements:

  1. Game Over Screen Issue: One reviewer encountered a bug where the game over screen remained visible after dying and retrying. This was particularly unfortunate, as I had tested the game the night before and believed all such bugs had been resolved. The issue was traced back to the introduction of the new player character, Valkyrie, and the script adjustments that hadn't fully accounted for this. The bug was corrected the following day.
  2. Enemy Overwhelm at First Spawner: A player felt overwhelmed by enemies near the top-right spawner in the first level, stating that enemies spawned faster than they could kill them, often leading to being cornered. In response to this, I have removed the invulnerability period between the enemies transitioning from "white state" to "red state," allowing them to be destroyed immediately upon the first strike of the arrow or sword projectile. Additionally, I significantly reduced the cooldown period for shooting arrows or throwing swords, allowing the player to attack more rapidly and deal with enemy waves more efficiently.
  3. Directional Shooting: Another reviewer mentioned that it would be beneficial to have the ability to shoot in a direction the player is not facing. This sentiment was echoed by my unit coordinator during development. While I have not yet implemented this feature due to time constraints, I plan to review it post-submission. This feature could be a significant enhancement, allowing for more dynamic combat and breaking away from the traditional mechanics of the original game.
  4. Speed Boost (Dash) and Shield Bash Features: One reviewer suggested adding a dash feature for the Elf and a shield bash for the Valkyrie. I have since added a speed boost potion that acts as a dash, doubling the player's speed for a short period when pressing the alpha 3 key. As for the shield bash feature, this is something I seriously considered before the testing session, but could not implement due to time constraints. I will add this feature for the Valkyrie after the unit's completion, as it fits well with her combat style and the overall game mechanics.
  5. Inventory UI and Resource Management: All reviewers requested an inventory UI to display available potions, keys, and other resources. This feature is something I had already outlined in my devlogs and on my itch.io game page but, due to time constraints, I was not able to implement it before the testing session. I fully agree with the reviewers that this is an essential feature for resource management in this type of game, and it will be one of the first additions post-submission.
  6. Confusion with Chests and Spawner Health: One reviewer noted some confusion with the graphics of chests, as they returned to the same visual state after being opened. Additionally, the health of the top-right spawner in the first level seemed harder to deplete than other spawners, leading to some frustration. I will review both these issues to ensure clearer visual feedback for chests and balanced health for spawners.
  7. Co-op Mode: There was also a mention of a co-op mode. While this is a feature I would love to explore, it will depend on the complexity of setting it up. For now, co-op remains undecided, but it is something I may consider once the single-player experience is more polished.


Reflection on Feedback: Overall, I was very pleased with the feedback and found the suggestions for improvement to be both fair and helpful. The positive response, particularly from a reviewer who has experience playing similar games, was encouraging. The game successfully recreates the feel of the original "Gauntlet" while leaving room for enhancements that could set it apart. Many of the suggestions align with my own future development plans, including improvements to the inventory UI, balancing gameplay mechanics, and considering additional features like directional shooting and co-op mode. This feedback will serve as a valuable guide for continuing development after the unit's completion.

Game Version: 3C.251024                                                                                                                           

Gauntlet Legacy Reborn is a fast-paced, retro-inspired dungeon crawler where players navigate intricate mazes filled with enemies and treasure. Drawing inspiration from the classic Gauntlet series, the game challenges players to survive waves of enemies, unlock new abilities, and face stronger foes. With a focus on quick combat and exploration, Gauntlet Legacy Reborn blends nostalgic elements with modern mechanics to offer a fresh experience for both fans of the original and new players. The game emphasises strategic movement and resource management in its single-player mode, enhancing the core dungeon-crawling experience.

Gameplay Instructions

Mouse or Keyboard Input

  • Movement: Use the WASD keys for player movement.
  • Shoot Arrows/Throw Swords: Press the Space bar.
  • Interact: Use the E key to interact with objects.
  • "Death" Potion: Select the alpha 5 key – kills all detectable enemies within a certain radius around the player.  
  • "Invulnerability" Potion: Select the alpha 4 key – player will be invulnerable for a short period of time.  
  • "Speed boost" Potion: Select alpha key - player will have a speed boost for a short period of time.   
  • Player Selection: Press the E key for Elf and the V key for Valkyrie.
  • Confirm button: Press the Enter key.
  • Cancel button: Press the ESC key (in the main menu).
  • Pause feature: Activate in the game scene with the ESC key.

Health Items and Items of Value



New Features:

  1. Second level complete to play the transition from level one is functional, may add more features depending on feedback.
  2. Second level has breakable walls and teleporters.
  3. Second player "Valkyrie" added and fully functional.
  4. Second enemy "Death" can only be killed by a death potion.
  5. Enemy AI pathfinder movement anomalies have been fixed.
  6. Added a speedboost function via a speedboost potion that will accelerate player speed by 2 times for a short period of time.
  7. Health and Score UI's carry across and update through both levels.
  8. Game scenes and player interaction:

 The main menu provides access to start the game, player selection, help, and high score information.




Primary item pick up and their features:

Death Potion : alpha 5 key


Invulnerabilty Potion : alpha 4 key 


Speed Potion :  alpha 3 key


Exit Key 

This key unlocks the exit door to provide access to exit the scene to the next level.


Treasure Chest : Select the E key to open the chest, the chest will open and close adding 500 points to the score.

Level 2 Breakable Walls and Transporters


Leave a comment

Log in with itch.io to leave a comment.