Design Blog 4



While there was no official builds released in sprint 4, there were several design changes made during the sprint. This was because the majority of our playtest data was received after the kickoff which caused some shifting of priorities. Any changes and new features will not be developed until the next sprint however. Overall, I believe this sprint did allow us to improve the design of our game and saw a satisfactory amount of work done.  

Design Changes: 

The biggest positive from the playtest data was that the majority of our testers fell within our target player with most of them saying that they enjoy beat-em-ups and top-down action games. However, most playtesters found the first electronic prototype to be very difficult because there were too many enemies and the game’s items were too expensive to buy. Additionally, players also had a hard time determining when the could buy items. 

In response to player feedback we gave the player both the ability to block and knockbak enemies so they can better deal with large groups of enemies. These two changes were more urgently needed as they were implemented early in sprint 4. However, one design change that we will be making in the near future is for the buildings to become transparent if they obstruct the view of the camera as this caused frustration for some players. Finally, we will be giving more control of the camera to the players as well as having money float to them to make collecting money easier. 

Forms response chart. Question title: Do you enjoy beat-em-up games? (games like Castle Crashers or Double Dragon). Number of responses: 7 responses.Forms response chart. Question title: How did you feel about the enemy density in the game. Number of responses: 7 responses.

Programming Work: 

My Programming work this sprint was primarily concerned with implementing the necessary design changes to our combat system that we wanted after the early results of the playtest came in. I created the player block ability, enemy knockback, and damage feedback. 

The player block was easy to create as I used the same design as their punch and kick attacks. However, an extra layer was needed as now the melee enemies have to read if the player is currently blocking now in order to damage them. Creating the enemy knockback proved far more difficult. The enemy AI is using Unity’s NavMesh system to navigate, but in order to use physics to create the knockback I needed to use Unity’s rigidbody system as well. Unfortunately, the two systems do not work well together. Often times testing, the enemy would get knocked back, but would be unable to move again after being touched and would continue to slide away. The workaround was to toggle the kinematic properties of the rigidbody so it would be temporarily moved by the physics system and then returning to NavMesh movement after a half second. To create damage feedback I added two features. The first was to create a material swap so the enemies would turn to red for a fraction of a second before going back to normal. In addition, I also gave the enemies a health bar, although the health bar only briefly appears after the enemy has been hit. This way, there is less visual clutter, but players can still understand how close they are to defeating enemies. 


The next biggest programming concern was creating a notification system to help the player navigate and with buying and selling clothing. Originally, I was going to create an actual minimap, but given the amount of art resources needed I came up with an alternative system. Player’s will receive notifications to their in game cell phone that tell them when and where drops are happening and who they can sell too. The first step to create this was giving all shops and houses an additional game object variable so they can read the street names that they are on. When drops or sale opportunities are available to the player, shops will read the name of the street object and communicate with the UI to tell the player where to go to. Upon receiving notifications, the phone image will vibrate to give the player more visual cues. Each street will also tell the UI what street the player is standing on to give the player a frame of reference. In future installments all the streets will be named similarly to downtown in the United States with simply numbers or letters so navigation is easier. 


Two other features that were created in order to make the core loop more fun was enemies dropping more money and having cars drive through the streets running over anything in their path. The money change was easy as I all I needed to do was to decrease the currency value of each bill in the inspector and increase how many bills spawn upon death of an enemy. Additionally, I created an effect when the player picks up cash. A yellow particle effect along with a dollar sign model is instantiated above the player on every instance of cash pickups so the player knows when they are collecting money. Creating the cars was easy since they have no behavior other than moving across the screen. It is fun to watch the cars plow through enemies and turn them into piles of money. Later I will be adding a way for the players to be notified about oncoming traffic so they can dodge the cars. 

The last chunk of work I did in the sprint was restructuring how player’s buy items from shops. Before, players could buy any item and each item was tied to the shop script directly. Now all of the items are scriptable objects in an array within the shop script. All of the randomization of prices are done within the scriptable objects themselves. Within the shop script is now a method that randomly chooses two items to sell at a time as well as the chance to sell the special attacks to players. 

Get The Drop

Leave a comment

Log in with itch.io to leave a comment.