This is the story of how a small in-house demonstration project became a (hopefully wildly successful) publically available commercial game.
Neonatura LLC provides engineering consulting services, primarily electrical engineering and embedded development assistance. We provide design, analysis, development and debug services to a clients in a number of diverse industries. Our work generally consists of electrical engineering work and generation of the necessary code to make the resulting devices function. We also create simulation and test software to validate design ideas and test final product.
Well, nothing, basically. How we became involved in iPhone/iPod Touch development is kind of a complicated story. About a year ago, someone we'd worked with previously contacted us with interest in writing an iPhone application as an adjunct to a project they were working on. We'd never done anything like this sort of thing, but it sounded interesting, so we started diving into the technology.
The first problem was that we do all of our work on Windows, and you can't do iPhone/iPod Touch development except on Apple hardware. That meant buying our first Mac (a Mini, of course — it was the cheapest) and an 8Gb iPod Touch (no expensive service contract). You may have noticed that we're — well, let's call it frugal.
For people who've never used one, diving headfirst into Mac usage, and for technical development at that, is quite challenging. Visiting an Apple store for the first time and not understanding how to use the mouse (it doesn't have any buttons — Mac users will know what we're talking about) was somewhat humiliating, and made the whole enterprise seem daunting.
Because we were new to this development environment, it seemed like a demonstration project was in order to be able to really learn the system. So I decided to write a really simple game based on a project I'd done in high school over twenty years ago (yes, I'm that old). It was called repulsion pong, and had been implemented on an old Apple II machine. The entire game consisted of three circular white blobs: one for each player, and a single ball that moved between them. There was an old game controller consisting of a single knob and two buttons that was used to move the paddle. It was really primitive, but a lot of fun. At that time, I didn't imagine this would ever be useful for anything but my own entertainment.
I decided that re-implementing this old game for the iPod Touch would be a good way of learning basic development and OpenGL stuff for the iPhone environment. The original concept wasn't very complicated, and I figured the whole project would be finished in a few weeks.
Boy was that naive! Even accomplishing basic tasks (including even getting setup for development and testing on an actual device) took much longer than we predicted. We started out using many standard code packages and libraries (such as OpenAL for sound), but these have limitations and deficiencies that became more and more obvious as development went on.
True to the “roll your own” tradition here at Neonatura, a variety of sub-projects were started as a result. A brand new sound engine, constructed from the ground up, has been built to support smooth and continuous changes of pitch and volume, and artifically generated sounds at run-time (such as the paddle drones). We've spent weeks on experiments into sound perception, reverberation simulations — anything that seemed helpful.
But once we got started with the project, it became clear how cool all of this new technology is, and the program just started growing. Each new idea created more code, more possibilities, more fun — and more headaches, too. The revelation of the positively charged ball opened a whole new camp of possibilities, and problems. It took months just to devise AI (artifical intelligence) algorithms for the computer to use to be able to return such balls.
At that point, we'd spent several months working on what came to be known as the eBall project. The program was far from polished, but we'd invested so much time in it that it seemed like maybe we ought to try to finish it and release it on the AppStore.
That goal posed its own challenges, many of which we're still grappling with. Applications are supposed to have an associated web site. Web site? We'd only ever written one <html> tag in our lives (you can read that story here, maybe?), so that was a whole new technology to learn. Being Neonatura, the web page you're reading has been generated using in-house web page management tools we constructed ourselves.
This project took a lot more work that we originally thought — it's been well over a year in development. If you spend even 1% of the time with it that we did, it'll have provided hours of entertainment! We hope you'll enjoy playing ElectroBall, and will look forward to new titles from Neonatura Games.