Documentation + User Guide


Documentation

Final Game Comparison to Concept Document Vision

Similarities:

The final version of the game is similar to what was envisioned in the concept document. This is namely the fact that the player is still a dark silhouette running across platforms, whilst trying to evade obstacles and enemies that chase after the player. Besides that, the player is able to collect points whenever they kill an enemy by shooting them. Other than that, the goal of the game – whereby the player needs to reach the end of one level, to progress on to the next one is still the same. Additionally, the mechanics and control scheme of the game have been kept identical from what was visualised in the concept document.

Differences:

1)    The enemies do not kill the player on touch.

  • Instead, the enemies hurt the player and deal 1 damage for every 0.5 seconds they touch the player. The reason for this change is because the game would be too difficult if the enemies killed the player immediately, as there were already other things that kills the player instantly such as falling off the platforms or touching a spike.

2)    The powerups of running faster and being able to shoot quicker have changed.

  • There are 2 powerups that instead increases the player’s health by one and another that allows the player’s bullets to deal more damage. This implementation was changed because it seemed to be a more practical approach to the game. There are many elements in a level that would deal damage to the player which was why a way to enable the player to regain some health was implemented instead. Besides that, it was more realistic and suited the game if the player was able to deal more damage by being able to kill the enemies quicker.

3)    The powerups do not drop down from the sky, as was proposed in the concept document.

  • In place of this, the powerups have been pre-placed in the map. The reason for this was due to time constraints. 

 

Feedback Summary

During the testing session, on average most people found the game fun, with a clear goal, included with interesting and unique features that few platformers had such as being able to shoot enemies and collect powerups, in addition to the various traps and obstacles. This was further backed up when observing the testers playing Agent X. The ability to shoot and kill enemies and the challenge of beating the obstacles to get to the end of a level were the main point of interest in the game. Besides that, the feedback gathered from people who played Agent X was that the controls of the game were easy to use and intuitive.

However, people felt the difficulty of the game was from neutral to being too hard. This is in part due to the difficulty of the spikes as they are numerous in a level and kill you instantly. A suggestion to this was to make checkpoints around the level, as “it gets annoying when one has to keep doing a level all over again from the start whenever they die”. And so, a checkpoint system was implemented into the game so as to prevent people from having to restart a level whenever they die. In addition to the spikes, people felt that the bullets should be able to go through the spikes and this was later applied into the game by adding a new layer to the spikes with which the bullets cannot collide with.

Another feedback provided highlighted the fact that there should be some form of visual representation to let players know that the bullets are actually hitting and damaging the enemy. This was because, the enemies had 10 health and it takes 10 bullets to kill them, making it seem that the bullets are not doing anything to the enemies when players first shoot the enemies. To address this, a particle system that emits subtle blood droplets whenever a bullet hits the enemy was introduced into the game.

The art style and aesthetics of the game were well-received as people liked the uniqueness and distinct visual illustrations across the different levels. One thing that drew much attention to was the different texts and pictures on the walls of Level 2 and Level 3 as it produced a secretive and mysterious vibe that gave freedom for players to imagine the storyline and lore of Agent X. It was also mentioned that the art flow from one level to the next was smooth despite having different backgrounds for each level.

The only bug that was found in the game was that the bullets slowed dramatically whenever a player shoots rapidly. However, other people and I were not able to replicate this problem, and thus, this bug was not able to be fixed. The main reason for this was because I could not repeat the bug for testing purposes to be able to fix it.

 

Asset List

Scripts

