Continuing Gamasutra’s ‘Road to the IGF’ feature, we talk to PillowFort Games' Tommy Refenes about his IGF 2008 Technical Excellence finalist Goo!
The title is an arcade style strategy game inspired by Sun Tzu’s Art of War, Bruce Lee’s Jeet Kun Do, and the board game “Go”, in which players do battle with amorphous liquid armies, and Tommy chatted to us about his background, inspiration, and plans for the intriguing title.
What kind of background do you have in the game industry or in making games?
Well, I started programming when I was 11 and always had an interest in videogame development. After leaving NC State, I got into the extremely dull world of server and web development. I was in Charlotte living a really comfortable life, and an opportunity came up for me to be a network programmer for a still-unreleased XBLA game. I sold my house, my car, and put everything in storage to go work for the company. They needed an engine/render programmer when I got there, so I just kinda stepped in, and absolutely loved it.
What motivated you to create a game like Goo!?
I was motivated to work on Goo!
because of the amount of technical challenge the game presented. It needed to run an insane amount of collision detection and needed to render out like liquid. Originally it was a collaborative effort with one of my friends -- he was taking care of design, but since moved on. When he left, I took on the design and have very much enjoyed working on the new challenges the game now faces. I love a challenge, really... that's my whole thing.
Is there anything that you drew inspiration from in Goo!'s design and implementation?
Well, originally the design was very passive, and the game was meant to be played very relaxed... that didn't work out so well. So, after getting the nomination, I sat down and redesigned the controls and sped up the gameplay. I'm a huge fan of Geometry Wars
and its very simple, fast-paced action design, so in Survival mode, I tried to mimic that sort of intensity.
What sort of development tools are used to make the game?
I'm using Visual Studio, Intel's Thread Profiler and V-Tune, and MilkShape 3D for models... which aren't actually present in the game right now. Also a lot of Pizza and Coca Cola... Hahaha, no, seriously, I don't drink caffeine or eat pizza very often.
What do you think the most interesting element of your game is?
The whole interaction with the goos, I feel, is the most interesting part. The tech behind that is pretty nuts. There is no std::InteractiveLiquidyGoo data type! The game won't run on a single core machine due to the insane amount of threading that I do for physics, object updates, collision, etc.
The game is still a beta, but the detail that the public demo runs is about half of what it can run as far as objects on the screen and collisions per frame. I've worked extremely hard on the tech to make sure it runs smooth at high resolutions. I justify that by saying I never intended it for PC release... I'm looking at you, Sony, Nintendo, and Microsoft!
Are you the sole developer on Goo!? And what has the development process been like?
The tech part of Goo!
! has always been my job, even when it was a collaborative effort, but for quite a while now, I've been doing everything minus sound and music. I just got done with a redesign of controls and gameplay and I'm finally happy with the core of the game. The development process has been great, working until 5 or 6 AM, having some sleep (when I can sleep) and getting up and doing the same thing the next day. I absolutely love it. I could live the rest of my life and be totally happy in a room with like 3 computers doing engine programming, and an outlet to charge my robotic Scarlett Johansson.
If you had to rewind to the very start of the project, is there anything that you'd do differently?
I've learned so much about threading and program optimization since I began that I'd love to scrap the engine and redo it. In fact, I'm taking the engine I wrote and redoing it all for the next game!
What are your thoughts on the state of independent game development, and are any other independent games out now that you admire?
I think it's an awesome time to be indie right now. I mean, for those indie developers who dream of getting their game on a next gen console... now is the time. With platforms like XBLA and PSN, anyone with a decent game and some drive can get their game out to the world. I think that's excellent, and I'm glad that the bigger game companies are picking up indie titles.
I know they are only picking up titles that they feel are marketable, but for whatever reason, it's still cool. I will say this, one game I admire but absolutely hate and will never play again is I Wanna Be The Guy
. I got so frustrated at it that I will probably only play it again to punish myself. It's put together pretty well... and it's almost impossibly hard. I really have respect for the amount of effort and planning put in to make it that impossibly hard, but still beatable by people with insane amounts of patience.
You have 30 seconds left to live and you must tell the game business something very important. What is it?
I'd spend the first 28 seconds kind of writhing and making weird grunting sounds, then with the last 2 seconds I would take a deep breath and in my best Solid Snake voice I would say "MERYL!!!!".