You are a gunslinger octopus whose job is to deliver packages. You must successfully navigate the seafloor, evading all sharks and eels to collect and deliver packages to your customers.
- render octo & octo moving()
- octo has projectiles
- add enemy shark: has health bar, is moving correct direction
- add packages: 1. create package class, 2. render
- fix bug on shark collision
- add more sharks
- background music
- octo health render, decrease when touching shark
- octo & package collision logic
- score bug
- restart & game over screens
- add package score when octo collides
- SFX
- bug on loading screen
- octo & squid collision
- randomize squid position & velocity
- bug on
x
close button & game over screen, pinpointed toself.playing
&self.running
vars - render G.O. screen on player kill
- fix bug: octo still shooting when not visible
- ✅ Render octopus with game controls
- ✅ Detect collisions and have feedback in the game
- ✅ Game success & game over scenario
Tech Personal Goals:
- Know how to manage state, controls, & collision using the PyGame physics engine
- Use scenes if possible
- Use open-source sprites if possible or create one. Use static images for now.
Creativity Goals
- Make sure to tie in Octopus-related themes:
- 8 lives
- 8 packages to return
- Produce some images, possibly a sprite sheet
- ESC quit game
- SPACEBAR shoot ink bullets
- UP move octopus up
- DOWN move octopus down
- LEFT move octopus left
- RIGHT move octopus right
My environment is already optimized for MacOS and VS Code. Here's how I got started:
- Check to see if you have Python already installed via command
Python3 --version
- If it returns something like
Python 3.7.0
then you're good. You can update your current version if you like. - Run
which python
to check that the path is something like/usr/local/bin/python
- If you don't have Python installed a.k.a. nothing returned or there was an error when you typed in
Python3 --version
then you can enterbrew install python3
- If you are using macOS Mojave, there's a known bug between pygame and Mojave. I recommend not installing via
brew install python3
and using this instructions instead:
https://www.python.org/downloads/release/python-370/ for python 3.7.0 and install
verify: python3 --version should be 3.7.0
then:
pip3 install pygame
(installed 1.9.4)
Then use the command python3 file_url
to initiate. Ex: python3 /Users/trisha/projects/ods/main.py
.
Install extensions on VS Code. This is mainly:
- Python
- Python Extension (by Don Jayamanne)
- Code Runner (run a script file via CTRL + ALT + N)
- Pylinter
- Follow along this awesome free book by Allen D. Downey Think Python: How to Think Like a Computer Scientist
- Clone this repo: OctoGun Repo or
git clone https://github.com/thinkful-ei26/octo-delivery-service.git
- Open a new terminal shell and then
cd
into a directory that you want to clone the repo in - Install pygame
python3 -m pip3 install -U pygame --user
- Finally, enter the command
python3 main.py
and you will see a blue window prompting you to press any key. - Game controls are:
- Arrow keys to move
- ESC to quit the game
- Spacebar to shoot
Note: I apologize if the graphics look like a 5-year old drew it. I drew most of the assets using MS paint. 😂 I also used BFXR for the sound effects. The background music is from an open source website OrangeFreeSounds.
- [] create new stage
- [] data/high score persistence
- [] deploy as a Stand Alone App
- [] close button needs to be pressed twice to exit program, but a player can just press
ESC
key to quit the GUI