Blog Post 3

CAGD 470 - Video Game Production

Rune Chronicles

Blog Post 3


     This sprint, our team set out to finish a digital prototype build in order to get player feedback, as well as finish our core player input system. To do this, we agreed on a core set of tasks that needed to be completed by the end of this sprint in order to push out the prototype. The programming team needed to complete input controls, implement a basic enemy navmesh system, and set up our completed loot system so that players could pick up keys, potions, and interact with treasure chests. Our modeler was tasked with finishing level props for the playtest level, and our level designers were tasked with completing a prototype scene with the available assets and props for the players to play in.




        To begin this sprint, I set up a player class using scriptable objects in Unity. Our players collected items, such as keys and potions, are recorded within this object, as well as the players health and mana statistics. After implementing methods for our players to increment and decrement these items on pickup and on use, I went to work putting together the input actions to call these methods. Item pickups would be handled with colliders, while using items would be tied to specific key presses. Since each item handles its type separately, our level designers are able to place these items around the map and within the treasure chest loot table system that Colin created.

    




    Next, I moved on to creating a way for our player to attack. I accomplished this by designed a projectile prefab that holds a script containing information when it is instantiated. This allows us to easily modify the projectiles damage as they are spawned, without affecting the projectiles that have already been created. To test the projectile system, I then set up our enemy statistics, that are also being handled with scriptable objects. After making it so that our enemy classes could take damage from our player attacks, I added a small particle effect on-hit so that it was easier to identify when our attack was colliding with a player.

    

    To finish preparing for the digital prototype, I created a spawning system for our enemy spawning portals. This allows us to select a prefab enemy and drag them into each separate spawner to control which enemies we would like to spawn at specific sites. The actual spawning is tied to time, and requires players to destroy them before enemies stop spawning at the regular interval. Spawners can only spawn 5 enemies before an enemy must be defeated to trigger more spawns.



    The largest issues that arose for me during this sprint involved our player controller and their colliders within our scene. Our player often runs into issues with their movement on the uneven Unity terrain elements that make up our levels. While our player controller is driven by the physics system, we have found that it has brough a series of challenges along, that have been difficult to maintain as the level design expanded. During the next sprint, I plan to add additional scheduled work on the character controller so that the game is a much more stable experience. To do this, I plan on including additional ways for our player to detect inclines and adjust their movement accordingly to stop clipping and collision issues.


Moving forward, I hope to use the data collected from the ongoing playtests and feedback forms to improve our game and implement any urgent changes. This feedback will be crucial to making sure that we are finding the fun in our game. I have my team to thank for the hard work that they have accomplished this sprint. I am excited to get more work done on this project, and can't wait to see what we are able to accomplish in the upcoming weeks. 

Comments