First, let’s get to know a little about the one man army behind Mystery Ball! Is this your first videogame project, or did you go into this effort pretty seasoned in the videogame industry already?
Mystery Ball is my first sole iOS endeavor, and my second 3D game from the ground up. I attended DigiPen in Redmond, Washington out of high school, then landed a job at Handheld Games working on SpongeBob and X-Men projects with a team of artists, programmers, producers, etc. I’ve been dabbling with game development as long as I can remember, starting out with Doom and Doom II level editing back in middle school.
What was the hardest part of completing such an ambitious project on your own? When it comes to visual art vs. programming, would you say you’re equally adept at both, or do you feel a natural inclination toward one or the other?
Arguably, I struggle with both equally! There’s no doubt you can find a better 2D/3D artist without looking too hard, and likewise, you’ll find a coder who can pull off faster, more efficient routines than the ones I write. That said, I think I bring a unique mixture of talent to the table that enables me to carry a vision from beginning to end on my own or with a team. Taking a test in college to determine whether I was left or right brained, it came back equally split: 50/50, so go figure!
And we learned you’re also a co-founder of Red Nova Labs, a rather eclectic web development and marketing agency that looks like it’s getting rather big! How does Mystery Ball fit into Red Nova’s strategic and creative vision going forward – is the company likely to have a dedicated videogame development arm in the near future?
We’ve launched a new division called Red Nova Labs Games, which I am heading up. For the time being it’ll continue to be just me, and I will continue to focus my efforts on Mystery Ball’s content expansions over the next six months. I have several new game ideas ready to go as well, but I have too many innovative ideas for Mystery Ball to start something new yet. If Mystery Ball can make the waves I believe it is capable of, we’ll be looking to expand and hire more game artists and programmers to help us take the game to Android and Windows Phone 7 too!
Can you share any interesting stories about how you came up with the concept for Mystery Ball? Why did you pick these specific fears – fear of heights, fear of being touched, and fear of time – for FRED?
FRED’s fears were almost an afterthought at the end of the initial two-week design phase. For me, the gameplay always comes first: come up with something you think will be fun and interactive, then wrap it in a fun, quirky package. I knew I wanted a ball roller with a strategy element mixed in, but I wasn’t quite sure where to go from there. Right before I started work on the game engine, my wife and I were talking over breakfast about this ball named FRED. We started asking ourselves what made him unique – what was his problem – why was he traveling down a seemingly endless hole, from maze to maze? The idea of him having to conquer his fears quickly bubbled to the top, and it just stuck.
The fears themselves were chosen based on gameplay factors. I knew I wanted an ability for FRED that would allow the player to make quick saves if he was about to fall off, as well as an ability for him to slow down time. The second fear, FRED’s fear of heights, actually came in place of a fear of speed (Tachophobia). I felt that speed would initially be handled best with a Doodad instead of a fear ability. It’s funny, in hindsight, as that is now one of the next fears I have planned for FRED to conquer: his fear of speed!
What game engine or programming language did you decide on for building Mystery Ball? Were there any really tough hurdles you had to conquer in getting everything to work, or any technical details you’re really proud of but gamers might not pick up on immediately?
Mystery Ball is powered by its own engine, built entirely out of C++ directly on OpenGL ES 2.0. I initially looked at several iOS (or multiplatform) 3D engines like Unity, cocos3d, SIO2, etc., but decided I’d rather not be stuck with their solutions to problems for performance and flexibility reasons. As a result of that early decision, I now have an engine that performs really well on old legacy devices like the 3GS, as well as the brand new 4S.
Getting universal support for the game is one of the things I am really proud of. The way I built the user interface to be positioned and scaled for all three device sizes – 480×320 devices, 960×640 (Retina) devices, and 1024×768 (iPad) – particularly paid off in spades. It saved me from having to create entirely unique sets of artwork, and more importantly, it saved me from having to reposition 2D art for the user interface uniquely based on the device resolution.
I’m also really pleased with how the final camera turned out. It still has its moments where it is not ideal, but for the most part, I think it does a pretty good job of handling itself in a completely 3D world where timing and awareness are essential. I have had a couple recommendations to improve it even further too!