An interview with Alec Holowka

We caught up with Alec Holowka of Bit-Blot, the dynamic duo behind Aquaria, to ask him a couple of questions about the techier side of the game as well as some thoughts and reflections on the development process.

Check it after the jump!

Can you introduce yourself and tell us a bit about your background?

Hi, I’m Alec Holowka. I was born in a wild prairie winterscape of Winnipeg, Manitoba, and by the time I was eight I knew I wanted to make games. I started programming in AmigaBASIC on the fabulous Amiga 500 computer and since then I’ve just been learning more languages and hopefully getting better at doing what I do. The ripest fruit of those labors so far, is a game called “Aquaria” that picked up an award at the IGF and has been pretty successful in the indie game scene. In addition to design and coding, I also write the music for my games which is one of the most satisfying parts of development. My dream is to be able to keep doing this until I pass away of old age in a senior’s home that has a healthy supply of NES consoles in every room.


You and Derek gave a pretty extensive presentation on the general development process of Aquaria at last year’s GDC. Can you talk a bit about the technical development of the game and your choice of language and tools and why you picked them?

I developed the game using C++ and Microsoft Visual Studio 2005, which is a powerful and flexible combo. The engine that I built for Aquaria integrates several other libraries, including OpenGL for 3D hardware accelerated 2D, SDL for cross-platform input and window management, LUA for creature/level scripting and FMODex for audio. Both the game design and the code went through an organic “evolutionary” growth, where we would prototype the engine and the first sections of the game, then restart from the beginning and rebuild it, making it better each time. I think C++ was a good choice, because using the OOP method made refactoring for design changes more straightforward. It also helped that I was the only programmer on the project. :P


Do you think that working with another programmer would have hindered such an organic style of development? Did you feel yourself stretching thin at times?

On one hand it would have taken more planning to actually execute the changes we wanted, since we’d have to make sure everyone was on the same page etc. But on the other hand, the work could have been split up more and that would have been a big help. I definitely felt stretched pretty thin at times, and it could get kind of stressful when I’d realize that there was so much to do and it was all on my shoulders! And I guess another annoyance about having an extra programmer is that I would have had to write code that was a lot more organized. ^_-

You mentioned that you used LUA as the scripting language for the game. Did integrating a scripting language benefit the organic development process? What are your thoughts on using interpreted languages in conjunction with or instead of languages like C++?

It was a big help to development, because we could just throw new entities into the game without having to wait for recompile times. It also made tweaking behavior a lot easier, since we could just edit a text file while the game was running and just hit a “reload script” button in the editor to see the effect of the changes. I think it was a really key decision, and I’m glad that we made it fairly early on. Essentially its a shift from program-driven to content-driven development. It opens up the door to having other people collaborate on the project as well, potentially non-programmers. There’s some overhead to using scripting languages, but if they’re managed properly and effectively, its totally worth it!

I understand that you are close to releasing Aquaria for the Mac. What was your experience in porting the game to another platform and do you have any other platforms in mind for the future?

It was kind of a strange experience, because it didn’t take too long to get the game up and running on the Mac initially, since I had pretty decent cross-platform code… but I ended up spending a lot of time after that bringing everything in line with what Mac users would expect as well as trying to improve the original game in a number of ways. One of the hardest things to do is go back to something you’ve finished, look at it critically and then try to improve what you perceive could be better about it. You have to make decisions very carefully, because you could break what works. Aquaria looks super sexy on the Mac though, and its really been worth all the nitpicky work to make it fully Macompatbile.


What are some of the things that you’ve learned over the course of developing Aquaria that you wish you knew when you started?

One thing is that I ended up implementing 6 different audio engines looking for the right one. That even involved doing an OpenAL / Ogg Vorbis implementation that took a lot of work. Ultimately, I ended up going with FMOD. If I’d made that decision earlier, it would have saved a lot of time and avoided a lot of frustration. In terms of the game as a whole, we could have saved some time if we knew then what we know now, but I think the game would have turned out pretty differently if we had access to that information. I think the game development process actually influenced the story and feel of the game a lot, so it might have been very different if we had worked from a more finalized plan in the beginning.

You are also an accomplished composer, having now written multiple game soundtracks, and you mentioned earlier that writing music is one of the most satisfying parts of game development. As a programmer as well as musician, do you view code as a creative outlet as well?

I really, really do! I think there’s definitely a beauty to be found in code. Music is tied to math in interesting ways - there’s the idea that appealing melodies and rhythms are mathematically significant. I think code is similar in a lot of ways; for example how structure and function work together. I personally like to look at game creation as a united process that combines many different medias - and I believe that all those medias have a common base.

So what’s next for you after Aquaria is finally wrapped up?

So many things! I’m insanely busy, as evidenced by how this interview apparently took several days to complete. :) I’m finishing up the Mac version of Aquaria, as well as an Aquaria soundtrack CD - and I’m also starting up a new company in my hometown of Winnipeg, Manitoba called Infinite Ammo. With that group, I’ve started a couple of side projects and one big, epic project. So the next couple years should be pretty busy, which is good.

And we can’t wait to see the fruit these projects will bear! Keep up the good work, Alec!

Thanks for the chat! :D

——————————————————————

Aquaria is out now for PC, if you haven’t played it, you definitely should check it out.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*