Smile, You're On Camera
Smile, You're On Camera is a 2D face controlled game that encourages its players to smile.
produced by: Hannah Corrie
Concept and background research
Smiling is a funny thing.
Emotional data is pushed to the brain, the left anterior temporal region among others is activated along with facial muscles causing cheeks to move and lips to retract and curl in a lightning fast motion... Smiling is a funny thing.
The facial feedback hypothesis suggests that faking a smile (causing your muscles to move in the same way they would for a real smile) causes a similar neurological reaction to occur than that of a genuine smile. In a study conducted by Strack, Martin, & Stepper (1988), it was found that participants who placed a pencil between their teeth, causing their lips to move and muscles to contract, responded with higher levels of self reported happiness than a control group. In addition to this, theories focusing on facial mimicry and emotion contagion have postulated that motor regions of the brain that are responsible for producing a smile are activated not only in individuals who are smiling but also in observers to this behaviour. Thereby, facial mimicry triggers an internal emotional state in the observer by activating brain regions such as the cingulate cortex, hippocampus and the dorsal midbrain (Schilbach et al., 2008). It has been proposed therefore, that simply witness a smiling face evokes happiness and a smile, within an observer.
With this in mind, I decided to create a silly, mood altering game in which smiling was both the main game mechanic and the desired outcome for both the player and the observers of play.
How the Game Works:
- The player controls a white character that moves left and right on the x axis whilst at a constant y point.
- The player must try and collect the blue creatures (buddies) whilst avoiding the red enemy creatures.
- Contact with a red enemy creature will cause the players lives to reduce by -1
- The player must match the size of a buddy in order to catch it.
- To change size, the player must smile to grow or make their mouth small to shrink.
- The game is over when the players lives reaches 0
I used openFrameworks to create my game. I made use of ofxFaceTracker addon, in conjunction with FaceOSC in order to capture the data being received from the webcam. In addition to this, I also used the ofxOpenCV and ofxOSC addons.
A big portion of this project was spent calibrating the face tracking data to be as useful as possible within the confines of the game whilst feeling natural and intuitive. I used three parameters of the face tracker within the game. Firstly, I used the faces rotation (from left to right from the center point) for player movement. The player (represented by a while ball with eyes) was confined to a fixed y point on the screen whilst the x component of their location was linked to the players head position. I decided to calibrate it so that whilst the player was looking to the left, the player would move to the left, the character would also move to the left. Next, I used the width of the players mouth to effect the radius of the character. Therefore, in order to grow the player would have to smile. I added a small adjustement, which included the height of the mouth so that the player would have to commit to a toothy grin.
The biggest learning curve from this project came from my large use of classes: player, collectables, collectables manager, enemies, enemy manager, lives, score and scene management. I decided to create a sceneManager variable that would increases and decrease based on game flow. Following the start screen of the game, the player moved into the first level. The first level contained no enemies. I decided to do this to allow the player to become familiar with the controls. Once all the blue objects in the first scene had been collected the game would move to an intermediate screen highlighting the introduction of enemies. From this point the game loops until the players lives reach zero. With each iteration, the vector of collectables are repopulated and an additional enemy is added to the enemy vector.
There is a lot more that I would like to do to Smile, You're on Camera. I would like to add better graphics to the game that whilst currently simple and pleasing are not overly impressive. I felt I spent more time on getting the game play and faceOSC calibration correct than on the games visuals and recognise they could use some work. I also played with the idea of having the player move around the screen on the y axis using head tilts up and down but after trying, found it made the game too easy. Adding more opppositon would also be fun and create a more chaotic play experience.
After exhibiting the game, a lot of play testers mentioned it would make a fun mobile app and I may look into the possibilities of using face tracking with app development in the future.
Leading up to the pop up, I was slightly nervous about how the game would be received as I didn't think it looked overly impressive. Ultimately however, I found that people seemed to enjoy playing with a few coming back multiple times to try and beat their previous scores. Additionally, there were often groups watching and laughing at their friends playing. As a result, I would say that my initial goals were met. I am happy that I had time to add sound effects as I think that this helped players feel more engaged with the game with a few mentioning that the pop sound triggered when a buddy was caught was very satisfying.
Strack, F., Martin, L. and Stepper, S. (1988). Inhibiting and facilitating conditions of the human smile: A nonobtrusive test of the facial feedback hypothesis. Journal of Personality and Social Psychology, 54(5), pp.768-777.
Danial Shiffman Nature of Code (Chapters on Forces)
Open Frameworks Game Design Chapter: https://openframeworks.cc/ofBook/chapters/game_design.html
Background music: https://freesound.org/people/michorvath/sounds/412344/