-
Notifications
You must be signed in to change notification settings - Fork 1
The Void Entity
The void is a constantly moving entity that spawns to the left of the player and acts as the main enemy/obstacle, if the player touches the void all of their life is removed. The method to create the Void entity is defined in the NPCFactory
class, the stats for the void are defined in the TheVoidConfig
class which basically define the Void as an Entity with 1000000 health and 1000000 base damage. The createTheVoid()
method is called within the LevelGameArea
class to spawn it into the world at a position to the far left of the player. The behaviour of the Void is managed by TheVoidTasks
, this class is used to trigger events defined in TheVoidController
which moves and animates the Void as well as updates the Void's sound volume.
Within the class TheVoidTasks
the event TheVoidMove
is being constantly triggered which causes the void to move across the screen towards the player, however it was found that by setting the void to move at a constant speed the player would either very easily escape the void or they would be constantly killed by it. Therefore, there is a function "UpdateSpeed" that increases the void's speed if the player gets 12 m away from the player and sets the void's speed back to normal within the 12 m range. This essentially ensures that the void is no more than 12 m behind the player to keep pressure on the player throughout the game.
The Void's animation is implemented through the use of a sprite sheet animated_void.png
and a .atlas file void.atlas
, these 2 files are attached to the Void entity in the method createTheVoid()
in the class NPCFactory
. When the game starts the event TheVoidAnimate
is triggered by the class TheVoidTasks
which begins the void animation.
The void emits its own sound which increases as the player gets closer to the void and decreases as the player gets further away from the void to invoke a sense of urgency and danger. In the class TheVoidTasks
the event UpdateSound
is being constantly triggered, this event calculates the distance between the player and the void and scales the volume accordingly.
Initial inspiration came from Super Smash Bros. Ultimate - Classic Mode: Bonus Game (it can be seen in action here https://www.youtube.com/watch?v=0-I2nlZlQy0) it depicts an ominous purple void approaching the player
A number of designs for the void were created using InkScape and Adobe Illustrator, and as they progressed they slowly evolved to fit the theme of the game. Initial concept art ideas tried to experiment with different shapes, patterns, styles and designs that could fit the technology and sci-fi theme.
The image below is one of the very first concept ideas of the void (by Michelle), designed prior to conceptualising a particular design style for the game. It incorporates fine lines, binary patterns and dark colours, trying to achieve a futuristic yet threatening void. As the overall game style was developed, iterations were made taking some of these themes and elements, such as binary code, and experimenting with how it could be incorporated into the design.
Initial Concept Art by Michelle
This is also one of the initial concept art for the void. It has an animated binary pattern and a dark tone giving an ominous vibe. It was not implemented however because it does not match the map aesthetic and it was difficult to implement the animation. (Made by Iris)
Various designs were created throughout the design exploration and ideation of the void, as seen below. One design tried to incorporate relevant imagery and styles related to antivirus software, such as a shield-shaped void. Others just tried to include a modern tech style, using "tech line" patterns that emulate a digital environment.
Most designs saw the use of darker hues of blue for the larger, main body of the void, only using more vibrant tech-inspired accent colours, such as neon blues, to highlight particular features and patterns of the design. Predominantly darker colours were included in the design to add to the looming experience of an enemy void approaching the player.
As the overall style of the game became more established, which incorporates a simplistic artstyle with a more flat design approach, the design of the void had to be consistent with the rest of the game. The following is one of the first designs to meet the artstyle and sci-fi aesthetic of the game. Inspiration was taken from the design of the game menus, and integrated with other design patterns previously explored. The back portion of the void however tapers inward and doesn't cover the map entirely, and thus was not used. Though, aspects of this design were kept for the void's design.
Changes were made in regards to the previous design, especially with the colour palette, from a blue palette to red-purple theme to provide some contrast from the game's background and map design. The design continues to incorporate a tech inspired aesthetic. This is animated in the game, with the wire tech lines changing in gradient, to simulate movement of the void, and the antivirus scanning what it devours. The front of the void also rotates to animate the void.
Some minor iterations were made to the void's design, with the current and most recent design shown below.
Testing Plans
Team 1
Team 2
Team 3
Team 4
Team 5
Team 1
Team 2
Team 3
Team 4
Team 5
User Testing
Sprint 1 - Game Audio
Sprint 1 - Character Design
Sprint 1 - Menu Assets
Sprint 1 - Map Design
Sprint 1 - Void
Sprint 2 - Game Audio
Sprint 2 - Character Design
Sprint 2 - Menu Assets
Sprint 2 - Interactable Design Animation
Sprint 2 - Levels 1 & 4, and Level Editor
Sprint 2 - Proposed Level 2 & 3 Designs
Sprint 2 - Current Game State
Sprint 3 - Menu Assets
Sprint 3 - Map Design
Sprint 3 - Score Display
Sprint 3 - Player Death and Spawn Animations
Sprint 3 - Pick Ups and Pause Screen
Sprint 4 - Gameplay
Sprint 4 - Game UI and Animation
Sprint 4 - Level Background and Music
Sprint 4 - Game User Testing
Sprint 4 - Final Game State Testing
Entities and Components
Status Components
Event System
Player Animations Implementation
Development Resources
Entities and Components
Level Editor (Saving and Loading
Multiple Levels)