https://www.youtube.com/watch?v=N-ViOIUg-3k
Note: We used one grace day for this final submission.
Follow the hyperlinks to see the code location
| # | Category | Task | Description |
|---|---|---|---|
| 1 | Playability | 10 minutes of non-repetitive gameplay | The game has over 10 minutes of non-repetitive gameplay through exploration and combat. In order to upgrade the ship, the player must explore the island, and venture into the 4 different biomes. There they will fight enemies, explore the greenery and structures, and fight a boss enemy. When night falls, the player will have to fend off hoardes of enemies, and is best-advised to stay by the ship for protection. The game provides upgrades for weapons, the player, and the ship. The game ends when the ship is fully upgraded. This provides lots of content for the player to explore, and over 10 minutes of sustained and interesting gameplay. |
| 2 | Stability | Bugs, crashes, resolution | The game has a consistent and constant resolution across all displays. No crashes or glitches are present. |
| 3 | User Experience | Tutorial | The tutorial has been upgraded to allow skipping through dialogue elements with the "enter" key. The tutorial teaches the player the objective of the game, introduces boss enemies, and how to access and purchase upgrades. The movement, combat, and inventory controls are also present in the tutorial. |
| 4 | Robustness | Real-time gameplay | Depending on the hardware, the game consistently runs above 120FPS, even under the most intensive of game conditions. This has been tested through fighting many enemies at once, having multiple items on the ground, and shooting many projectiles. The game performs well. |
| 6 | Software Eng. | Test plan | See the test plan for more details. |
| 7 | Reporting | Bug list | See the bug list for more details. |
| 8 | Reporting | Demonstration video | See the demo video for more details. |
| 9 | Reporting | User testing | We implemented a number of features in response to the feedback we gathered from user testing done in the cross-play sessions. We added a minimap marker to let the player know where they are in the map. We added an increased light radius, and light radius upgrades to make the night-time portion of the game more fun and playable. We added new structures and greenery variation to make the world more interesting and fun to explore. We added increased mobility by adding a dash for the player. We added a fade effect for music tracks when transitioning between biomes, so the transition was not so abrupt. |
| 10 | Creative Element | Simple rendering effects (basic) | Shaders for the day-night cycle have been implemented. These shaders progressively dim or lighten the screen over time based on a day-night cycle in our game. This includes a light-radius around the player in order to see with limited visibility at night. In addition, we created weather shaders for each biome. These shaders also take in a time uniform. They use different pseudo-RNG algorithms to interesting and beautiful weather effects that vary over time. The ice biome snows, the beach biome rains, the savanna biome has a heat haze, and the mushroom biome has a mysterious purple fog. |
| 11 | Creative Element | Procedural map generation [TA Approved] (advanced) | The game map is randomly generated upon every complete restart of the game (i.e. by running the executable from the beginning). The game uses a 2D Perlin noise algorithm to create a height map of elevation values. The system discretizes the elevation into water, sand, and grass levels to create the terrain map. We also apply a radial falloff to bias the island to be more circular, and surrounded by water. The player spawn is placed at closest land tile to the center of the map. To create biomes, the system applies a greedy algorithm to place 4 points as far away from each other and the player spawn as possible. From these so-called "biome seeds", the system runs a simultaneous BFS to have the forest, ice, savanna, beach, and jungle biomes compete for unmarked mainland tiles. Finally, the map generation system randomly adds decoration tiles such as trees and structures, enforcing a minimum distance between them so as to ensure a fun and playable experience for the player. |