GMU:I and my Max/Felix Geith: Difference between revisions

From Medien Wiki
 
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:


== UPDATES ==
== THE PROJECT ==


Well, I've made a point. After multiple weeks now trying and thinking about the water sensor and the fact that its data flow is just too undynamic and unstable to really have an impact on the game, I made a cut and a change of plans.
'''The game "Catch Yourself If You Can"'''


Well, I stayed with pressure caption, and the fact that the other data impact of the game will come from a different source than the first players control data. To have a game that's not functioning on just one console or interface, but tries to draw a line between diverse interfaces.
The idea of my project was to create a simple game in Max MSP, that will be played by only one player using both hands to play against each other. So one hand is the others opponent. The player has to decide to let one hand win over the other, or try to balance the game. Both works.


On one hand we have still have the OSC control via Smartphone, that controls the first player. On the other hand (literally) we now have some piezo sensors that collect pressure data from each finger. This gives us two opportunities. We use this new data input to control either the opponent or a second player. It would be amazing if there were both possibilities to choose from.
To make this difference between the hands a bit clearer I decided to use two different interfaces/controllers. For the left hand piezo sensors track the tipping of each individual finger, on the other hand (literally) there's a slider on a OSC application on a mobile phone that's sending values to the Max Application.


This far I have arranged the piezos on my table, and connected them to Max. So far only with breadboard action.
The gameplay is pretty classic, oldschool you could say, it's heavily inspired by old Nokia games like Space Impact or Snake. The right hand steers a purple square (it's a spaceship of course), and has to catch incoming red squares, that are generated by the tipping fingers of the left hand. If the right hand fails to catch less than 5 enemy-squares, the game's over.


[[File:piezoo2.jpg|400px]]
It's possible to count the score, to reset/restart the game at any moment and to choose from three different levels of difficulty, easy, normal and hard, changing the speed of the incoming values.


[[File:piezo1.jpg|400px]]
To make it easy to try out the patch quickly, without having to setup the sensors etc., I added five bang objects and a slider to simulate the sensors. These can only be used by one hand and not simultaneously, so you can test the patch with them, but the idea of playing against yourself doesn't work out this way.


This runs through the arduino and gives us values roughly between 0 and 1000. With this arrangement on the table we have some little data hysteresis I want to get rid of. Also I want the piezos to have a minimum pressure to be used to trigger the patch, so that positioning the hand isn't that much of a problem. This can be archieved with the [past] object, which bangs when a certain value is reached and passed by, but just in the upwards direction, so this is perfect for me.  
Here's a video of me playing.


In the patch below we can see the serial connection receiving the data from the arduino. To display the input I used a [multislider] object.
{{#ev:youtube|youtu.be/Md7uMxYgF60}}


{{#ev:youtube|youtu.be/bPNOji0dUDY}}


These bangs now can be used to control the pixels that are the enemies in the game, to control for example the position where they get "spawned", which is now controlled by random.
In the video below, you can find a detailed explanation on the patch, and how you setup the data inputs


They can also be used as position control for a potential team player mode.
{{#ev:youtube|youtu.be/5jJLMSbgWjs}}


Anyways, I'll have to get back to fixing the multiplayer problems I have. It works so far, but the pixel control has a bug that I haven't solved yet.
To setup the piezo sensors, you need to connect them to your Max apllication using an Arduino and USB serial. You'll need the following


I'll come back for updates!
- 1 Arduino Uno (or Mega etc.) including USB connection
- 5 piezo sensors
- 5 resistors each ~100 ohms
- 10 jumper wires (male)
- some tape to attach the piezos to a surface like your desk


You will have to connect them like this: (made with tinkercad.com)


[[File:Circuit2.jpg|400px]]


The positive wire of the piezo has to be put to the A0-4 inputs, the negative wire to the ground.


[[/Project Idea Stuff/]]
It should look like this in the end
 
[[File:Bildschirmfoto 2021-02-03 um 13.38.44.png|400px]]
 
For the slider control (for the purple square) you will need an OSC application on your mobile phone. I used the "Mrmr OSC Controller" app by "10base-t interactive", made for OS. You can find it here https://apps.apple.com/de/app/mrmr-osc-controller/id294296343


== Weekly Tasks: ==
== Weekly Tasks: ==
Line 42: Line 52:


[[Artworks I like]]
[[Artworks I like]]
[[Semester Progress]]

Latest revision as of 12:39, 3 February 2021

THE PROJECT

The game "Catch Yourself If You Can"

The idea of my project was to create a simple game in Max MSP, that will be played by only one player using both hands to play against each other. So one hand is the others opponent. The player has to decide to let one hand win over the other, or try to balance the game. Both works.

To make this difference between the hands a bit clearer I decided to use two different interfaces/controllers. For the left hand piezo sensors track the tipping of each individual finger, on the other hand (literally) there's a slider on a OSC application on a mobile phone that's sending values to the Max Application.

The gameplay is pretty classic, oldschool you could say, it's heavily inspired by old Nokia games like Space Impact or Snake. The right hand steers a purple square (it's a spaceship of course), and has to catch incoming red squares, that are generated by the tipping fingers of the left hand. If the right hand fails to catch less than 5 enemy-squares, the game's over.

It's possible to count the score, to reset/restart the game at any moment and to choose from three different levels of difficulty, easy, normal and hard, changing the speed of the incoming values.

To make it easy to try out the patch quickly, without having to setup the sensors etc., I added five bang objects and a slider to simulate the sensors. These can only be used by one hand and not simultaneously, so you can test the patch with them, but the idea of playing against yourself doesn't work out this way.

Here's a video of me playing.


In the video below, you can find a detailed explanation on the patch, and how you setup the data inputs

To setup the piezo sensors, you need to connect them to your Max apllication using an Arduino and USB serial. You'll need the following

- 1 Arduino Uno (or Mega etc.) including USB connection - 5 piezo sensors - 5 resistors each ~100 ohms - 10 jumper wires (male) - some tape to attach the piezos to a surface like your desk

You will have to connect them like this: (made with tinkercad.com)

Circuit2.jpg

The positive wire of the piezo has to be put to the A0-4 inputs, the negative wire to the ground.

It should look like this in the end

Bildschirmfoto 2021-02-03 um 13.38.44.png

For the slider control (for the purple square) you will need an OSC application on your mobile phone. I used the "Mrmr OSC Controller" app by "10base-t interactive", made for OS. You can find it here https://apps.apple.com/de/app/mrmr-osc-controller/id294296343

Weekly Tasks:

Task 1

Task 2

Task 3

Artworks I like

Semester Progress