Main Game Development Log
20th February 2023
Implementations – Added Increase Health button onto main upgrade machine. Stopped player gaining health from health pickups once they have full health. Added automatic door to main upgrade machine.
Issues – Automatic door does not fully open. Issue fixed by making collision box for door larger, and unparenting collision box to door.
Upgrade screen button widgets overlap one another and do not disappear when another button is clicked. Issue fixed by creating Widget Switcher and setting index of switcher to the text which needs to be shown, and removing other texts if they are on screen when another button is clicked.
21st February 2023
Implementations – Changed main upgrade screen to show Coin, Health and Time widgets instead of removing them from screen.
22nd February 2023
Issues – Player could gain beyond max health once they had taken damage. Issue fixed by clamping max health inside the health pickup blueprint.
23rd February 2023
Implementations – Coins now move towards player when player is close by, and after 10 seconds they travel towards player, if they are out of reach.
27th February 2023
Implementations – Inserted prototype neon lights into game.
28th February 2023
Implementations – Turrets now follow enemies within a radius around each turret with a slight delay, and reset to original position once enemy is outside of radius.
1st March 2023
Implementations – Turrets now shoot at the closest enemy within their radius. Changed enemy mesh to character mesh instead of cubes. Added Enemy Health, weapon damage to enemies, ability to manually reload weapon, and able to purchase a shield which lasts for 30 seconds.
Issues – Enemies unable to move to player when they become stuck on an arcade machine. Issue fixed by unticking Block Enemy collision in arcade machine collision detection.
7th March 2023
Implementations – Added shield countdown timer, after purchasing shield, pause menu, migrated the main HUD elements into one widget, removed door to upgrade machine, added weapon ammo counter UI element.
8th March 2023
Implementations – Enemies now randomly drop either a health pickup or a shield pickup with a 1 in 100 chance of dropping. Included actor life spans of drops to destroy after eight seconds of dropping. Shields now last 10 seconds. Random drops now bounce slowly when spawned.
Issues – Shield drop actor did not update the shield countdown timer when activated, or destroy the actor when the timer had finished. Issue fixed by creating a second progress bar, and activating each bar via a widget switcher.
9th March 2023
Implementations – All progress bars now deplete or fill smoothly.
10th March 2023
Implementations – Replaced timer with wave number. Enemies now spawn after each other in a wave format, and increase their health after each round.
Issues – Collision between enemies and player sometimes results in either actor being flung across the map. Issue fixed by setting the collision of the enemies and boss to Physics Only, upon enemy death.
Enemies only spawn coins when they have been hit with a projectile instead of on death. Issue fixed by checking if enemy health is less than or equal to zero, and then spawning coin.
Boss enemies only spawn on the 2nd round.
Enemies still spawn during a boss round. Issue fixed by setting the number of enemies during the boss round to 0.
11th March 2023
Implementations – Boss rounds now only include boss enemies.
Issues – Boss enemies cannot destroy barricades. Issue fixed by finding all actors with the tag “Enemy” and allowing them to destroy barricades.
13th March 2023
Implementations – Created Main Menu, imported images from Travis, and included animations into Main Menu. Created on player death screen, which includes option to restart game, view the leaderboard and quit to main menu.
Issues – Fixed the Boss only spawning on the 2nd round issue, by creating the “Boss Round Number” variable, and increasing this by one when a round had passed. Then checking if the variable was equal to “2”. If true then spawn a boss. Whilst also resetting the “Do Once” node after the boss had spawned, alongside setting the variable back to 0.
16th March 2023
Implementations – Imported and added Coin and Ammo counter art onto main HUD. Imported new font. Lights now flicker during boss rounds. Implemented boss round widget, signalling to player when a boss round begins. New coin model added to project.
Issues – Major bug prevented the opening of the project. Issue was caused by an unloaded actor which was a deleted blueprint which was still in the level. Issue fixed by creating another map and transferring each object over to the new map.
Lights continued to flicker after the boss round had been completed. Issue fixed by creating the code in the level blueprint, and checking whether the boss round number was equal to 0.
20th March 2023
Implementations – Coins now become smaller as they get closer to the player. Created multiple enemy variants, which now spawn randomly each round. Imported Health Bar UI from Travis. Heart image next to health bar now pulsates when player health is 25 or below.
21st March 2023
Implementations – Removed ability to jump. Added blocking volume on ceiling of map to prevent enemies from being flung out of the map on collisions. Right Click instead of R now reloads weapon. Imported pause screen images from Travis and updated pause screen with new images and animations. Imported Options Menu images from Travis. Updated Options Screen with new images and animations. Updated each enemy variant health. Player can collect and purchase shields and use them whenever they please.
Issues – Whenever the player collects or purchases a shield the shield timer bar will not update. Issue fixed by resetting the 10 seconds of the shield after each one has depleted.
22nd March 2023
Implementations – Updated the movement speed of each enemy. Enemies now cause different amounts of damage to the player. Gun Guy Enemies now shoot at player and maintain their distance from the player. Bomb Boy enemies now explode on death and cause a chain reaction to other Bomb Boys. Added an impulse force on Bomb Boy explode which knocks the player back. Bomb Boys now flicker to give the player a visual aid of when they are close.
Issues – Bomb Boys impulse did not knock back enemies. Issue fixed by ticking the “Use Separate Braking Friction” on enemy movement, which stopped the enemy from automatically slowing down.
23rd March 2023
Implementations – Bomb Boys now drop grenades on death, which cause damage and knockback to the player and enemies. Bomb Boys Grenades now explode other Bomb Boy enemies.
24th March 2023
Implementations – Imported Shield Icon from Travis, and added the icon to the UI whenever the player picks up a shield.
Issues – Enemies can still apply damage to the player even when the shield is active. Issue fixed by creating a boolean when the shield has been activated and checking on each enemy blueprint if this boolean is true. If true then apply no damage to the player. Imported Game Over Screen Images from Travis. Updated Game Over screen with new images and animations.
24th March 2023
Issues – Turrets will only target the Spike Head enemies. Issue fixed by checking the overlapping actors on event tick, and putting these actors into an array variable.
27th March 2023
Implementations – Blood screen on screen shows when player receives damage, and disappears when player is not receiving damage. Included Pixel VFX Explosion when Bomb Boys and Grenades explode. Player flashes when damaged. Updated layout of ground floor and basement. Included trigger which hides the ground floor when the player enters the basement.
Issues – Player did not die when they had 1 shield in their inventory. Issue fixed by removing the Has Shield boolean on event tick.
28th March 2023
Implementations – Enemies are now hidden once the hidden trigger has been activated, and also are unhidden once they have left the trigger. Teleporters now included, which allow the player to teleport to the different floors. Bomb Boys and their grenades do not damage the player if the shield is activate.
Issues – When the player moves down the basement stairs the enemies movement on the ground floor will be blocked by the top section of the basement. Issue fixed by creating a separate section for the basement and setting no collision when the player moves down the basement stairs.
29th March 2023
Implementations – Turrets now only target all enemies except the mechanics, even when a mechanic is already overlapping the detection radius.
Issues – Enemy and Boss health does not grow after each round. Issue fixed by getting the Custom Health Component by class when an enemy had spawned, and setting the health through the component.
30th March 2023
Implementations – Bomb Boys Grenades now have random velocity when spawned. Imported Health Pickup Model from Travis, and implemented model into game. Added a Pawn Sensing component to Gun Guys, to only shoot when they can see the player.
2nd April 2023
Implementations – 3D Turret models have now been successfully imported with animations and textures.
5th April 2023
Implementations – Teleporters now disappear when the player is in the basement. Gun Guys now follow player and do not keep shooting in one place when they see the player. Added carpet material to floor of ground floor, and stone material to floor of basement.
6th April 2023
Issues – Enemies cannot attack player if the player is on the edge of the stage, since the Navigation Mesh will not fill all the way up to the edge of the stage. Issue fixed by adding a fence to the stage.
7th April 2023
Implementations – Altered the map and made it slightly smaller. Added textures to walls, stairs, stage and fence of ground floor. Updated neon lights locations in the map.
Issues – Whenever the player activates a shield, this causes widgets to continue to show on screen even when the player has left their overlap boxes. Issue fixed by setting the collision responses for the shield for World Dynamic to ‘Ignore’.
10th April 2023
Implementations – Created projectile 3D asset and imported into game.
17th April 2023
Implementations – Updated player movement to a smoother player movement. Clamped certain turrets rotations.
Issues – Gun Guys did not shoot at player when in the basement. Issue fixed by changing the Visibility Trace Response of the Trigger Box to Overlap.
Projectile shoots out sideways. Issue fixed by changing the rotation of the projectile in Maya and reimporting the model.
Enemies jitter when rotating towards the player. Issue fixed by ticking Orient Rotation to Movement and unticking Use Controller Rotation Yaw.
21st April 2023
Issues – Mechanics only move to one active turret, and then stop moving once the active turret has been deactivated.
27th April 2023
Implementations – Imported Player Shooting SFX, Bomb Boys Explosion and Bomb Boys Grenade Explosion from Travis, and implemented all sounds into project.
Issues – Mechanics now target individual turrets, spawn at random spawn points, spawn between 30 and 60 second intervals, and set their location to a random spawn point whenever they are hit with a projectile.
Whenever the player collects a shield they can press E to keep spawning shields even if they do not have one in their inventory. Issue fixed by setting the “Has Shield” boolean to false when the shield counter is 0.
3rd May 2023
Implementations – Edited Title Screen and Gameplay Music, and implemented into game. Manipulated Enemy Death, Click Sound, Reload Sound, Player Death Sound, Turret Activate Sound, Turret Deactivate Sound, Boss Footsteps, Teleporter Sound and Coin Collect sound and implemented into game. Created Boss Round Music and implemented into game. Gameplay music gets faster as each boss round passes.
4th May 2023
Implementations – Ability to change volume of music and SFX in options screen. Created Shield Activated SFX, Player Damaged Sound and Boss Roar Sound and implemented into game. Imported Upgrade Screen Buttons from Travis and implemented into game. Added Camera Shake when player shoots, when Bomb Boys explode and when the Boss spawns.
Issues – Turrets do not revert back to the correct position when they have been reactivated after deactivation. Issue fixed by creating blueprints for each turret facing a different side and creating their own variants when they have been deactivated, to keep their rotation clamps correct.
Player can restore health infinitely on the upgrade machine. Issue fixed by checking if players health is equal to max, and if so then show the full health widget.
Full Health Widget showed when player was in overlap box of health pickup when the health pickup had been destroyed. Issue fixed by removing the widget when the pickup had been destroyed.
Gameplay Music and Title Screen Music overlaps when returning from Pause Menu. Issue fixed by fading each piece of music in and out when accessing the Pause Menu.
5th May 2023
Implementations – Imported Enemy models from Keir and implemented models into game.
6th May 2023
Implementations – Boss roar and screen shake now triggers when the Boss Round Banner shows.
Issues – Player can teleport infinite times when on the teleporter pad. Issue fixed by disabling the collision of the teleporter capsules, and re-enabling after the cooldown period.
Player Projectile Damage did not increase whenever the Upgrade Weapons button was clicked. Issue fixed by creating the damage variable in the Third Person Character blueprint, and then setting the variable inside the projectile blueprint as the same as the character blueprint.
7th May 2023
Implementations – Added prompt for the player which says F to activate shield. Boss now shoots at player. Final version of game has been built.
Link to executable file of game – https://nathan1230.itch.io/retro-rampage
Gameplay Video
Influences
Our main influences and inspirations for this game were classic arcade video games, mostly from the 1980’s. Games such as Pac-Man (Namco, 1980), Tetris (Alexey Pajitnov, 1985), Space Invaders (Taito, 1978) and Super Mario Bros. (Nintendo, 1985). The reason being is that we wanted our game to have a retro feel, and include subtle easter eggs to these types of games. Examples include the Spike Head enemies referencing the shells from Super Mario Bros. (Nintendo, 1985), and the retro style sounds of our game being a throwback to the classic arcade games.
Additional references came from games such as Hotline Miami (Devolver Digital, 2012) and Call of Duty: Black Ops (Activision, 2010). These games were chosen for the top down perspective and their zombie wave resist game mode respectively. These games also offer an intense gameplay feel for the player, as this is also what we hoped to achieve within our game.
The music I had created for this project was mostly inspired by the soundtrack of Oddworld: Abe’s Exoddus (Oddworld Inhabitants, 1998). I wanted to create a gameplay track which incorporated elements of this soundtrack. More specifically, having the bass stand out and become more intense as the gameplay goes on.
Reflection
Throughout the development of this project, our group had been using HacknPlan to monitor our scope for this project, and continuously add, update or remove tasks for our game. I believe we worked well together as a group, and achieved a working playable game, as each one of us understood our roles and what we wanted to achieve for this project.
During development, I came across many different challenges. Some were more difficult than others. For example the biggest challenges I faced were the turrets targeting systems and the menace mechanics finding the turrets to deactivate. These two issues took a few days each to overcome, and many hours spent figuring out ways to achieve what we wanted for the game. Conversely, the many other issues I faced were insignificant in size compared to these two large issues, and were easily overcome due to the groups problem solving skills. I had learned what each node in the blueprints of Unreal Engine would do, as time passed, and gained a better understanding of blueprints, and what I could achieve with them. With these skills it was easier to implement each mechanic we wanted for our game.
Our group was in constant communication in our discord group, and I had received feedback on some of the elements during this project. One example being that Travis suggested randomising the pitch of the player shooting each time, as this would offer more variety on the sound.
Another example of being offered feedback is the sound of the turrets activating and deactivating. Travis suggested that the sound should be much deeper and more mechanical sounding. From the feedback Travis had suggested I then randomised the pitch of the player shooting and recreated the sound of the turrets activating.
References
Activision (2010) Call of Duty: Black Ops [Video game]. Available online: https://store.steampowered.com/app/42700/Call_of_Duty_Black_Ops/ [Accessed 7/5/2023].
Alexey Pajitnov (1985) Tetris [Video game].
Devolver Digital (2012) Hotline Miami [Video game]. Available online: https://store.steampowered.com/app/219150/Hotline_Miami/ [Accessed 7/5/2023].
Namco (1980) Pac-Man [Video game]. Namco: Japan.
Nintendo (1985) Super Mario Bros. [Video game]. Nintendo: Japan.
Oddworld Inhabitants (1998) Oddworld: Abe’s Exoddus [Video game]. Available online: https://store.steampowered.com/app/15710/Oddworld_Abes_Exoddus/ [Accessed 7/5/2023].
Taito (1978) Space Invaders [Video game]. Taito: Japan.
Third Party Assets Used
Reekee of Dimenzioned (2005) Arcadepix [Font]. Available online: https://www.dafont.com/arcadepix.font [Accessed 16/3/2023].
Leave a Reply