How do astronauts go to the bathroom in space?

Brian Nguyen – 3160984

Nik Szafranek – 3173634

 

Team Roles

Brian – Creative and Development

Nik – Creative, Design and Asset Creation

Concept

Our project is a three player space survival co-op game. Players each have a role they must play on the space station in order survive until help arrives. Player 1 is the engineer of the ship, and must repair problems inside the ship. Player 2 is the pilot of the ship, they must steer the ship out of the way of asteroids and other space junk. While they are dodging the asteroids, items inside the ship will be affected by the thrust. This makes player 1’s job of acquiring items directly linked to player 2’s performance. Player 3 takes on the role of being the antagonist of the players. They control the path the asteroids will spawn on and their goal is to destroy the ship before help comes.

Inspiration

 

Our book inspiration is from How Do You Go To The Bathroom In Space. The book answers questions regarding daily functioning while in space written by a former astronaut. We brainstormed many different ideas based off this topic such as a toilet building game, reverse magic 8-ball style game, and even an AR experience. But settled on a Kings Quest inspired point and click game, which is where player 1 is heavily influenced. From then on we bounced ideas on how this make this an interactive, multi-user experience. Where eventually we ideated to create a space survival game, stemming from works such as Spaceteam, Keep Talking and Nobody Explodes, and Don’t Starve. Our original concept is different from our final due to time constraints. In the original concept, player 3 would be someone at Mission Control providing troubleshooting info from a manual. Similar to how the book itself is structured.

 

The order of events originally planned was as follows:

  1.    Start
  2.    Asteroid
  3.    Air filtration breaks
  4.    Waste full
  5.    Solar Panel hit by small meteorite;
  6. a)    X amount of time before power level too low.
  7. b)   Low power lights
  8.    Sensors scrambled; Pilot can’t see Engineer
  9.    Magnetic storm/Solar Flare; no contact with mission control for 1 hr
  10.    Pipe leak
  11. A)   Hole starts to grow because items are pulled into it.
  12. B)   Pipe breaks
  13. C)   Hull integrity damage
  14.    Toilet clogged
  15.   1 thruster is broken
  16. A)   restart
  17.   Film
  18.   Film on camera runs out
  19. A)   Replace film
  20. B)   Swap out film
  21.   Thermostat breaks
  22.    X amount of time before it is too hot
  23.    Certain equipment won’t work if too hot
  24.    Easier to miss keys; image distortion
  25.    Die of heat stroke

Pliers

PDA/Walkie Talkie

Gag items

Duct Tape

Water

Air Tank

Space suit

Electrical Gloves

 

Planning

We chose p5.js for the project because we were both comfortable using it and could develop the project quickly enough for the timeline. In hindsight, it might of been easier to learn and use Unity to build the point and click adventure game as there are no available libraries to aid in the creation. Clicking on objects in p5 takes a little extra time to setup the collision detection and classes, essentially we had to create a 2D game engine from scratch.

Implementation & Issues

The final implementation consists of three p5 sketches connected through PubNub. Assets were made with Affinity Designer. Player 1 uses p5.scenemanager.js to handle switching between rooms. Every room is split up into their individual js file for organizability.  

Networking Diagram

Data

  • Game over state – Boolean
    • Used for all players to determine when the game is over
  • Thrust direction – “up” or “down”
    • Used by player 1 to shift around items on the screen when player 2 moves the ship
  • Ship position
    • Displayed on player 3’s screen of where the ship is
    • Updates only when player 2 stops moving as a balancing decision, during movement it will not update.
  • Asteroid X Position
    • The x position of where to spawn the next asteroid, set by player 3 and then used by player 2.

Demo & Code

Github Repo w/ Commented Code

https://github.com/notbrian/Atelier2-Book

 

Link to live links

https://notbriann.com/Atelier2-Book/player1/player1.html

https://notbriann.com/Atelier2-Book/player2/player2.html

https://notbriann.com/Atelier2-Book/player3/player3.html

Experiment 4 – Script redux

Nik Szafranek

I ended up trying to push the code further for Experiment 2. The code still doesn’t work but I’m getting somewhere. I was particularly drawn to this as I’ve always been fascinated with writing and linguistics, I really enjoyed the challenge despite it not getting it working in the end and I feel like I’ve gotten more comfortable with code. I hope to explore further.

Here is the link to the code:

https://github.com/nszafranek/Script

I have gotten it to recognize chunks of text and split them into component characters but I’m still struggling with concatenating and displaying the artboard-1

Experiment 1 – Image To Sound – Nik Szafranek

 

//Basic Concept

Simple script to convert raw image data into raw audio data by tricking the very simple tag system in Base64.

//Rationale

installationposter

The jumping off point was an attempt to extend part of a previous project which focused on mixing in sound from various different sources and just muck about with code. It has been made to work with Python, as we can see as can be seen here: https://www.hackster.io/sam1902/encode-image-in-sound-with-python-f46a3f but as I was more familiar with Javascript I thought I’d try my hand at it that way, adding in what we’ve learned with p5. It doesn’t actually work, though.

//Code Outline

1. Get image
2. Convert Image to Raw Data
3. Convert Raw Data into a form that can be coherently turned into sound
4. Play sound
5. Save Sound

//Github Link

https://github.com/nszafranek/Image-to-sound
//Code snippets from:
https://thebestschools.org/magazine/turn-data-images-into-sounds/

Removing A Character From The Start/End of a String In Javascript


https://stackoverflow.com/questions/1789945/how-to-check-whether-a-string-contains-a-substring-in-javascript
https://stackoverflow.com/questions/4366730/how-do-i-check-if-a-string-contains-a-specific-word
https://stackoverflow.com/questions/17762763/play-wav-sound-file-encoded-in-base64-with-javascript

How to remove text from string in JavaScript ?


https://stackoverflow.com/questions/6094117/concat-to-string-at-beginning