Skip to content

Commit

Permalink
V3.4
Browse files Browse the repository at this point in the history
  • Loading branch information
HalloSpaceBoy5 authored Feb 18, 2024
1 parent a2599aa commit 2221307
Show file tree
Hide file tree
Showing 13 changed files with 865 additions and 118 deletions.
38 changes: 38 additions & 0 deletions Manuals/Breakout Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Breakout User Manual

Game Overview:
Breakout is a rewritten version of the game Breakout for the Atari 2600. It is a game where you control a paddle.
and try to bounce a ball off of it to break an array of colored blocks.

Important things to know:
- Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.
- The speed of the ball increases as you progress.

Gameplay:
When you start a new round, your paddle will be in the middle of the screen. You can press the A button to send
the ball off and begin playing. After breaking all of the blocks, you will encounter a win screen. Pressing A on
the win screen will start a new round with your score in tact. You can find your lives in the upper right corner
of the screen , and your score in the upper left. When your lives run out, you will get a death screen. When the 
death screen occurs, your score will be saved to the leaderboard.

Controls:
A - Launch ball
Left - Move paddle left
Right - Move paddle right
Start - Pause game/view scores

Scoring:
1st row: 100 points
2nd row: 50 points
3rd row: 25 points
4th row: 10 points
5th row: 5 points

Tips:
- Position your paddle to where the ball is going to be rather than where it is.
- Try to get the ball bouncing between blocks to increase the score fast.

Credits:
- HalloSpaceBoy: Porting to PicoBoy
- Steve Wozniak: Original game design
22 changes: 22 additions & 0 deletions Manuals/Demo Program Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
Demo Program User Manual

Game Overview:
This is a game designed to test the PicoBoy hardware and capabilities.

Gameplay:
You go through 7 stages that tests the PicoBoy hardware and capabilities
- The Intro
- The DVD Bounce Section
- A Chase the Goal Section
- A List Drawing Section
- A Button Testing Section
- A Closing Section

Controls:
It depends on the section, they will be explained.

Scoring:
None.

Credits:
- HalloSpaceBoy: Original Game Design and Programming
27 changes: 27 additions & 0 deletions Manuals/Flappy Bird Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Flappy Bird User Manual

Game Overview:
Flappy Bird is a game where you control a bird that flaps wildly to navigate a series of pipes.

Important things to know:
- Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.
- The speed of the game increases as you clear pipes

Gameplay:
You control a bird that flaps its wings to navigate through pipes. As you continue to dodge pipes, the speed that
the game runs at will speed up until you hit a pipe and lose.

Controls:
A - Flap
Start - Pause/View Scores

Scoring:
Each pipe adds one point to your score

Tips:
- Think about where a flap will take you far into the future, this makes it easier to not flap too high.

Credits:
- HalloSpaceBoy: Ported to PicoBoy
- Dong Nguyen: Original Game Design
49 changes: 49 additions & 0 deletions Manuals/Game Of Life Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
Game Of Life User Manual

Game Overview:
In the Game Of Life, a set of pixels are added to or subtracted from in accordance with these rules:

- Any live cell with fewer than two live neighbors dies, as if by underpopulation.
If a live cell has 0 or 1 live neighbors, it dies in the next generation.

- Any live cell with two or three live neighbors survives to the next generation.
If a live cell has 2 or 3 live neighbors, it remains alive in the next generation.

- Any live cell with more than three live neighbors dies, as if by overpopulation.
If a live cell has more than 3 live neighbors, it dies in the next generation.

- Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.
If a dead cell has exactly 3 live neighbors, it becomes alive in the next generation.

Following these rules, a simulation will play out that you can watch.

Important things to know:
- This is a zero-player game. There is no score and no lives. 
- If the simulation dies, you will go back to the drawing board.

Gameplay:
You can either draw patterns or choose random patterns to create your cells. You can then begin the simulation.
and watch the Game Of Life play out.

Controls:
Up - Move cursor up
Down - Move cursor down
Left - Move cursor left
Right - Move cursor right
A - Create cell
B - Destroy cell
Select - Create random pattern on screen
Start - Begin simulation/End simulation prematurely

Scoring:
There is no scoring.

Tips:
- Experiment! Have fun trying out ideas for cellular growth and patterns!

Credits:
- HalloSpaceBoy: Modifications to run on the PicoBoy
- Matthieu Mistler: Original port to Raspberry Pi Pico
- John Conway: Original Game Design


31 changes: 31 additions & 0 deletions Manuals/Minefeild SDK Demo Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
Minefeild SDK Demo User Manual

Game Overview:
Minefeild is a game that is meant to show off the PicoBoy SDK in an interesting and fun way. It is simplistic
game about moving on a grid and dodging mines to reach a goal.

Important things to know:
 - Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.
 - You move on a grid.
 - Sometimes reaching the goal is impossible.

Gameplay:
You control a robot that needs to dodge mines to reach a goal. If you touch a mine, you will have a game over. 
If you reach the goal, you will move onto the next level.

Controls:
Up - Move the robot up
Down - Move the robot down
Left - Move the robot left
Right - Move the robot right
Start - Pause/View Scores

Scoring:
Every level you clear increments your score

Tips:
 - Dont hold a button, you will go too fast and die

Credits:
 - HalloSpaceBoy: Original Game Design and Programming
38 changes: 38 additions & 0 deletions Manuals/Pac Man Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
Pac Man User Manual

