More selected projects

Where's that llama?

'Where's that llama?' is a simple game projected into frames, a series of images introducing four cute cat figurines and their llama friend as they animate the corner of the room.

produced by: Rachael Melanson

Introduction

What do hang on your walls? Photos of your nearest and dearest? Places you have visited, or dream of visiting? Prints of favourite illustrations and artworks? 'Where's that llama?' takes the context of a homely wall of pictures and gives it a twist, inviting you to pay a bit more attention to the characters it presents, and the possible playful world they make for themselves, and the fun they can have and the tricks they can play on those who hung them up.

Concept and background research

In terms of frame-based projection layout, I wanted to use objects in my home, a sort of "un-still life". I guess I could have used pots and pans, or the typical fruit bowl, but the figurines were cuter. My personal interests were rooted more in image/video manipulation as opposed to primitive patterns, and what followed was a mix of inspiration from 20th century stop animation artists who brought static trinkets and dolls to life, Diptique (2nd frame) by Walerian Borowczyk, internet cats, and being bored waiting for tests in hospital waiting rooms and staring at the rather mundane generic art on the walls.

In keeping with this theme I arranged the figures formally with a backdrop, and a moving light to create more interesting variation in brightness, for which the data could be used to alter the images in the code.

    PART ONE
    Each frame is filled with each character. We are introduced to the 4 cats and 1 llama.
 
    PART TWO:
    The aim of the game is introduced, "Where's that llama?"
 
    PART THREE:
    The characters are obsfucated. Can you spot the llama? How many times does it appear? NOTE: The llama was desinged to have less likelihood of appearing and for a shorter time, so you have to pay attention!
 
    PART FOUR:
    This marks the end of the game with some fun and flashy disco tiles.

Technical

Within the template for projection mapping using ofxPiMapper in openFrameworks (c++), I built a number of classes to contain different parts of each scene. I had started off by creating these classes as individual programmes so that I could test that each one functioned in a contained way, before adding them into the main program. I would say this was the hardest/most convoluted part of the process and I had a number of failed builds due to, for example, not correctly declaring a class or forgetting to include a header file.

All of the classes used ofVideoPlayer in some way, which in individual programmes had been fairly smooth, however in the main programme everything got a bit slow. I worked out that within the 'ofApp.cpp' file I had called setup on each individual FBO source rather that just setting up all of them in on run of the code, which meant that i was somehow calling the videos twice.

I made use of titleText to create the floating text on PART TWO, along with sin to have the text stretch and crunch as it moved around the space. for PART THREE I took the classwork on ofImage as a starting point, to use pixel data to create the painterly quality of images that we randomly pulled.

Future development

I would programme the number of times that the llama appeared to show on PART FOUR.

Self evaluation

I would mostly want to improve performance so that I could have different videos playing in each from in PART THREE. I'd had some trouble with ofVideoPlayer being slow loading the next frame because it had been continously playing in the background, but I didn't find out or understand why on time.

The projected version of the programme was too dark for my liking and I would want to know if this was due to the projector or I could adjust the general brightness and contrast in the code.

I used text for the first time and didn't quite grasp how to keep it in the frame, or to fully control the behaviour.

References

Scene One videos

    - Week 6 lab example "frameBufferGrid"
    - openFrameworks Essentials - Chapter 4
    - openFrameworks tutorial - 031 mapping with ofTexture (Lewis Lepton)
      https://www.youtube.com/watch?v=cfyot_pOz64
    - Mastering openFrameworks - Chapter 5
    - openFrameworks (built in/"jump to") definition for ofVideoPlayer
 
 Scene Two videos
    - Week 6 assignment "shapesFromPixels"
    - openFrameworks documentation for ofPixel
    - openFrameworks documentation for ofImage
    - openFrameworks forum: Getting video frames to call void ofImage_::drawSubsection
      https://forum.openframeworks.cc/t/getting-video-frames-to-call-void-ofimage--drawsubsection/24885
    - cPlusPlus Pointers tutorial
      http://www.cplusplus.com/doc/tutorial/pointers/
 
 Scene Three videos
    - openFrameworks documentation for ofTrueTypeFont

Sound in video: '110920__felix-blume__a-guanaco-kind-of-patagonian-llama-calling-his-guanaco-children-into-the-forest-tierra-del-fuego-argentina' from freesound.org