Experimental Art Exploration Game Designed for 16-inch Macbook and Joystick (also supports WASD+SPACE controls and other sized screens) using Pygame
- Clone this repo and
cd
into the created directory python3 prisma_odyssey.py
To play with the Joystick, it needs to be connected before launching game and will crash the game if disconnected mid game
You do not need the following to play using the keyboard
- TTGO T-display ESP32
- USB-C
- Machine that supports Arduino IDE
- Joystick
- 5 Female to Female Wires
- 1/16" x 4" x 12" Basswood (can also use balsawood, cardboard, etc.)
- Wood glue (or super glue, hot glue etc. depending on materials)
- Scissors
- Measuring Tool
- Leather & Leather glue (optional)
- Download Arduino IDE
- Launch the IDE and open the Settings/Preferences page: Ardunio --> Settings
- Copy and paste, https://dl.espressif.com/dl/package_esp32_index.json, into Additional Boards Manager URLs
- Download
joystick.ino
and open in the file in the Arduino IDE - Connect the TTGO T-display ESP32 and your computer using the USB-C
- In the Arduino IDE select Tools and the corresponding Port
- Select Upload
Measure and mark the dimensions for each piece on the balsa wood sheets according to the following specifications:
- 1 Back Panel: 2 5/8" x 1 5/16"
- 2 Side Triangles: Cut right triangle piece with a diagonal of 3 1/4" and a height of 1 7/8", and a base side measuring 2 5/8"
- 1 Door: 2 3/8" x 1 1/8" ( You can also measure this later using the gap between the two triangles peices)
- 1 Shelf Base: 1 1/4" x 1 1/4" ( Approx. Slightly Wider and Shorter than Base of Joystick )
- 1 Front Shelf Side: 1/2" x 1 1/4"
- 2 Shelf Sides: 1 3/8" x 1/2"
- 2 Top Covers: 1/4" x 1 3/8"
- Lay out the pieces on a flat surface to ensure they fit together properly.
- Set the Shelf Base on a flat surface and Glue the Front Shelf Side peice to one of the sides by aligning the edges of same length to create an L shape.
- Glue the 2 Shelf Sides on parralel sides of the Shelf Base so the Side peices create a U shape on top of the Shelf Base peice.
- Now check that the Joystick can fit between the sides and on top of the base. It should extend off the base.
- Cover the Shelf Side Panel with glue on the side facing away from the other panel and attach to the triangle corner with long sides of the shelf sides in parallel to the 1 7/8" side of the triangle, and repeat with the other side & triangle.
- Glue the Back Panel between the Triangle peices by aligning the edges of the same length and gluing the edges.
- If you are okay with taking apart the enclosure to access the ESP32, (after connecting the joystick and ESP32) glue the door in the gap between the two triangles on the 2 5/8" side towards the shelf side such that there is a gap for the USB-C cord opposite of the joystick and shelving.
- If you want to be able to access your ESP32 without taking apart the enclosure tape the door, use a hinge or attach leather peices evenly spaced along one of the long sides the door and attach the other end of each of the leather strips to the inside of the enclosure on a triangle. I reccomend attaching the leather / hinge on the opposite side of your dominant hand when looking at the gap, this way when you are holding the enclosure you hold the door closed.
- Joystick GND -> bottom right Ground on the TTGO
- Joystick 5V -> bottom right 5V
- Joystick VRx -> TTGO 27
- Joystick VRy -> TTGO 26
- Joystick SW -> TTGO 25
- Plug USB-C into computer and the ESP32
projection and movement from here
Music:
- Heavenly_ambience_NickR2020.wav by NickR2020 -- https://freesound.org/s/522053/ -- License: Attribution 3.0
SFX:
- Game FX #1 by danlucaz -- https://freesound.org/s/517755/ -- License: Creative Commons 0
- Time warp effect by chinomaker -- https://freesound.org/s/324644/ -- License: Creative Commons 0