Final commit before submit

master
Jamie Munro 2 years ago
parent d8bb247efe
commit 5593acdccc
  1. 15
      README.md
  2. 2
      config.properties

@ -7,7 +7,7 @@ Micro:bit controller code [here](https://git.jbm.fyi/jbm/CS5041_P1_Microbit)
## Setup Instructions
1. Download controller.py and receiver.py from [https://git.jbm.fyi/jbm/CS5041_P1_Microbit](https://git.jbm.fyi/jbm/CS5041_P1_Microbit) (also included in zip).
2. Using your preferred micro:bit python flashing tool (I reccomend uflash) flash controller.py onto the first micro:bit.
2. Using your preferred micro:bit python flashing tool (I recommend uflash) flash controller.py onto the first micro:bit.
3. Unplug the first micro:bit, plug the second in and flash receiver.py onto it. Leave this micro:bit connected to your machine.
4. Connect a battery pack to the "controller" micro:bit.
5. Determine (using device manage or terminal) which serial port (index) your "receiver" micro:bit is connected to (this is usually 0 for linux and 1 for windows).
@ -31,29 +31,30 @@ Equipt with the latest starfighter, you have returned to Earth to find nothing b
\* Note: steering uses the micro:bit compass to determine which way the controller is pointed. In order to do this it needs to know what you consider the "middle" to be. The "steering neutral zone" (where the craft won't rotate) consists of an area headingThreshold degrees (5 degrees by default) either side of the "middle". The "middle" is set when you first start the game, but can be reset by pausing and resuming the game at any time.
### Gameplay
Fly around the map avoiding enemies and racking up points. Gain points by destroying enemies using your laser, or by dropping bombs. You only have a limited number of bombs, shown by the icons in the bottom right corner of the screen. Your score is shown in the top right corner. You have 3 lives, shown in the top left corner of the screen. You will take damage if you hit an enemy or an enemy projectile. If you take damage, but still have lives remaining, your sheild will be activated for 5 seconds, during which time you are invulnerable, but you can't use bombs. Your sheild will also be activated for the first 5 seconds of the game. Once you run out of lives, it's game over. You will earn an additional bomb every 25,000 points (but you can have no more then 5) and an extra life every 50,000 points (you can have more then 3). Try to survive as long as you can!
Fly around the map avoiding enemies and racking up points. Gain points by destroying enemies using your laser, or by dropping bombs. You only have a limited number of bombs, shown by the icons in the bottom right corner of the screen. Your score is shown in the top right corner. You have 3 lives, shown in the top left corner of the screen. You will take damage if you hit an enemy or an enemy projectile. If you take damage, but still have lives remaining, your shield will be activated for 5 seconds, during which time you are invulnerable, but you can't use bombs. Your shield will also be activated for the first 5 seconds of the game. Once you run out of lives, it's game over. You will earn an additional bomb every 25,000 points (but you can have no more then 5) and an extra life every 50,000 points (you can have more then 3). Try to survive as long as you can!
## Troubleshooting
- Game settings have been optimised for 1080p monitor, you should select and alternative viewport dimensions according to the method decribed in config.properties for different monitor sizes (or set resolution to 1080p).
- Game settings have been optimised for 1080p monitor, you should select alternative viewport dimensions according to the method described in config.properties for different monitor sizes (or set resolution to 1080p).
- Game controller often misbehaves when battery is low
- Sounds do not work in linux, this is because the required sound libraries are not included in the processing JDK. This issue is described [here](https://github.com/processing/processing/issues/968) but I was not able to get it working on my linux machine. The sounds work fine on Windows. Untested on Mac.
- Performance seems generally better on windows
- If the controller and reciever are communicating, the yellow LED next to the USB port on the receiver will flash when the game is open. If it is not flashing this indicates a connection issue.
- If the controller and receiver are communicating, the yellow LED next to the USB port on the receiver will flash when the game is open. If it is not flashing this indicates a connection issue.
- Connection issues can usually be resolved by resetting (using the reset button) first the controller and failing this the receiver as well.
- If this still does not resolve the issue, try disconnecting and reconnecting the battery pack on the controller (this seems to be required alot in windows for some reason).
- If this still does not resolve the issue, try disconnecting and reconnecting the battery pack on the controller (this seems to be required a lot in windows for some reason).
- If this still does not resolve the issue, try disconnecting the receiver from the machine and then reconnecting it. You will also need to restart the game.
- If the craft won't stop rotating and your sure the connection isn't the problem, pause the game to reset the steering neutral zone.
- If the game pauses repeatedly, this is usually becauase of a connection issue, or because the micro:bit logo has accumulated grime. If the connection is fine, try wiping down the logo with a tissue (often a quick wipe with a finger is enough).
- If the game pauses repeatedly, this is usually because of a connection issue, or because the micro:bit logo has accumulated grime. If the connection is fine, try wiping down the logo with a tissue (often a quick wipe with a finger is enough).
## Credits
- Coded in [Processing](https://processing.org/)
- Artwork drawn or modified with [pinta](https://www.pinta-project.com/)
- Credits for tile engine code [here](https://git.jbm.fyi/jbm/processing_tile_engine/src/branch/master/README.md)
- "Bomb" sprite adapted from andreasisnes's [Elitekollektivet.Minesweeper.Sprites](https://github.com/andreasisnes/Elitekollektivet.Minesweeper.Sprites) repo and originally by TCRF's Minesweeper (winmine31) on Windows NTF4/2000. Spritesheet [here](https://github.com/andreasisnes/Elitekollektivet.Minesweeper.Sprites/blob/master/minesweeper/images/tiles/2000.png)
- Player death, asteroid explosion, forward/reverse/rotation engine, sheild and shoot sounds effects from [kenney's](https://kenney.nl) [Sci-fi sounds pack](https://kenney.nl/assets/sci-fi-sounds)
- Player death, asteroid explosion, forward/reverse/rotation engine, shield and shoot sounds effects from [kenney's](https://kenney.nl) [Sci-fi sounds pack](https://kenney.nl/assets/sci-fi-sounds)
- Pause and Resume sounds from [kenney's](https://kenney.nl) [Interface sounds pack](https://kenney.nl/assets/interface-sounds)
- Music tracks - Cold Moon, Cyber REM, Dystopic Factory, Escape from the Insane Machines, Light Years, Retro Sci-fi Planet, Sector Off Limits, Terraforming Begins and Trouble on Mercury and bomb sound effect by [Eric Matyas](https://soundimage.org/)
- "Boss" sprite inspired by Taito/Midway/Tomohiro Nishikado's Space Invaders crab (1978)
- Font used is Andale Mono by Steve Matteson
## Licence
Copyright 2022 Jamie Munro, All Rights Reserved.

@ -157,7 +157,7 @@ thresholdX=180
thresholdY=280
#Compass threshold for game to recognise as input (degrees)
headingThreshold=5
headingThreshold=6
###################################################################################################
# MOVEMENT PARAMETERS #

Loading…
Cancel
Save