# Overwiew

This is the game design document (commonly referred to as GDD) for 'Spinner'.
You can view the design board [here](https://miro.com/app/board/uXjVJrLKFaM=/)
and play the game [here](https://pashabibko.itch.io/).

# **The Mobius Line**

Your job is to survive as long as possible and score the most ammount of points as you are able.
Avoid getting sucked into the middle of the screen or float away from the bounds of the screen whilst
doging the obstacles and enemies.

### **Contents**

- 1.1 Genres
- 1.2 Target audience
- 1.3 Unique selling points
- 1.4 Visual and audio style
- 1.5 Platforms, Technology and Scope
- 2.1 Core loop
- 2.2 Objectives and Progression
- 2.3 Game systems
- 2.4 Interactivity

### **1.1 Main Genres**

The main genre for the game is 'survival'.
This is implemented by making the game get harder and harder as the game progresses whilst the player tries to get a higher and higher score.
Players will encounter different enemies that hitting them will cause them to die, they will start of as small objects but progress to a bigger objects
that can fire projectiles and fire beams.

### **1.2 Target audiences**

The main target audiance of "Spinner" will be teenage boys as they spend lots of time on their phones and
like to play games that are skill based and require testing of fast reaction times.
Although the game is aimed at teenage boys it will be designed to be played by anyone by keeping the game
as simple as possible

##### **Age rating**

The game will be suitable for all ages although it is recommneded for ages 6 and above.
this is because the game features a lot of fast reaction based gameplay and can be slightly rage inducing
due to the survival element that can cause a single mistake to ruin an entire 10+ minute run.

### **1.3 Unique selling points**

##### **- Infinite replayability**
All of the levels within the game will be randomly generated as the player progresses with the aims to create
new experiences every time so the player can get the most out of it as possible.

##### **- Easy to pick up and put down**
Upon loading up the game the player will instantly have a play button in the middle of their screen so they can
start the game as quickly as possible without any downtime. The levels are also short and snappy so players will
not have to worry about having to commit large ammounts of time per playing session.

### **1.4 Visual and Audio style**

The general theme of the game will be to keep designs simplistic, which will also apply to the art and audio design.
Visually the game will be easy to look at with minimalistic colour schemed vector art aiming to use as simple shapes as possible.
As enemies get more and more powerful with different attacks they will gain more verticies as part of their shapes,
such as transitiong from a square to a hexagon.
Hopefully this will make the player understand that a triangle is less dangerous than a octagon.

To mirror the visual style the audio will also be kept simple with small sound effects on player death and close collision with objects.
This will be accompined by a simple basic music background to not overwhelm the player/ 

### **1.5 Platforms, Technology and Scope**

The game will primarily be made for mobile IOS and Android devices with touching the screen to be the only way for the player to interact.
It will also be able to played on a PC with using the mouse as the input device.
Unity will be the game engine that I will use to develop the game in.
I plan to create the final product within a couple of weeks and the first playable version to be in the first few days.
One of the aims of the game is that it will constantly provide new challenges for the player so players can play as much as they want.

### **3.1 Core loop**

The main loop of the game will be to:
1. Survive through as many levels as possible
2. Buy upgrades if they can
3. Repeat

The loop of levels will be to:
1. Introduce a new enemy
2. Remind players of a previous enemy
3. Combine them together to create a new challenge
4. Repeat

### **3.2 Objectives and Progression**

In each run the player will progress through the levels one by one and able to progress as much as they are able to.
Completing levels will grant the player score and introduce them to new enemies, power ups and mechanics.

Upon beating the level the player will gain currency relative to their player score.
This currency will be stored over between different runs and allow the player to upgrade different aspects of their kit.
Doing this will make it easier for the player to gain a new high score and hopefully make it easier for them to enjoy the game.

### **3.3 Game systems**

- ##### Level flow

> All objects will be orbiting a black hole in the centre of the screen whilst slowly being sucked in.
> The players only input will be to increase the distance between them and the black hole.
> However in every other level the black hole will be replaced by a white hole pushing all objects away
> and the players movement will be inverted making them only able to increase the distance between them and the white hole.

- ##### Enemies

> Small objects will spawn with the level that are also affected by the 'Level flow' these will cause the player to die on collison with them. 
> They will be moving at a different speed to the player so they have to dodge them.
> As the player enters higher and higher levels the enemies will become harder to dodge by increasing in size and spawning projectiles.

- ##### Powerups

> Powerups will occasionally spawn throught levels, they will all have the same appearance but have randomised effects.
> Most of these effects will benefit the player such as: short time inverability, gain X points or slowdown enemies.
> However a small percentage of these will make the players time harder such as: increasing the player size or speed up the player.
> By making it so not all powerups are a benefit the player will be taking a risk by picking them up hopefully increasing their enjoyment.
