8 Bits
This projection mapping project is a creative exploration inspired by vintage video games graphic style, realised entirely with code in openFrameworks and ofxPiMapper.
produced by: Raphael Theolade
Introduction
This project is my first experience with projection mapping. Even though I have extensively worked with 3D packages and knowing that texturing objects is a projection per se, I found the constraints related to this interactive installation practice quite challenging.
In fact the general anticipated style that can be achieved with this technique generally relates to techno-club scene artists. Those very appealing artistic choices are often minimalists and futuristic, depicting digital aesthetics. I wanted to avoid to follow this path and rather attempt to add a more personal input in this exercise. I knew it would be riskier but I presumed it could make the whole process more exciting.
Shapes
Firstly when were designing our shapes, I rapidly felt restraint by the spectrum of possibilities. I mistakenly thought that mapping any curved surface would have make this work too complicated. Similarly to other unconventional options differing from squares or triangles, regarding the amount of time I had. Inspired by Japanese sculptor and designer Isamu Noguchi’s playgrounds we decided to create four different shapes which were the combination of cubes of different sizes, fixed on a plane surface. It had a feeling of architectural structure which I was quite happy with.
However when I started to work on the code, I quickly realised how this construction was way more complex than I expected. Fitting the squared texture onto a combination of smaller squared surfaces obviously required more complex mapping assemblages than using regular cubes, planes or pyramids…Especially as I wanted to create a continuity, to pass moving objects from one face to another. It implied a loss of resolution and performance by using bigger texture buffer. Following my own creative process I would have preferred to have the option to change the shapes in order to work in a more “organic” manner but it was too late. I could have simplified my creative decisions at that point but I wanted to enjoy the uncertainty of the coding exploration though, which was the main interest of this exercise for me.
Coding process, Artistic references and Technical explorations
1 - The look of our shapes first inspired me to mimic a vintage video games render. Even though I am not a gamer, I had fun recreating Tetris like bricks and Super Mario space background with pipes. It allowed me to have fun with random walkers and vectors and to play with the graphic design. I enjoyed a lot using code to create a look that I would have achieved with Adobe packages a few months ago. I would like to reuse these sketches on a later fun interactive project.
At that point I took the decision to create three different “set design” with three different classes, and to encapsulate the code in various functions as much a possible. Everything was quite clear from there and working with code felt really enjoyable.
2 - Once the 8 bit part was done, even though I had no idea how to transition to the second one, I chose to start with the next design. I selected details from others video games backgrounds which looked like digital tapestries. I had the idea, after a prior visit at the V&A, that medieval tapestries close-ups could be an interesting reference as they contain a great procedural potential. It would bring the opportunity to manipulate Perlin noise, grids and cells, as well as designing a video synthesiser for a future live performance. I challenged myself in setting up a system of presets based on matrices which feed the several parameters of the synth function. I am now very happy with the aesthetic outcome and the range of potentiality this sketch offers. However I didn’t manage to find a way to switch from one shape of cell to another (circle to line for instance) But I will definitely improve it in a further development. I also plan to rebuild the architecture on an object-oriented system instead of an algorithmic one.
3 - Finally I decided to keep exploring the game aesthetics for the last part, technically based on variations of “for loops” in order to create quirky figurative elements : vortex, moving clouds, strange hairs and mono-eye bubble gum creature.
Conclusion
On one hand considering the misleading path I decided to take, I worked in a non-efficient fashion, and I didn’t success to develop more original and personal artistic aspirations, totally detached from my background in commercial animation within the short amount of time I had. But on the other hand, I had fun with each of these sketches and I learned a lot from several mistakes. To a broader extent I feel now more confident with openFrameworks and programming in general, which is very positive to me.
References
1 - GandalfJugon. Tetris (Game Boy). YouTube, https://www.youtube.com/watch?v=bOYoBkZV9RU. Accessed 10 Feb. 2019.
2 - JuryDutySummons. Let’s Play: Google Maps 8 Bit. YouTube, https://www.youtube.com/watch?v=dAYidYEN5NA. Accessed 10 Feb. 2019.
3 - Mario Bros. (Game) - Super Mario Wiki, the Mario Encyclopedia. https://www.mariowiki.com/Mario_Bros._(game). Accessed 10 Feb. 2019.
4 - Reference - C++ Reference. http://www.cplusplus.com/reference/. Accessed 10 Feb. 2019.
5 - V&A · The Devonshire Hunting Tapestries. https://www.vam.ac.uk/articles/the-devonshire-hunting-tapestries. Accessed 10 Feb. 2019.