Skip to content

Commit

Permalink
update documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
thepigeongenerator committed Dec 1, 2024
1 parent 696ea54 commit f7b2532
Show file tree
Hide file tree
Showing 6 changed files with 22 additions and 8 deletions.
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,26 @@
![showcase](docs/showcase.gif)

## project info
I was unsatisfied with the [original version](https://github.com/thepigeongenerator/SpaceShooter) which I go more into detail in that repo. But, this project is a redesign of that one, where I attempt to use a more functional design in the code.
# project info
A school project in which I needed to create a space shooter utilising C# and MonoGame. This project contains a "Core" assembly, where a lot of the behind the scenes game logic comes into play. Think about game objects and calling methods such as Draw() and Update() on these game objects (if implemented). The other assembly is more focussed around the Gameplay logic and data. In this project I used two of my libraries: [BinarySerializer](https://github.com/thepigeongenerator/BinarySerializer) and [PixelControlLayer](https://github.com/thepigeongenerator/PixelControlLayer). Alongside the [MonoGame framework](https://monogame.net/).

### features
- You can move the spaceship around using `A` and `D`.
- View hitboxes when pressing `F3`
- The spaceship's [texture](./SpaceShooter2/Content/spaceship/) has a subtle animation where the lights "blink"
## features
### keybinds
- You can move the spaceship around using `A` and `D`, or `<-` and `->`.
- View hitboxes when pressing `F3`[^hitboxes]
- Instantly kill the player when pressing `F12`

### gameplay
- The spaceship continuously shoots "bullets" to destroy the asteroids.
- Asteroids are spawned in at the top of the screen with a random rotation size, and X position.
- Sometimes an unbreakable astroid is spawned in; these ones are spawned directly above the player and as the name suggests; can't be destroyed by the player. Their asteroid texture is darkened to visualize this.
- Asteroids are spawned in at the top of the screen with a random rotation size, and X position. Smaller asteroids are lighter than larger ones.
- Sometimes an unbreakable astroid is spawned in; these ones are spawned directly above the player and as the name suggests; can't be destroyed by the player. Their asteroid texture is darkened regardless of their size to visualize this.
- The player's health is shown in the top left of the screen, the score and highscore is shown in the top right.
- Each asteroid destroyed by a bullet yields 10 "score".
- If an asteroid hits you, the player flashes red, and 1 health is subtracted.[^damage]
- If the player's health reaches 0, the lose screen will be shown.[^lose]
- The highscore is stored locally in a binary file when the game exits.
- The spaceship's texture has a subtle animation where the lights "blink"[^texture]

[^hitboxes]: here is an example of hitboxes being shown: ![green circles are drawn around asteroids, and a green triangle is drawn around the spaceship. The bullets have blue lines going all the way up to the screen.](docs/hitboxes.png)
[^damage]: here is an example of the spaceship flashing red when being damaged: ![the spaceship texture is tinted red](docs/damage.png)
[^lose]: here is an example of the lose screen: ![a red dotted background with text at the top indicating a score of 690 and 710. With the text "you lost" in the centre, with underneath stating that you need to press enter, if you wish to exit.](docs/lose.png)
[^texture]: [view the texture files here](./SpaceShooter2/Content/spaceship/)
Binary file added docs/damage.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/gameplay.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/hitboxes.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/lose.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/showcase.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit f7b2532

Please sign in to comment.