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
- The only piece of art taken from a third party. Author: Screaming Brain Studios Source: https://opengameart.org/content/seamless-sky-backgrounds
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.
- BestTimeNameInput
- 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
- Animates the laser beam.
- Author: Shack Man Source: https://youtu.be/VvjIUIlso9M?si=5zmS-CFiI9WJcbqX
- HurtEnemyInRadius
- 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).
- ChangeColourWhenHurting
- 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.
- AnimationEventObjectDestroyer
- 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.
- ControlSpawnPointFreedom
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
Status | In development |
Author | F e z |
More posts
- Devlog - TestingJun 02, 2024
- Game TestingMay 25, 2024
- Devlog - Presentation and GraphicsMay 19, 2024
- Devlog - Enemies and InteractionMay 12, 2024
- Devlog - Basic Level BlockingMay 05, 2024
- Devlog - Player movementApr 28, 2024
- Game conceptApr 19, 2024
Leave a comment
Log in with itch.io to leave a comment.