Sam the Snowball: Case Study

Project Details

Development Time: May 2018 - August 2018
Team Members: 2
  • Aaron Sutton - Game Developer

  • Marge Coahran - Supervisor & Robot Programmer

My Roles & Duties

Game Developer

  • Created and updated documentation throughout development

  • Designed and created all gameplay mechanics & functionality

  • Designed, adapted, and implemented robot controller input & functionality for gameplay and therapeutic purposes

  • Designed and created 2 game maps (one of easy and one of hard difficulty levels), designed for multiple play sessions with randomized elements

  • Designed gameplay for accessibility levels of all types and levels

  • Worked alongside occupational therapists to ensure designs would be therapeutic to stroke victims and rehabilitation patients

  • Created various shaders in Unreal’s shader editor

  • Designed and implemented all UI & UX

  • Implemented SFX and foley

  • Created, adhered to, and reached all set deadlines and project milestones

Tools Used

  • Unreal Engine 4

  • Unreal Engine 4 - Blueprint visual scripting

  • JSON for save data

  • Blender

  • Adobe Photoshop

Project Overview

Design Challenge 

Create a therapeutic game intended for stroke victims in Unreal Engine 4 using a robot for a controller


Unfortunately, for this game I am not allowed to release too much information due to my non-disclosure agreement, however I do have approval to reflect upon some aspects of development, and my process and learnings in full. If you do wish to learn more about the robot’s functionality and purpose you can read about it by following this link.

Sam the Snowball is a game developed in Unreal Engine 4, where the player takes control of a snowball name Sam who increases in size as he rolls around, and can wander around an open world completing tasks and/or destroying everything in sight.


The many tasks the player complete are:

  1. Increase their score by destroying objects within the environment

  2. Get a highscore by destroying the objects within their target objects, which changes every 30 seconds

  3. Free all the snowballs trapped within randomly assigned crystals

  4. Find all the treasure chests randomly hidden throughout the level


My job was to create a game that used a robot that was designed specially for rehabilitation therapy at the Toronto Rehabilitation Institute as a controller for their stroke rehab patients to use in their rehabilitation process. The result of this design challenge was Sam the Snowball.


First and foremost, I designed Sam the Snowball to be fun to play and replay over multiple therapy sessions, made the game easily accessible for people who do not play video games, and strived to achieve therapeutic results using motion input on the robot controller through working with occupational therapists.

My Development Highlights

Using a Robot for a Controller


The robot that was used as a controller for Sam the Snowball was one of the most fun and unique design challenges I have ever faced as a game designer. Its function was extremely limiting to a player as it worked very similarly to a mouse where all arm movements are translated into x & y coordinates, but unlike a mouse had no buttons. In designing a game that fit with the controller, I had to keep in mind that I was making a game that relied heavily upon movement and would also not be able to have special actions such as selecting an item, or jumping.








Originally, I decided to test the robot controller by creating “Air Hockey” as its movements felt similar to both the old “Pong” controllers, and an air hockey mallet (the thing you use to hit the puck). Through testing my ideas on “Air Hockey”, I found that I made a game that did not require the use of fine motor movements, and I decided that for my next game I wanted to make something that both developed the fine motor skills of a patient, and worked in a unique way that may not have been considered for the robot so far.

Implementation in Gameplay

Some of my ideas before deciding and developing what would be “Sam the Snowball” included, a game where a spaceship follows the mouse-like object, a game like “Tetris” where moving your arm in different directions would move puzzle blocks left or right and rotate them as they fell, or a game where the player would need to use the robot almost like a ouija board with different actions being inputted depending upon where the robot arm was placed. In the end, I decided upon the ouija board idea as I found it had the most opportunity to be used in many different types of games, and gave me the most freedom to best develop a game that required fine motor movements.




My first controller plan was to develop a game where moving your arm forward or back would move a character forward or backwards, and moving to the right would rotate the camera around the player left and right. The player would move or the camera would rotate faster the farther the player’s arm was from their resting point.


My final controller would remove the camera being located on separate inputs as through playtesting I found that players wanted to move at a sharper angle, rotate the camera while moving, and many of my players were older and didn’t play video games which made the term “camera” within the game confusing. I also added the melt function within the center of the controller that would decrease the size of the snowball when placed there. The melt function served the purpose to both get the player moving outside their resting point and working their arm, and allowed the player to get out of situations where they would get trapped.

Working Alongside Occupational Therapists & Researchers


The biggest skill that I have learned through my experience creating games for stroke rehabilitation is how to communicate anything and everything to both non-game designers, and non-gamers. People who don’t play games and then try to play games, often think things should work differently than a game designer would. Through working alongside the occupational therapists and researchers with vastly different sets of expertise within the “Toronto Rehabilitation Institute”, I learned how to communicate my ideas and game design to them, while picking up so many learnings from fields that are not my own.

Combining Our Knowledge

The absolute coolest moment for me as a game designer, came from working on “Sam the Snowball”. 3 different physics majors were helping me solve how to move the snowball around the environment. The physics majors were writing creative formulas on a whiteboard, taking into account every variable of the movement of the snowball, and while testing their formulas, they sat behind my back debating what wasn’t working and why it didn’t feel right when playing. We ended up solving the problem through designing the snowball to rotate faster than the rate a snowball would move naturally at its given speed. This helped the snowball feel realistic and so fun to play with.

Research & References

Reflecting Arcade Style Games

The main inspiration that I was looking to when designing both Air Hockey game, and Sam the Snowball, were games like Pong from the early 70’s, and arcade style games like “Crazy Taxi” and “Katamari Damacy”. I found these to be my main source of inspiration as, much like the type of games I was designing for the Toronto Rehabilitation Institute, they are short, easy to understand and play, and have lots of replayability value. These are core pillars that I believed my games to be built for, and strived to reflect them within my game design.

Self Critique - What Could I Have Done Better?

  • Created more documentation to outline my work to my managers and coworkers, before moving into implementation: The documentation would have proved helpful in limiting the amount of tweaking that would need to be done later to meet the needs of the occupational therapists and stroke patients.

  • Put together a digital schedule for my managers to see the deadlines that I had set for myself: This would help in communicating between playtest sessions with occupational therapists and would allow my managers to see what I was working on at all times, instead of being given complete creative freedom like I had.

  • Taking better advantage of the resources that I had available to me: At first I was a little shy and was unsure of how much I could ask other groups for help in design decisions, or to bounce ideas off of. I eventually learned how valuable the people in the lab that didn’t understand games but who had very different skill sets from me were in helping to make my game better. My biggest regret is not taking advantage of this earlier.

Project Critiques - Where Could the Game Improve?

  • The levels need more direction and guides, as they were too open ended and easy to get lost in. This could be done through adding more landmarks, clear pathways, and decreasing the size of certain sections.

  • Controller settings and difficulty - although I added a lot to make this customizable, I wish I added more, such as the ability to change the color and visibility of your HUD, custom cursor speeds and sizes, and changed how fast the snowball would move on different difficulties as it moved too slowly to accommodate new players.

  • Optimization - the game ran around 27-30fps and dipped to 24fps in certain sections of the game, I needed more time to polish. I could fix this by learning how to use the profiler, seeing what’s creating frame drops, and cleaning up some of my shaders.

  • Cleaning up the UI and UX - The UI screen had too much information and detracted from the UX. I could fix this by only conveying certain information when it is important to, and by moving different pieces to be diegetic UI.

  • Refactoring pieces of the game: After I learned how to use both Unreal and the robot better, I realized the snow trail shader, destruction meshes, and overall blueprint code structure could be remade to be more customizable.