The group from Iocaine, developers of the IGF finalist Hyperbol, was nice enough to chat online with me to answer a few questions about the development of their game. Read on to learn more about the making of Hyperbol and the team's big plans for the future.
Who are you and what was your role on Hyperbol?
Matthew: I am Matthew Yaeger; I co-design and implement the gameplay portion of Hyperbol
Jason: I'm Jason Fader. I'm the lead designer and producer for Hyperbol. Basically, I thought of stuff and did the PR thingies
Nick: Nicholas Lawson. I am the lead programmer and engine person, doing the core stuff like the graphics engine, effects, and the internal network code. I also write the external conversion tools (model compiler, etc). Matt did the map editor though
Stu: Hi my name is Stuart Lawson, and I'm the artist! I did graphics, music, and sound effects
Congrats on making the IGF finals. This is quite a step up from the Student Showcase. How's it feel?
Jason: It's an honor, and it's also a bit overwhelming. There are a lot of really polished games that made it. I sorta feel self-conscious about our game now :-p
Nick: I'm really glad we made it as a finalist in the Open Competition. The Student Showcase was a large step last year, but getting into the Open Competition, with some really good competitors, indicates how serious we are about this project
Matthew: It feels Grrrreat!
How long have you guys been together?
Jason: Oh boy, hmmm...
Nick: Yeah, it's been that long...
Jason: Okay, I think it's about 5 years. We all met at college, so those years are all blurred :-p
Nick: That sounds about right... various precursory projects...
What got you all started in game development?
Jason: Well, I've been playing games most of my life. Game development seemed like the best fit for me, after I attempted quantum physics :-p I started writing stories at first, and then writing down my ideas for game designs
Nick: Commodore 64! Back when I was six or so... I had to know how they did that. Assembly language on the C64 was very easy to code, so I made a few games there. But that was just under twenty years ago. I've been working on various small game projects since, as hardware and software evolved. I still remember 320x200 256 color mode... hehe
Jason: Ah yes, the C64 was my start too :-)
Nick: I broke so many C64s...
Jason: Eventually we all became familiar with each other and our goals. Things just clicked really. I love my team. :-)
Matthew: I've been playing and writing my own games for as far back as I can remember
Stu: I used to mess around with textures and sound effects in other games, I enjoyed seeing what I created get put into the game, be it a skin on a player model, or replacement sound effects. Getting the opportunity to do artwork for Hyperbol is awesome!
Is Hyperbol the only game you guys have made as a team?
Jason: Teriyaki Time, our first pet project...
Nick: Actually, that was a working title for a game design we considered...
Jason: We won't get into that one. It was just the "codename" ;-)
Nick: Yeah. Then we got serious about things - proper meetings, planning, etc. We have the design for another project in this way, too, but Hyperbol is the first project that we devoted serious time to
Jason: We started by thinking of some mods we would like to make. Matt and I worked a bit on scripting some things for Tribes and Tribes 2. Our first official project is Hyperbol though
Who came up with the original idea? When?
Jason: Hmmm... It really was all of us. Hyperbol is an amalgamation of our ideas refined and polished
Nick: Yeah, we were all throwing ideas around. We needed a game that stood out as innovative even though the first phase had to be completed really, really quickly. So the gameplay itself had to outweigh the wow factor, initially at least. We liked physics stuff, and there were quite a few ideas, but we settled on Hyperbol because it was... different, and we could prototype it fast
Jason: Our primary motivation for the design was to create a game that could be completed within 2.5 months. It started out as a student project for a class - we only made a multiplayer prototype. After that, we realized its true potential and continued development
Nick: We still have the ancient prototype. It's amusing to look at because it's so very different from what we have now...
Jason: And those Star Trek sounds. We used a lot of copyrighted material for that project :-p
Nick: Since then of course we changed every model, every sound, every texture, everything
Jason: Oh, and the idea was created about 2 years ago
What's the basic idea behind Hyperbol?
Jason: Basic? Hmmm... The basic idea is to destroy your opponents by "throwing" projectiles that serve various functions. The player has quite an arsenal to choose from, ranging from timed bombs to deployable walls. That's about it in a nutshell. There's multiplayer and single-player, a sweet story (to be implemented)...
Nick: Your base itself can be slowly moved, too. There are also around 42 projectiles, including 'upgraded' versions of them, with each one picked to be unique from each other. The multiplayer gameplay can get very tactical
Matthew: The basic idea behind Hyperbol is fast-paced strategy
How has the game design progressed from start to finish? Any major changes along the way?
Jason: Hmmm... The fundamental design is still firmly in place. We have simply fleshed out the units, expanded upon multiplayer features, and brought more life to the game itself. There is still much of the game left to be done
Nick: Well, from an engine standpoint, a lot did change. The prototype, for example, was a standalone client that needed a launcher to connect it directly into a game; no GUI, no menu system, one map only, one song in an endless loop... but the design has remained solid throughout
Jason: We still need to create content for the single player campaign, more multiplayer levels, and overall polish. We're still quite a ways away from total project completion
Nick: Yeah, but most of that is content. We have our model tools, our map tools, the game can do it all already, it's just content left at this point
What was the most challenging issue that cropped up during development? How was it solved?
Jason: For me, time and energy. We've all carried this project in our spare time, while having jobs elsewhere. For me, working all day leaves very little time or energy for Hyperbol. We've overcome this hurdle by our relentless dedication to our dream. We do what we can and have mastered our coffee to sleep ratios. :-) It's tough, but it's worth it
Nick: From the core video/etc standpoint, I think it was compatibility. A PC game must run on any PCs that support it. Thankfully, we made an internal kind of beta, found most of those issues and squashed them. I think QA is a problem for independent small teams, really. A lot of independent games don't run solidly on all systems. But when we had enough beta testing going on, we found and eradicated those issues as they surfaced. I'm glad we have those great fans that played the game so much, helping with balance too. The time issue was big too, but only our artist has a life...
What tools were used to create Hyperbol?
Nick: For models, Blender and Wings - we love those applications. Blender has all you need to make game content, at least for our purposes. Lots of various in-house tools were used as well, such as the model compiler, map compilers, and map editor (Matt's area). CVS and MS Visual Studio .NET for the code and our artist swears by Adobe Photoshop, so we use that for our texture work. And our GUI uses an in-house tool with which can read Adobe files and grab slice info
How about the engine? Licensed? Homebrewed?
Nick: Homebrewed 100%! It uses DirectX for its rendering API, FMod for its sounds, but the rest is me. Our models and textures and such use our own functions, we don't use the built-in model/animation systems in DirectX. And our physics is our own as well as the game logic framework, network engine, GUI system, etc
What made you go the homebrew route, even staying away from open source libraries for physics, networking, etc?
Nick: There were the usual considerations. For example, some of the components we needed, I had already written for another engine project of my own, such as the skeletal animation system, for example (which we later changed somewhat anyway). For the physics, we needed our own semi-realistic, but completely deterministic, physics system in order to cut down on network transmissions. ODE, the open dynamics engine, works better for 3d and so on. We also wanted to eventually market this product, and many open source libraries do not have amiable licensing agreements for that sort of thing. I wish they did though - there are a lot of independent developers who wouldn't mind seeing something for their efforts. As for networking - nothing was good enough. We have to be able to handle a really large amount of objects moving around with pretty good physics, in real-time, in a deterministic fashion, with lag compensation, etc., and so we custom built it. I'm glad we went this route, though. We have gained an enormous amount of expertise from implementing it all, and the engine, because its 100% ours, can be flexible. We understand it fully, unlike what is likely with a licensed engine
Jason: Also, we wanted a core that we could build upon, customize, and carry on to future projects. Our internal technology has been designed for future products and will make our lives much easier :-)
Are you guys located in the same area or scattered about the country/world?
Jason: We're all in southern California, about 20 minutes apart. We typically meet weekly at a team member's house, and every so often as needed have "Codeathons"
Nick: The Codeathon!
Jason: Codeathons are weekend-long events where the team brings their systems over and we just work, non-stop. Endless coffee :-)
Nick: it's a bad name, since it's also become a scriptathon, planathon, and artathon
Matthew: No playing games at Codeathons!
Nick: At one point we were doing these coding sessions every second weekend, for ages... now there's dedication
Jason: We just LOVED my coffee! :-D
Nick: this is of course, on top of everyone's actual job/university/life
Jason: Life? Gave that one up a while ago
Nick: Well, those that have one (i.e. the artist). I don't think we could have made such a polished, solid product so far without the codeathons. That's put a lot of time into it
Are you guys planning to keep this up and stay indie, or want to get "real" jobs in the industry? Why?
Jason: We don't plan on staying completely "indie". Our ultimate goal is to find a publisher to help us carry Hyperbol to the retail PC market, and then to consoles and Mac. We would like to develop larger scale titles with a much larger team. We would ultimately like to maintain our autonomy while pursuing a healthy relationship with a publisher
Nick: We'd still like to remain independent - that is, not beholden to making sport-game-sequel-#23 because a parent company demands it. At the same time, we do want our games out there, to a wide audience. After all, Hyperbol is fun
Jason: We're currently working on finding a publisher that can help us out :-) We wouldn't mind doing licensed IP or porting over games to other platforms for a publisher either. We're looking for a stable life while we get the hang of this game development business. And more sleep would be very nice...
Nick: In the end, good, fun Content takes a long time to make, and during this, people need to be fed and housed. I believe that you can go quite far without funding but only so far, especially when your team has other jobs too. We all are passionate for making games, and want to be able to do so full time. That generally requires funding
Were there any times during development you guys would consider being "crunch"? Or was the game a constant past time to be completed when it got done?
Jason: Oh, we've had crunches...
Nick: There were many milestones/goals, so yeah, we crunched. Long weekend? Double codeathon! I think you always need deadlines, else 'when it got done' is never
Jason: Hehe, basically as we got closer to milestones, the team would take on more codeathons and operate with amazing productivity
Nick: The guys at the local food places started to recognize us
Jason: We never burned ourselves out though. When one of us was near that point, we would cut back on features and reschedule tasks to balance things out. We were always there for each other. *sniffle*
Nick: Except nobody else will do particle systems ;p
Quality of Life is the hot topic these days. As indies, we're mainly tasked with our own QoL. What do you guys do to keep it fun? Any comments on QoL in the industry today from your points of view?
Jason: LAN Monkey!
Nick: But... coding Hyperbol is fun!
Jason: The LAN Monkey is a LAN party the team throws with our friends. It's probably the only time we unwind.
Nick: *cough* free beta testing...
Jason: We try not to overwork ourselves and always put our health before the task
Nick: You know the game does things right when people forgo food in order to play a little longer
Jason: On the producer side of things, I try to keep my eye out for signs of developer fatigue. I think of ways to help the team, get us out once in a while when we need it
Nick: When I get a life back (please, publisher!), I'll be able to improve on the quality of it
Stu: I really enjoy it when we are all working together under the same roof; I get a good sense of teamwork and can communicate face to face with the rest of the team. I feel motivated and energized. I enjoy it when we are under a little pressure to meet a deadline, I feel challenged and focused
Based on your experience on Hyperbol, you guys have any advice to give others starting down the indie path?
Jason: Stick to your dream, no matter how much coffee you need to buy
Matthew: Working with friends makes work more fun!
Nick: Yeah - you need some structure to it... take it seriously (even though it's fun) enough to keep a schedule, and meet often. In person meetings are always best. Keep it up. People have to sacrifice time regularly in order to make it work out, and a game happens to take amazing amounts of this time. If a team doesn't keep working on it regularly, scheduled, (i.e. 'every Friday meeting', if not more often), and instead takes the path of 'meet whenever some guys feel they can', then it won't get done. Set deadlines and assign people to various sectors. Someone has to make the final decision on things, like art, like sound, like gameplay. It can be voted on, I guess, but its best to have someone in charge of it (final say) or deadlocks occur
Jason: We wouldn't have gotten this far if it weren't for how close we all are. We know each other and find it quite easy to share creative visions. It's great to work with your friends professionally, plus since they're your friends, they are less inclined to walk out on the team. It's like a double bonus: You get to see your friends more and your team is more loyal to the cause. Also, we try to leverage the latest technologies out there to diminish the risks in software development. We use versioning software, bug tracking databases, task assigners, and maintain a wealth of documentation on our work. Organization is key :-)
Have you guys looked beyond Hyperbol yet at all? What's next?
Jason: Yup, we have quite a vision for the future
Nick: Business plan
Jason: Hyperbol is an excellent project to start with, but we have bigger plans for bigger games. The team sat down a long time ago to discuss our "10-year plan". We plan on releasing Hyperbol for the PC, console, and Mac. After that we want to work on projects that are low-risk for the team, like licensed IP or sequels to our current titles. Once we have a stable business foundation and a much larger team, we will start the projects we ultimately wish to do.
Nick: We're a patient bunch...
Jason: We have grandiose visions for games, and we understand that these large-scale titles require talent and resources that we cannot gather any time soon. It's a slow and steady plan to an ultimate dream I suppose. We look up to the industry's top developers. We learn what we can when we can. We're all gamers to the core and just want to provide the best games possible to the gaming community. I guess it's our way of ultimately giving back to the community that raised us all :-)
Well good luck at GDC, and in the future. I'll see you on the Expo floor in March.
Nick: Thank you! See you there
Jason: See you there! Thanks for the neat-o interview :-)