Documentation and user guide


The final implementation of Super Survival largely stays true to what I laid out in the initial concept document. There are a couple differences though.

Firstly, there are a few less features. In the concept document, I talked about facing different enemy types that ‘pose a unique threat to the player’. I also emphasised the different superpowers that the player would have access to. In the final submission of the game, there are only two powers – the ability to fly, and to use laser vision. There’s also really only one enemy type.

This difference between what was initially planned and what was included in the final implementation was not a design decision, I just ran out of time. In hindsight, being more intentional about planning and mapping out the different stages of development could’ve given me the room to think about including additional gameplay features. Further updates to the game are definitely being considered.

The second difference from the concept document is the art style used in the game. The original intention was to imitate old comic book art – instead the game primarily uses pixel art. This decision was made out of convenience (and again, time concerns). I have little experience making graphics, but I’ve made some pixel art before. The game does use clear distinct colours and outlines for the art, so the comic book inspiration wasn't completely neglected.

 Note: No AI was used in the making of this game.

Week 12 testing feedback

The week 12 testing session mainly helped to gauge player's general feelings when playing the game. Players were asked what they liked and disliked about the game, and if they had any other thoughts or feelings about it. Some trends were:

Likes

  • The flying mechanic
  • The character art

Dislikes

  • Repetitive gameplay
  • Killing the enemies was unsatisfying
  • A non-PC gamer found the controls a difficult to use

Some changes were made with this feedback in mind. The laser beam was given an animated sprite. Robots now play an explosion animation on death. These changes aim to make fighting and destroying the robot enemies more satisfying and engaging.

An ‘overheat’ meter was added, making it so that the player can’t use the laser indefinitely. They are forced to fly and dodge at times, which both makes the gameplay less repetitive and leans into what people enjoyed about the game – the flying mechanic.

Finally, the laser beam deals ‘splash damage’ to enemies near the target, making it require a less precision to aim than before and hopefully addressing some of the difficulty in using the controls.

Assets

All assets that are not attributed to a third party were created by me.

Art

Textures for the following were used:

  • Player spritesheet
  • Robots & explosion
  • Totem
    • Used for the robot spawners (which I have given the name ‘totems’.
  • Laser beam and beam impact
    • The beam impact sprites are for the animation that plays as the laser beam connects with an enemy.
  • Menu art
  • Game background

Fonts

  • Dimbo

Scripts

  • Game logic scripts
    • BestTimeNameInput
      • Used for inputting the player’s name upon setting a best time.
      • Is a modified KIT109 tutorial script.
    • GameController
      • Cleans up the game scene upon the player’s death. Also records the player’s time internally.
    • GameTimer
      • Controls the counting clock at the top of the screen.
    • SceneSwitcher
      • KIT109 tutorial script.
    • SetBestTimeText
      • Sets the correct text in the best times menu.
    • SetEndGameText
      • Controls the text the player sees at the end of the game.
  • Laser beam scripts
    • HurtEnemyInRadius
      • Makes any enemy close to the point of impact take damage.
    • LaserBeam
      • Controls laser beam function, making it appear disappear, and display according to the player’s mouse position/input.
    • LaserOverheatManager
    • LineController
  • Misc/utility
    • ChangeColourWhenHurting
      • Makes the player/enemies flash red when taking damage
    • Utils
      • Contains a function to get the world coordinates of the screen (KIT109 tutorial script)
      • Also contains a function to detect the distance from a point to a line segment, and to find the closest point on that line segment (lets the robots know when they are close to the laser).
  • Player
    • PlayerHealthManager
    • PlayerHealthRegen
    • PlayerMovement
      • Allows the player to switch between flying and WASD movement.
  • Robot
    • AnimationEventObjectDestroyer
      • Destroys the robot when the explosion animation has finished (KIT109 tutorial script).
    • AvoidLaserWhenClose
      • Tells the seek script to move the robot away from the laser beam when it gets close.
    • EnemyHealthManager
    • HurtPlayerOnCollision
    • Mover
      • KIT109 tutorial script.
    • Seek
      • Modified KIT109 tutorial script.
  • Spawning
    • ControlSpawnPointFreedom
      • Prevents multiple totems from spawning in the same position.
    • EnemySpawner
      • Creates robots at a regular interval.
    • EnemySpeedUpOverTime
      • Increases the speed of newly spawned robots at regular intervals.
    • TotemSpawner
      • Picks a spawn point and spawns a totem there, at regular intervals.

Prefabs

  • Beam Impact
  • Laser
  • Player
  • Robo
  • Spawn Point
  • Totem

Some other stuff

  • A LaserBeam material asset, that lets the laser beam's LineRenderer component use the custom laser art.
  • Animation clips for the player and robots.

User guide

Title:

Super Survival

Controls:

WASD – regular movement

Right click – flight

Left click – shoot laser beam

Gameplay description:

The player must survive as long as possible while being chased by ever-increasing swarms of robot enemies. The player can ‘fly’, allowing them to move much faster than normal, but disabling laser beam functionality.

If the player is touched by a robot, they lose health from their health meter (bottom right of screen). The player’s health slowly refills.

As the player shoots the laser beam, the meter in the bottom left drains. When the player stops shooting, the meter refills. If the meter drains completely, there will be a brief period where the player’s laser vision ‘overheats’ and cannot be used any longer.

‘Totems’ will regularly appear around the map. These totems produce robots. The player can destroy these totems with the laser beam, preventing more robots from being spawned.

As the game goes on, the totems will respawn quicker and quicker, and the robots will increase in movement speed, making things more and more difficult for the player.

Main game screen

Main menu

Best times screen

End of game, when a new top time is recorded

 

Regular end of game screen

Files

super survival v5 (pre-submission).zip 9.4 MB
May 31, 2024

Leave a comment

Log in with itch.io to leave a comment.