===Co-Op Puzzle game===

Semensterproject


For my final project of this semester I would like to continue and finish developing this “Two-Player Puzzle-game”. The mechanic of two patchers interacting with each other really fasinated me, so I wanted to create something with the objects that made this funtion possible: "udpsend" and "udpreceive". It would be played on two separate computers and with two separate players, which can only communicate through the message boxes that are connected to these objects. The players would have to solve different kinds of puzzles by cooperating with each other and exchanging information. They would go through multiple levels to get to the end of the game.


Information exchange1.jpg


Here is how the game would work in theory: Every level contains one puzzle that is split into two parts, one part for each of the players. For example player one has the base information in their patcher that player two needs to understand and solve their side of the puzzle. So, player one needs to convey this information to player two by writing it to them via the message boxes. Player two can then use this information to decode their side of the puzzle and get for exampel a number code. This code (new information) then can be conveyed back to player one because they both need the code to "unlock" a prize for solving the puzzel but most importantly both players are needed to move forward in the game

This game is build on the curiousness of a human and the willingness to work together, to achive a goal, as well as the friendliness/understanding to share the information, so both player can get to the reward and advance in the game.


Puzzel Sketch.jpg


With the reward "unlocked" the level would be completed and both players can advance to the next stage. Each level would be harder than the one before but so far I was only able to create the first level, where the players are told what the main mechanics of the game are and how everything works.


Here are the MAX patchers for the two players:


Patcher for Player 1: File:Puzzel Game Player 1.maxpat

Player 1 needs to download the file for the morse code audio. This file needs to be put in the same directory as the general max files. The audio file for the morse code needs to be draged and droped into the the playlist on the left side of the phone. This is also shown in the setup video. It generally demonstrates the mechanics of the game patcher.

File:Audio file morse code.zip

Setup video for Player 1: https://youtu.be/TlXoWFeIv0s


Patcher for Player 2: File:Puzzel Game Player 2.maxpat

Player 2 does not need to download any files. The video demonstrates the mechanics of the game patcher.

Setup video for Player 2: https://youtu.be/W6m56P8mvBY


This video explains the the the funtions of the two patchers in more detail and shows how they interact with another: https://youtu.be/ouxpdBoTXAM


The most important mechanic of this game is the way the players communicate with each other. This is made possible through the objects "udpsend" and "udpreceive". The two players have one of each of those object. Connected to the object "udpsend" is a "textedit" object as well as "custom writing pad" which consicts of many message boxes. The "textedit" object can be used when the patcher is locked. The player can write a text and send it to their counterpart when clicking a messag box that has written "send" in it. The pad can also be used when the patcher is locked. Clicking the message boxes arrages what is written in them into a text in a seperate message box. For player one they consist of the word "short" and "long", while for player two they are numbers from 0 to 9. If the player thinks that their arragned message is wrong they can delete is by pressing the message box that has am "X" written inside it. If they think in it correct they need to press the message box that says "OK". Connected to the "udpreceive" object are two message boxes that show each player what message the other has send them. Everytime when one of the players receives a message, no matter if self written or separately arranged, the player gets notified by a short melodie playing.

The actual part of the puzzel that player ones patcher contains are the visual and audio representation of a morse code. Morse codes can be deconstructed into "long" and "short" beeps, that tanslate into letters or numbers. The player can use the pad with these prompts at the bottom of their phone to more easily communicate the code to player two. Player twos part of the puzzel consists of an image of numbers and how they translate into morse code. With the "long" and "short" beep messages from player one, player two can translate the code back into numbers. With the pad on the bottom of their phone they can more easily tell player one the code, so they can both unlock their reward.

Resources

Here are a few links to some interesting projects:

https://cycling74.com/projects/forms-generative-visual-music

https://cycling74.com/projects/forms-screen-ensemble

https://cycling74.com/projects/held-meiner-tr%C3%A4ume-my-hero-%E2%80%93-interactive-sound-pendulum-%E2%80%93-mixmux-duo-application-example

https://cycling74.com/projects/broken-umbrella-strings

https://cycling74.com/projects/plantconnect


https://www.youtube.com/watch?v=JCmoN0Bbdg8

Notes

I fixed the issue I had with my last project. Now it works like I intended: I updated my first patcher by experimenting with the sound-text-video conversion. I copied the basic build for the jit.matrix object, that you can find when right clicking the objeckt and then clicking on help, where you can assign certain planes a value. I made it so that, in the window with each frequenz a different value blicks to the rhythm of the melodie.

Here is the fixed Patch: File:Für Elise 3.maxpat