All of the scripts used in Agent X are original or have been modified significantly from other sources.

  • Bomb 
    • Detects when a player is on a land mine and launches the player upwards.
  • CustomCursor
    • Cursor for the game.
  • DestroySelfAndKillOtherOnCollision
    • Destroys the bullet and reduces the health of enemies, destroying the enemies when their health reaches 0 (KIT109 Games Fundamentals Tutorial, 2021).
  • Door
    • Opens and closes doors (Code Monkey, 2020).
  • EnemyAI
    • Movement of the enemy, such as walking and jumping (Etredal, 2020).
  • EnemyHealth
    • Sets the health of the enemy.
  • EnemyHurtPlayer 
    • Makes the enemy hurt the player for a given duration whenever the enemy touches the player.
  • FallingPlatform
    • Platforms fall after a certain duration of the player standing on them (Zotov, 2018).
  • GapKill 
    • Kills the player when they fall into a gap.
  • Laser
    • Flickers the laser beam on and off (PhilDev, 2020).
  • LaserDamage
    • The laser damages the player periodically (PhilDev, 2020).
  • MovingPlatform
    • Moves the platform left and right (Xlaugts, 2019).
  • Pathfinder
    • Scans the scene for obstacles and creates the nodes (Arongranberg, 2017).
  • PlayerCollectScore
    • The player collects a point whenever an enemy is killed (KIT109 Games Fundamentals Tutorial, 2021).
  • PlayerHealth
    • The player's health.
  • PlayerMovement2
    • Movement of the player (KIT109 Games Fundamentals Tutorial, 2021).
  • PlayerShooting
    • The ability for players to shoot bullets at enemies (KIT109 Games Fundamentals Tutorial, 2021).
  • PowerupBullet
    • Bullet powerup that increases the damage of bullets.
  • PowerupHealth
    • Powerups that increases the player’s health by 1.
  • Quit
    • Quits the application.
  • Respawn
    • Respawns the player whenever the player dies.
  • Rotator
    • Rotates the custom cursor on its z-axis.
  • Seeker
    • Works together with the Pathfinder script and allows the enemy to seek after the player (Arongranberg, 2017).
  • SpikeHurtPlayer
    • Kills the player instantly whenever the player touches a spike.
  • TypeWriteEffect
    • Prints out the message on the ending scene of the game in a typewrite effect (Fire Brain Games, 2015).

Prefabs

  • Bullet
    • Bullet that the player shoots to kill enemies.
    • Components:
      • SpriteRenderer
      • Rigidbody2D
      • CircleCollider2D
      • DestroySelfAndKillOtherOnCollision
  • Checkpoint
    • Checkpoint placed throughout a level, that respawns the player at the checkpoint's position when they die.
    • Components:
      • SpriteRenderer
      • CircleCollider2D
      • Checkpoint
      • Respawn
  • Enemy
    • Enemies go after the player.
    • Components:
      • SpriteRenderer
      • Animator
      • Rigidbody2D
      • BoxCollider2D
      • EnemyAI
      • Seeker
      • EnemyHealth
  • Health Powerup
    • Increases the player's health by 1.
    • Components:
      • SpriteRenderer
      • CircleCollider2D
      • PowerupHealth
      • AudioSource
  • Land Mine
    • Explodes upon player collision, launching the player upwards and dealing 2 hearts of damage.
    • Components:
      • SpriteRenderer
      • BoxCollider2D
      • Bomb
  • LaserBeam
    • Laser that turns on and off periodically, dealing 1 heart of damage when the player touches it.
    • Components:
      • SpriteRenderer
      • BoxCollider2D
      • Destroyer
  • Platform
    • Platform that player can walk on.
    • Components:
      • SpriteRenderer
      • BoxCollider2D
  • Player
    • The main character of the game that runs on the platforms, avoiding obstacles and killing enemies.
    • Components:
      • SpriteRenderer
      • Rigidbody2D
      • CapsuleCollider2D
      • Animator
      • PlayerMovement2
      • PlayerShooting
      • PlayerHealth
      • EnemyHurtPlayer
  • Spikes
    • Spikes on the ground that kills the player instantly on touch.
    • Components:
      • SpriteRenderer
      • Rigidbody2D
      • BoxCollider2D
      • SpikeHurtPlayer

Sprites

