Skip to content

chloeho7/prisma-odyssey

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Prisma Odyssey Installation Creative Embedded Sys

Screen Recording 2024-03-21 at 11 29 59 AM (1)

Experimental Art Exploration Game Designed for 16-inch Macbook and Joystick (also supports WASD+SPACE controls and other sized screens) using Pygame

Watch Gameplay

Playing the game

  1. Clone this repo and cd into the created directory
  2. 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

How to recreate / play using the joystick

You do not need the following to play using the keyboard

Components

  • TTGO T-display ESP32
  • USB-C
  • Machine that supports Arduino IDE
  • Joystick
  • 5 Female to Female Wires

Enclosure Components

  • 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)

IDE and libraries

  1. Download Arduino IDE
  2. Launch the IDE and open the Settings/Preferences page: Ardunio --> Settings
  3. Copy and paste, https://dl.espressif.com/dl/package_esp32_index.json, into Additional Boards Manager URLs

Download Code and Upload to ESP32

  1. Download joystick.ino and open in the file in the Arduino IDE
  2. Connect the TTGO T-display ESP32 and your computer using the USB-C
  3. In the Arduino IDE select Tools and the corresponding Port
  4. Select Upload

Enclosure

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"

Assembly

  1. Lay out the pieces on a flat surface to ensure they fit together properly.
  2. 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.
  3. 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.
  4. Now check that the Joystick can fit between the sides and on top of the base. It should extend off the base.
  1. 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.
  1. Glue the Back Panel between the Triangle peices by aligning the edges of the same length and gluing the edges.
7. Glue a top cover on top of the connection between the 3 Shelf Sides. 8. Glue the other top cover at in parallel with the other top cover at the opposite end of the same side of the triangle.
  1. 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.
  2. 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.

Connecting

  • 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

Credits

projection and movement from here

Music:

SFX:

Releases

No releases published

Packages

No packages published