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

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


== UPDATES ==
== THE PROJECT ==


The patching is done. The game works so far, as far as I know there's no bugs left. The interface in presentation mode isn't finished yet, same as the tutorial text / documentation in the patch.
'''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.


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




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


{{#ev:youtube|youtu.be/5jJLMSbgWjs}}


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.
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


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.
- 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


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.
You will have to connect them like this: (made with tinkercad.com)


This far I have arranged the piezos on my table, and connected them to Max. So far only with breadboard action.
[[File:Circuit2.jpg|400px]]


[[File:piezoo2.jpg|400px]]
The positive wire of the piezo has to be put to the A0-4 inputs, the negative wire to the ground.


[[File:piezo1.jpg|400px]]
It should look like this in the end


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.
[[File:Bildschirmfoto 2021-02-03 um 13.38.44.png|400px]]


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.
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
 
{{#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.
 
They can also be used as position control for a potential team player mode.
 
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.
 
I'll come back for updates!
 
 
 
 
[[/Project Idea Stuff/]]


== Weekly Tasks: ==
== Weekly Tasks: ==
Line 54: 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