Greebles is a casual reflex arcade game for iOS where players take the fate of the Greebles in their hands. The greebles
are an adorable race of puffy critters who are being hunted by the Litchkin and other large monsters. Players must tap the
greebles to save them before they fall into the gaping maw of a predator, and ultimately help the Greebles fulfill an ancient prophecy.
Working with Fractal Fox was my first professional experience as a game developer, and Greebles was my first shipped title.
I've worked on a variety of the game's functionality, from dialog menus and tools development to various gameplay mechanics.
Working with the team was also one of my first experiences working closely with people from other disciplines, and helped me to build and strengthen my cross-discipline communication.
Languages and Technologies Used:
C#, Unity, Visual Studio, Git
I did the majority of the work on the main menu as well, which included working with the save/load subsystem to load all of the player's data for the main menu,
determining whether or not they'd perfected, passed, or were able to visit any stage.
I helped to create the special text boxes and polished the menu by adding Draper traveling back and forth along the map's path.
To help the animators and artists on the team, I created a cutscene controller that helped them to string animations together.
I worked directly with the primary animator to understand the needs for the system, what they would like to use and how they intended
to use it, and I created a system to their desires. The controller allows the animators to chain together their individual scenes, add lines of dialog,
and included the ability to skip cutscenes.
I worked with the design, art, and story teams to create a dialogue system that was easy to use and effective.
The system was good enough that when I went on hiatius for a little while, I wasn't needed to fix any issues or clarify the toolchain.
The dialog system was one of the most extensive systems I created while at Fractal Fox. I worked on everything from character by character text to
implementing animations and actors during the cutscene. The system read from a script file that the story team could create while in editor, which
took in a line of dialoge and any actors, animations, and facial expressions needed for the delivery of the line. I also implemented a feature to skip
past dialogue, as well as audio features and voice acting during the scenes. Fun fact for reading this far: every member of the team got to voice act a character,
and despite being the youngest member of the team, I was the voice actor for Sage, the oldest character!
As one of a couple of programmers at an indie studio, I had my hands in a lot of different parts of the code. I helped to make a few of the special
colored greebles, each with a unique effect that helped the player to save more greebles easily.
I worked on the green greebles, which created a vortex around them that would suck in and save greebles. The green greebles created an area of effect that
grabbed any greebles within the lane it was in and the two surrounding lanes and sucked them in. Pink greebles used an effect that slowed down an entire lane
of greebles, applying the slowing effect as long as it was out in the field. I also helped with some of the first passes of the red greeble, which invovled
3 distinct stages that could bounce greebles in various directions to safety.
This was changed later in development, however, towards something that had less uncertainty and sent greebles straight up.
Music and Audio Tools
One of my first responsibilities with the company was becoming the team's audio programmer. Despite no prior experience with audio programming, I was able to make
a set of tools flexible enough for the audio engineer and musician to use without issues during a period I went on hiatus.
I created music and ambiance controllers that allowed the audio team to implement, fade in, and fade out multi-track songs and ambient background noise.
The audio team would create songs that invovled multiple instruments that played together that they wanted to be able to have drop in and out of the music as the game went on.
The system allowed for just that, including the ability to link them to Unity's built in mixing system. I also was responsible for creating hooks for all in-game audio in code,
adding sound effects and banks of random sound effects to the project and implementing them.
I helped implementing the fruit in the game as well, which are an obstacle for the players. Tapping on fruit creates a negative effect based on the
kind of fruit you tap on, with some zapping all greebles on the screen, while others froze them in place.
The fruit inhereted a lot of the properties of the greebles, including the same nature of being able to be saved via tapping. Each had it's own OnTapped function
based on the parent class, which enabled reuse of the common functionality between the fruit and greebles as gameplay objects. I helped to implement the shocker fruit,
which found greebles on the screen that hadn't yet been saved and killed them, replacing them with unsalvageable husks. I also helped with a wide variety of bugfixes
and polish items for the fruit as they came up, as the indie studio life involved wearing a lot of hats.