This project is a displayio based CircuitPython port of a classic Nintendo Game & Watch handheld game titled Octopus. It's made to run on PyGamer and PyBadge devices (including PyBadge LC and EdgeBadge).

The game centers around 3 divers trying to retrieve as much treasure as they can from a sunken ship. The player controls one diver at a time, moving them forward and backward to dive into the water, move across the seabed, grab treasure from the chest, and then retrace their watery steps back to the boat to haul in their catch. The treasure is guarded by a giant octopus with several outstretched tentacles waiting to snatch any diver who gets too close at the wrong time. 

The guide is intended to cover the general process of porting low-complexity games to CircuitPython, and Octopus is the specific one I've done. But the techniques and process shown can be used to implement other basic games, whether they were originally Nintendo Game & Watch, or anything else!

The graphics in the game rely heavily upon the principals in displayio. If you don't have any experience with it yet, it's probably good to have a look through the main displayio learn guide, then come back here to work on the game.

The majority of the project code was developed during live streams. This YouTube playlist contains the videos of those streams in chronological order if you'd like a more in depth look at the development process.


Adafruit PyGamer Starter Kit with PCB, enclosure, buttons, and storage bag
Please note: you may get a royal blue or purple case with your starter kit (they're both lovely colors)What fits in your pocket, is fully Open...
Out of Stock
Angled shot of Adafruit PyGamer for MakeCode Arcade, CircuitPython or Arduino.
What fits in your pocket, is fully Open Source, and can run CircuitPython, MakeCode Arcade or Arduino games you write yourself? That's right, it's the Adafruit...
Out of Stock
Top view of Adafruit EdgeBadge - Display reads "Test the TensorFlow lite voice model. Press and hold A button, say YES or NO, and see if the machine learned!".
Machine learning has come to the 'edge' - small microcontrollers that can run a very miniature version of TensorFlow Lite to do ML computations. But you don't...
Out of Stock
Angled shot of a Adafruit PyBadge for MakeCode Arcade, CircuitPython, or Arduino.
What's the size of a credit card and can run CircuitPython, MakeCode Arcade or Arduino? That's right, its the Adafruit PyBadge! We wanted to see how much we...
Out of Stock
Angled Shot of Adafruit PyBadge - Low Cost.
What's the size of a credit card and can run CircuitPython, MakeCode Arcade or Arduino even when you're on a budget? That's right, it's the Adafruit...
Out of Stock

This guide was first published on Aug 31, 2022. It was last updated on Apr 23, 2024.

This page (Overview) was last updated on Mar 08, 2024.

Text editor powered by tinymce.