Golden Moose Collective

Independent Game DeveloperGolden-Moose-Collective-Logo

Role: Designer, Programmer (C#), Artist
Engine: Unity 5
Games: 5 prototypes + In the Heart of Borneo


RESPONSIBILITIES

Overview:
Golden Moose Collective is a small group of independent game developers, located in Silicon Valley.

Largely a nomadic studio, the Collective traveled to 8 countries across the Asia Pacific over 1.5 years while developing indie games.

You can read about my travel and indie experiences on the Golden Moose website.


RESPONSIBILITIES

Overview:
I traveled to 8 countries across the Asia Pacific over 1.5 years while designing and programming prototypes (Malaysia, Indonesia, South Korea, Thailand, New Zealand, Australia, Cambodia and Vietnam). I gave multiple presentations and workshops during my travels.
Traveling Indie Game Developer Digital Nomad
Some of this time was as an LLC, working with contractors, where I was also responsible for running the organization, hiring, communicating with external artists and animators, etc.

I worked with another designer/programmer for most prototypes, shifting into solo development for a game I decided to see into full production – PC indie simulation game In the Heart of Borneo.

Throughout my time at Golden Moose, I constantly developed new skills – furthering my programming and design abilities, storyboarding to communicate game vision, etc.

DETAILS

My day-to-day work varied greatly, depending on the project.

3D Level Design – PC Story-Driven Adventure Game:
For a few months, I focused heavily on 3D level design for a story-driven adventure game in Unity 5:

  • Blocking out a level with co-op puzzles,
  • Storyboarding/creating a level design walkthrough document,
  • Creating story & characters,
  • Setting up level cameras (the camera system allowed me control over creating cinematic experiences with a spline tool, such as choosing when to zoom and switch between camera).

prototype_concept_WIP
I worked with a programmer and an external artist, animator and story consultant for this prototype.

What I Learned: The importance of fast iteration and prototyping. If I were to do this again, I would spend more time on co-op puzzle design rather than splitting my time with other elements, such as camera movement and storytelling.

2.5D Level Design – PC Space Shooter Game:
I also worked on levels for a 2.5D space shooter game in Unity 5, with work involving:

  • Blocking out levels
  • Using splines to set up ship movement patterns and design levels

1st Prototype Level:

2nd Prototype Level:


Play two early blockout levels here! Also read more about my design work.

I worked with a programmer for this prototype.

What I Learned: Cinematic experiences are time consuming to adjust. The first playable level features a cinematic camera in the start of the level, which made it more difficult to adjust ship timing. I simplified the camera movement for the second level for this reason.

Game & Systems Design – PC Top Down, Sims-Type City Game:
I designed systems for a top-down, sims-type city game in Unity 5 and worked on the design for AI behavior (with stealth elements). A state machine was used for the AI.

I worked with a programmer for this prototype.

What I Learned: The difficulty of making a sim-type game feel fun for a player, especially as it is time consuming to get the systems in place for a systems-driven game. It’s critical to set goals for the player in sims games so the player has something to work towards.

I enjoyed designing systems in which variables scale depending on other variables and seeing its implications (for example, stamina tied to obesity, capping how much stamina the player has).

2D Level Design & Scripting – PC Story-Driven Platformer Game:
I worked on a side-scrolling platformer game, mostly on my own. My work encompassed:

  • 2D level design for platforming and storytelling
  • Worldbuilding, developing characters, storyboarding
  • Scripting (triggers, camera, etc.)

2D Game Design & Programming – PC Simulation Game:
To date (September 2018), I spent 9 months working on PC simulation game In the Heart of Borneo. The game was inspired by my travels around Southeast Asia (particularly on the island of Borneo, in Malaysia).

I worked on the game by myself, getting advice from a seasoned programmer to create the architecture for my game’s systems.

View more detailed information about my work on IndieDB, including gameplay videos.

Heart of Borneo Development

I coded:

  • Event system – Depending on time of day, there are different chances each game event could trigger (injury, finding a hidden village or object, etc.). An Event Base parent ensured all of my game events behaved in the same way, with children inheriting OnStart, OnUIHidden, OnEnd, etc.
  • Cutscene system – Like the Event system, the cutscenes inherited behaviors from a parent class. I loaded in strings from a comma separated localization file, which were handled by the UI system.
  • Animal manager – I used information from scriptable objects for Animal Type and Animal Rarity. Animal Rarity (common, rare, etc.) determined how much money the player received from photos of the animal, and Animal Type provided information for the animal. I randomized animals by rarity to determine which animal a player saw.
  • Photo manager – Similar to the animal system, each photo had a different Photo Type (common, unique, etc.). A unique photo type, for example, could add to the money a player received from a photo.
  • Time manager
  • UI manager
  • Etc.

For this project, I focused on:

  • Programming systems in C#
  • Storytelling – Writing event pop ups, cutscenes and letters from the main character to his girlfriend back home
  • Designing systems and gameplay
  • Art – UI design

What I Learned: It is important to give players a chance to anticipate future events AND give players a way to recover from their mistakes. In early prototypes, events happened randomly to players as they traversed the jungle. I later gave players a chance to anticipate events, so they could stock up on certain supplies prior to setting out.

I also learned the importance of randomizing certain elements of the game. I originally had plant that players could find and eat, which would either restore health or poison players. I later changed this so players would spend more time strategizing when to eat the plant, as I added extra possibilities for plants reversing a player’s poisoned state, or, in the event a player wasn’t poisoned, the plant would instead harm them.

PRESENTATIONS

The other main Collective member and myself shared many of our experiences with other independent developers as we traveled the world. We put on learn Unity workshops in Malaysia; met indie developers across Thailand, Korea, Malaysia, Indonesia, New Zealand, Vietnam and Australia, and gave presentations across different countries:

  • “Developing Indie Games” – GameDev Bali, Bali, Indonesia
  • “The Ups & Downs of Indie Development” – GameDev KK, Kota Kinabalu (island of Borneo), Malaysia
  • Unity3D Workshop (Read more) – GameDev KK, Kota Kinabalu, Malaysia
  • “Our Experiences Developing Indie Games while Traveling” – Game Developers of Wellington, Wellington, New Zealand

Photos from presentations abroad:
KK-GameDev-Meetup10
KK-GameDev-Meetup4
From the Unity3D workshop:
Unity3d workshop

POST-MORTEM

I learned an incredible amount from my time as an independent developer – designing across different genres of games (3D story-driven adventure vs. 2D systems-driven games), collaborating on different types of games (communicating vision and design), as well as picking up a variety of new skills and tools (programming systems in C#, experimenting with storytelling through use of cameras, etc.).

All of the experiences I gained through co-founding Golden Moose and making 5 prototypes taught me an incredible amount about game development and what I personally want from developing games:

  • The biggest lesson I learned is to never underestimate scope – No matter how small I thought a game concept was, the scope ended up largely than expected, even when iterating, “killing darlings” later in projects, and polishing.
  • Regarding what I learned about myself as a developer – I previously expected to want to split my time between coding and design, but I discovered I am mainly interested in systems & gameplay design, content/AI design, narrative design and storytelling through games. (I prefer to work with a programmer to design and develop game systems, so I can focus on design.)

RECOMMENDATIONS

The following recommendation is from an ex-Dreamworks animator, whom I worked with for the first prototype at Golden Moose Studios (a 3D story-driven adventure game):
Golden-Moose-Recommendations

STUDIO UPDATES

Check out our website, blog and sign up for our (infrequent!) newsletter.


Follow us on social media:
@Golden_Alg
Facebook
Golden-Moose-Collective-Logo