Game Overview:
This is a port of the 1980 arcade classic Pac Man for the PicoBoy. It is a game where you eat pellets and run
away from ghosts. This port has all of the same rules with a simplified ghost AI to fit on the PicoBoy.

Important things to know:
- Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.
- At 5000 points, you will get a 1UP

Gameplay:
In Pac Man, your main goal is to consume all of the pellets in the maze that you are trapped in. While you collect
the pellets, you are chased by 4 ghosts: Blinky, Inky, Pinky, and Clyde. Each of these ghosts has a different AI
that is chasing you. Even though these ghosts are threatening, you can turn the tables on them by eating a power
pellet. This will make the ghosts scared, making them eatable for points. After clearing the maze of all of the
pellets, you will get a win screen. If you are killed by a ghost and lose all of your lives, you will get a game 
over.

Controls:
Up - Move Pac Man up
Down - Move Pac Man down
Left - Move Pac Man left
Right - Move Pac Man right
Start - Pause/View Scores

Scoring:
Pellet - 10 points
Power Pellet - 50 points
Ghost - 100 points

Tips:
- Use your power pellets strategically to minimize the ghosts on the map
- Hide in parts of the maze where the ghosts get confused

Credits:
- HalloSpaceBoy: Porting to PicoBoy
- Toru Iwatani: Original Game Design
36 changes: 36 additions & 0 deletions Manuals/Space Invaders Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Space Invaders User Manual

Game Overview:
This is a port of the 1978 classic arcade game Space Ivaders. It is a game where you play as a gunship fighting
against an array of aliens.

Important things to know:
- Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.
- The green squares above the gunship are sheilds that block player and enemy bullets.

Gameplay:
You control a gunship fighting aliens. Your goal is to take out the aliens before they take you out. If you
kill an alien, the others will speed up. As the aliens move about they will fire bullets down at you, if you
are hit, you will lose a life. If you can kill all of the aliens before they kill you, you win the
round and move onto a more difficult round. If you lose all three lives or the aliens reach you, you get a
game over.

Controls:
Left - Move the gunship left
Right - Move the gunship right
A - Fire a bullet
Start - Pause/View Scores

Scoring:
1st row of enemies - 10 points
2nd row of enemies - 20 points
3rd row of enemies - 30 points

Tips:
- Lead your shots to hit enemies more accuratley
- Use your sheilds as a cover and shoot through them

Credits:
- HalloSpaceBoy: Ported to the PicoBoy
- Nishikado Tomohiro: Original Game Design
34 changes: 34 additions & 0 deletions Manuals/Starship Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Starship User Manual

Game Overview:
Starship is a game where you dodge projectiles and stay alive for a certain amount of time. As the level
increases, the amount of time increases, as does the number of enemies. Starship was originally a game
written for the GameBoy by HalloSpaceBoy, but was ported to the PicoBoy for its better graphics.

Important things to know:
- Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.
- Your number of lives resets at the beginning of every level

Gameplay:
You control a spaceship, and your main goal is to dodge the projectiles fired at you by enemy ships. After a 
certian amount of time alive, you will pass the level and move on. If you lose all 3 lives in this time, you
will get a game over. In Starship, there are two different kinds of enemies: static enemies and follower enemies. 
Static enemies will stay in place and fire at a set rate; follower enemies will follow you on whatever axis
they move on while firing at you. 

Controls:
Up - Move spaceship up
Down - Move spaceship down
Left - Move spaceship left
Right - Move spaceship right
Start - Pause/View Scores

Scoring:
Every level that you pass adds one to your score.

Tips:
- Don't stay in one spot for too long; it will lead to sticky situations.

Credits:
- HalloSpaceBoy: Original Game Design and Programming
37 changes: 37 additions & 0 deletions Manuals/Tetris Manual.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
Tetris User Manual

Game Overview:
Tetris is a classic puzzle video game created by Russian game designer Alexey Pajitnov, first released in 1984.
It is a very fun and addicting game, making for a perfect addition to your library.

Important things to know:
- Your score will only be saved when you die; if you return to the home screen before that, your score will be
  lost.

Gameplay:
In Tetris, you must manipulate falling tetrominoes to fit perfectly together in the provided space. When a
perfect line of tetrominoes is completed, the line dissapears and the blocks above it fall down. If your stack
of tetrominoes gets too high, you will end up with a game over. As your score increases, the speed at which the
blocks fall increases, making for a well-paced difficulty curve.

Controls:
Left - Move tetrominoe left
Right - Move tetrominoe right
Down - Move tetrominoe down faster
A - Rotate tetrominoe clockwise
B - Rotate tetrominoe clockwise
Start - Pause/View Scores

Scoring:
- A single line clear: 40 points
- A double line clear: 100 points
- A triple line clear: 300 points
- A quadrouple line clear: 1200 points

Tips:
- Leave a 1-block wide gap to maximize quadrouple line clears

Credits:
- HalloSpaceBoy: Ported to the PicoBoy
- Vincent Mistler: Ported to the Raspberry Pi Pico
- Alexey Pajitnov: Original Game Design
1 change: 1 addition & 0 deletions PicoGameBoy.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
from time import sleep
from random import randint
import struct
import sys


class PicoGameBoy(ST7789):
Expand Down
669 changes: 551 additions & 118 deletions main.py

Large diffs are not rendered by default.

Binary file added picoboy-color.pbimg
Binary file not shown.
1 change: 1 addition & 0 deletions settings.pbimg

Large diffs are not rendered by default.

0 comments on commit 2221307

Please sign in to comment.