I'm a freelance game developer, specializing in programming, interactive art, and game design. This is a showcase of some of the works I've been involved in. For further information about me, see my LinkedIn profile.

Saturday, September 1, 2012

Unfinished Business

Summary

On August 2009, I took my first steps towards being a freelance game developer. On the Unity forums, I responded to a request to create a script for a puzzle where the player needs to press a bunch of buttons in the correct sequence. That was only the first of many scripts for Don Gray, and the start of my freelancing career.

Even after working on and off for almost three years, Don has remained
secretive as to the exact nature of his game. It's definately an
adventure game, played in 3D, and the screenshots suggest a somewhat
surreal style. Judged by the puzzles he has ordered, the puzzles rely
heavily on pushing buttons, rotating things in correct order, etc,
although traditional item based puzzles are also present.

Technologies I Used

Unity Pro (PC/Mac)

Freelancing Challenges

I had of course used Unity for a couple of years at that point due to Lies and Seductions. However, there were still many things left to learn about Unity and working on an actual professional basis. Special challenges were caused by the fact that I was providing the scripts but it was Don who applied them. Firstly, I had to make the scripts easy to use and the inputs understandable, but I had already grown decent at clarity. More importantly, even though we often discussed the requests at length, I could never know (and I still don't) how exactly Don was going to use the script. So when testing my script, I couldn't just test them in the context it was used, but also try to think of all the possible contexts in the first place. Plus, Don always seemed to have new ideas on how to use the scripts, different puzzles that needed just one extra feature...

In Don's case, I was lucky to get an agreement of hourly payment, because as I discovered in other projects, my ability to estimate the time required for a task was as lacking as I imagine it's for most programmers. Sometimes I could implement several features in an hour, while at other times I might spend days on a particularly tricky problem. This is amplified by the fact that the clients don't always quite know themselves what they need.