Some sprites have been obtained from external sources, whereas others have been created by me using an online software.

  • Bullet (Gumichan01, 2016).
  • City background (Alucard, 2013).
  • Desert background (PWL, 2016).
  • Enemy sprite, (Anonymous, n.d.).
  • Heart sprites (amrdavid, 2017).
  • Land mine (Ap0calypse.N1nja, 2011).
  • Night background (Alekei, 2015).
  • Player character (Chasersgaming, 2019).
  • Wall pictures (Created by me using: https://www.canva.com/).

Sounds

  • Background sound (Fato_Shadow, 2021).
  • Button click sound created by me.
  • Land mine explosion sound (Varkalandar, 2019).
  • Powerup sounds (Fupi, 2020).
  • Shooting sounds (jalastram, 2013).

Fonts

  • Agent Orange Font (Free Fonts, 2020).
  • Barlow Semi Condensed (Tribby, n.d.).
  • Bebas Neue (Tsunekawa, n.d.).
  • MODEKA Font (Free Fonts, 2017).
  • Sanchez (Hernandez, n.d.).

 

User Guide

Game Name

Agent X

Game Description

In Agent X, the player must avoid obstacles by vaulting and jumping over them. The player is able to shoot enemies that come after them and would collect points whenever an enemy is killed. The player has 5 lives and once they lose all their lives, they respawn at their last checkpoint. Once the player reaches the end of a level, they will advance to the next level which will be harder than the preceding one. Upon completing Level 3, the game ends where the player will be greeted by an ending screen.

Controls

The key controls of the player are the A key to move left, and the D key to move right. Besides that, the player has to use the space bar to jump. The player is able to shoot by using the left-mouse click and aim by pointing the mouse towards the intended direction. An additional feature added is "coyote time", the ability for the player to jump a few seconds after leaving a platform. This helps to prevent the player from falling and dying should they miss their jump, allowing some leeway for the player to save themselves. The player may also jump first, before moving in a direction, enabling the player to move mid-air to avoid difficult obstacles. At any point during a level, the player may press the "ESC" key to pause the game, and choose to go to the Title screen to select another level.

Game Screens


Title screen containing a “Start Game” button that takes the player to a level selector, a “How to Play” button that switches to a screen about the controls and powerup functionality, a "Settings" button that takes the player to the settings screen to change the volume of the game sounds, and a “Quit” button that closes the game.

Control screen that provides instructions on the game controls and functionality of each powerup.


Settings screen that allows the player to control the volume of the game sounds.


Level Selector screen containing 3 buttons that takes the player to the 3 different levels in the game according to the button they click. There is also a “Main Menu” button that takes the player back to the Title screen.


Example of a level (Level 2) that has the player’s health, level indicator, and score placed at the top of the screen. Each level will have obstacles and enemies that the player has to navigate through.


At any point during a level, the player will be able to pause the game by pressing the "ESC" key on the keyboard. The pause menu contains a "Main Menu" button that allows the player to go back to the Title screen, a "Resume" button that resumes the game, and a "Quit" button that closes the game.

End-of-Game screen that provides feedback on the player’s score. It also prints out messages that adhere to the mystery of the lore of Agent X. Besides that, there is also a “Main Menu” button that the player can click to take them back to the Title screen.

 

References

Arongranberg.com. 2017. A* Pathfinding Project. [online] Available at: <https://arongranberg.com/astar/> [Accessed 9 October 2021].

Deviantart.com. 2011. Sprite Landmine by Ap0calypseN1nja on DeviantArt. [online] Available at: <https://www.deviantart.com/ap0calypsen1nja/art/Sprite-Landmine-262764143> [Accessed 9 October 2021].

Fonts, F., 2020. Agent Orange Font - Free Fonts. [online] Free Fonts. Available at: <https://www.freefonts.io/agent-orange-font/> [Accessed 9 October 2021].

Fonts, F., 2017. MODEKA Free Modern Font - Free Fonts. [online] Free Fonts. Available at: <https://www.freefonts.io/modeka-free-modern-font/> [Accessed 9 October 2021].

Hernandez, D., n.d. Sanchez. [online] Google Fonts. Available at: <https://fonts.google.com/specimen/Sanchez> [Accessed 13 October 2021].

OpenGameArt.org. 2015. Background Night. [online] Available at: <https://opengameart.org/content/background-night> [Accessed 9 October 2021].

OpenGameArt.org. 2013. City Background Repetitive. [online] Available at: <https://opengameart.org/content/city-background-repetitive> [Accessed 9 October 2021].

OpenGameArt.org. 2019. Big low frequency explosion boom. [online] Available at: <https://opengameart.org/content/big-low-frequency-explosion-boom> [Accessed 9 October 2021].

OpenGameArt.org. 2013. Collaboration / Sound Effects Shooting sounds 002. [online] Available at: <https://opengameart.org/content/collaboration-sound-effects-shooting-sounds-002> [Accessed 9 October 2021].

OpenGameArt.org. 2017. Heart_Health. [online] Available at: <https://opengameart.org/content/hearthealth> [Accessed 9 October 2021].

OpenGameArt.org. 2021. Mission 1-4 (Soundtrack). [online] Available at: <https://opengameart.org/content/mission-1-4-soundtrack> [Accessed 9 October 2021].

OpenGameArt.org. 2020. Plingy Coin. [online] Available at: <https://opengameart.org/content/plingy-coin> [Accessed 9 October 2021].

OpenGameArt.org. 2019. RPG Character 'Agent' NES. [online] Available at: <https://opengameart.org/content/rpg-character-agent-nes> [Accessed 9 October 2021].

OpenGameArt.org. 2016. Seamless desert background in parts. [online] Available at: <https://opengameart.org/content/seamless-desert-background-in-parts> [Accessed 9 October 2021].

OpenGameArt.org. 2016. TX Bullet. [online] Available at: <https://opengameart.org/content/tx-bullet-0> [Accessed 9 October 2021].

Tribby, J., n.d. Barlow Semi Condensed. [online] Google Fonts. Available at: <https://fonts.google.com/specimen/Barlow+Semi+Condensed> [Accessed 13 October 2021].

Tsunekawa, R., n.d. Bebas Neue. [online] Google Fonts. Available at: <https://fonts.google.com/specimen/Bebas+Neue> [Accessed 13 October 2021].

Youtube.com. 2020. Advanced AI in Unity [Tutorial] - Physics, Pathfinding, Editor Adjustments. [online] Available at: <https://www.youtube.com/watch?v=sWqRfygpl4I> [Accessed 9 October 2021].

Youtube.com. 2020. How To Make A LASER TRAP In Unity. [online] Available at: <https://www.youtube.com/watch?v=Ggwj2OmfZVU> [Accessed 9 October 2021].

Youtube.com. 2019. Unity 2D Moving Platform Tutorial. [online] Available at: <https://www.youtube.com/watch?v=8aSzWGKiDAM> [Accessed 9 October 2021].

Youtube.com. 2015. Unity 5 - Type Writer Effect Tutorial (Great for Dialogues). [online] Available at: <https://www.youtube.com/watch?v=1qbjmb_1hV4> [Accessed 9 October 2021].

Youtube.com. 2020. 4 Ways to Interact with Doors in Unity! (Key, Button, Auto, Pressure). [online] Available at: <https://www.youtube.com/watch?v=BJ4bNFPuDWA> [Accessed 9 October 2021].

Zotov, A., 2018. Unity 2D Tutorial How To Create Falling Platforms For Simple Platformer Game. [online] Youtube.com. Available at: <https://www.youtube.com/watch?v=ovsCoNLP05w> [Accessed 9 October 2021].

 

Files

Build.zip Play in browser
Oct 08, 2021

Leave a comment

Log in with itch.io to leave a comment.