Wow! Featured on the HaD Front Page, Inhabitat, a whole bunch of blogs I never heared of and finally the German edition of Make:
Way more than I expected! And my wife liked it, too :)
This cake is not a lie - edible interactive RGB matrix cake
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
Wow! Featured on the HaD Front Page, Inhabitat, a whole bunch of blogs I never heared of and finally the German edition of Make:
Way more than I expected! And my wife liked it, too :)
So, after everybody beeing sick an moving my office to another room of my home the project pretty much stopped. With my wife's birthday being today I rushed through the code yesterday, added a very, very basic LED marquee "Happy Birthday" message at the beginning and a color cycling animation upon beating the game. I used this 5x5 pixel font.
The game (unfortunately only one game) lacks some features and most importantly some polishing (tweaking the controls and the physics model for jumping), but the result is still impressive, given the fact that you are actually playing a video game on a CAKE.
The cake itself turned out good. The chocolate brownie mixture I used came with a pan that just hat the perfect size for my matrix and punching in the holes worked quite good, I just was a little afraid that the bridges between the holes might break but everything was stable. I attached a drinking straw to my Dyson DC45 vaccum to suck remaining crumbs out of the holes which worked like a charm.
The only thing left to do was to fill in the jello diffusor/waveguide.
I used clear spiced chai tea for my jello on my prototype, which worked ok. But this time I added just a few drops of milk to the liquid as a diffusor, yielding a much nicer look. I total, I poured over 300 ml of liquid into the holes.
Late last night the cake was finished, put into the fridge to let the jello settle and this morning it was showtime.
Here's an in game shot of the Jump'n'Run (the player (white)just approached the cave with a crate (yello) and the powerup (pink)):
And after the game is finished you are awarded with an ever cycling rainbow-animation:
I like how it matches the dots of the wrapping-paper :)
To see everything in action I've made this short video:
I really enjoyed making this cake. If anyone's interested I can put the code here, but at the moment it's just a mess of badly made-up variable names, junk that never turned into anything and very ununderstandable loops within ifs within loops...
So, the Jump'n'run is coming along quite well. I have changed the level layout just a little bit, removed two of the collectible "coins" but the basic game works, even though I only have 30 pixels available.
I have two vertically moving platforms, a collectible powerup that enables my character to shoot the enemy pixels which at the moment do nothing but block the way.
Just at the moment my character does not die if it falls off the screen. I will post a video lateron to show that the concept works. A picture just won't do it justice.
So...the most ambitious game I'd like to implement is some kind of Jump'n'run.
The image above is my proposed level design. It is 88 pixels wide, so I assume the level should fit into a 5x3 array of long varibles. The positions of the crates, the powerup and the enemies are goin to be stored separately. The first thing I'd like to do is to draw the level in itself (the green dots) followed by the character (white dot) to try out the basic mechanics (scrolling, jumping, falling [including falling to one's death]).
So, with the matrix running I started to go beyond the demo sketch of the WS2801 library and try to make one individual pixel light up at the movement of the nunchuck controller.
Thanks to the WiiChuck Demo from thingm.com the Nunchuck was hooked up in no time. I control the position of the lit pixel with then Nunchuck's accelerometer. It looks as this might be a nice method to control the paddle in a game like Pong or Breakout or the tank in Space Invaders or just to position the cursor in Concentration (a.k.a. "Memory" ).
Note to self: the input would ideally need some kind of LPF but reducing the sampling rate of the input might suffice for what I am up to.
With the matrix working properly the question of the appropriate games arises. My previous experiments in matrix gaming took place on a 8x8 matrix and I've programmed some kind of a racing game, Space Invaders and the obvious Pong. Furthermore Convay's Game of Life but I want something interactive.
Some more games that come to mind are:
Tetris (or variations of the theme like Dr. Mario)
Some kind of Jump'n'run
Snake
Somethin like a shooting gallery
Breakout
One thing which was clear is that I want to use the Nunchuk controller of a Nintendo Wii since it works rather well and effortlessly on an Arduino and I don't have to put somethin prototype-looking together myself and hand it to my wife.
The idea is that my wife will have to beat the game(s) running on the cake and if she does it, a Servo hidden in the base of the cake will open move out her present (or a hint where I've hidden the present since it most likely won't fit into the base).
I will post more as soon as I try out some of the game ideas...that should happen this month.
With the basic princible of the cake confirmed I set to work to put the matrix together. Since the spacing of the LEDs was defined by the stripe I placed five rows of six LEDs on a cardboard box I had lying around. The box provides more than enough space to hide the Arduino and a few other accessories.
A short while later everything was hooked up and looked like this:
So the "screen" is working. Which leads me to the question what kind of gaming could be done on a screen that bad.
I was not sure about the use of Angel Food Cake as a translucend material in the cake that inspired me to do that. Jello seemed the obvious choice for me. The problem with readily abailable Jello is that it's mainly either red or green which would render the the two letters of RGB pointless.
That's why I tried to make "neutral" jello. Ideally it should taste well in combination with a choclate cake. Any juice based jello was ruled out because of lacking color-neutralness. So I came up with the idea to use tea. I found some choclate/cinamon flavoured spiced chai (which seems a good choice regarding taste) and a lemon/ginger tea which I tried because of the color (lack of color, that is).
The left is the spiced chai jello, on the right is the lemon/ginger jello. I used 4,5 gams of ground gelatin, 250 ml of tea and 10 grams of sugar for each of the two samples.
Next I needed a test object to fill the jello in. I had a piece of leftofer pastry in which I punched three 19 mm holes:
I have to admit that using a line-laser was not really needed. But would't it be foolish NOT to use a laser in the kitchen when you get the chance? The holes are spaced at 31 mm since this happens to be the spacing of the individual LEDs of the stripe...for my own convenience I did not want tu cut up the stripe into individual LEDs . After I dediced to go for the chai jello I filled the holes. But I had to wait roughly 90 minutes to give the jello time to get a thicker consistency otherwise it flows straight through.
I went for the chai jello because it turned out clearer than I've hoped and was far superior in term of taste.After my test object spent the rest of the night in the fridge I placed it on plastic foil the next morning and placed it on my LED stripe:
The results were quite pleasing. I plan to top the cake with a little powdered sugar which sould diffuse the light nicely. But I was pleased with the color reproduction and the brightness. The pixels were clearly visible in a daylit room.
Create an account to leave a comment. Already have an account? Log In.
Become a member to follow this project and never miss any updates