Now that my first iOS game is done, I wanted to explain a bit about why I decided to make this game and why I made it the way it is. Just to explain a little bit about what went on before and during development…
I’m a big fan of retro gaming (it wasn’t called retro when I was a kid, of course) mostly because those are the kind of games that were done at a time where graphics weren’t too powerful and so you had to focus on gameplay. I’m specially fond of vector games such as Asteroids, and many of the other games of its time… The technology behind those games was very different and used monitors that worked in a totally different way, actually drawing all the lines instead of drawing a raster image with horizontal lines like normal TVs do. This meant that there weren’t any pixelation problems. The resolution was perfect…
Of course, a vector game in a regular computer monitor (or iPad screen in this case) will not have this advantage… My intention with this game was to come as close as it was possible in this type of screen.
That’s why everything in Star Brawl (except for the logo screen at the start of the game) is drawn in real time using lines. The only liberty I took was to use lines of different thickness which wasn’t possible in real vector machines.
So, that was the first design decision: Everything in the game should be made out of vectors and calculated and drawn in real time, to keep the spirit of the old vector machines.
Then I had to decide how I’d draw the vectors. I basically had two choices: Hardware accelerated OpenGL and Software rendered CoreGraphics (the Apple library to displaying any kind of graphics on Apple devices). OpenGL would have been faster but in the end, after doing an early demo with both, I decided to use CoreGraphics.
The first reason was because it supports nice curves and line anti-aliasing (which makes all lines smoother) while also supporting shadows which I use to give the “glowing” effect. In the end I almost didn’t use any actual curve because it was just too slow… but the lines still look very nice…
The second reason was because I kept reading online that Core Graphics was too slow for gaming, so after a few demos where I saw it could be done, I decided I had to give it a try… Just to see if it was possible…
In the end, the game works, although it’s not as fast as it should have been with such simple graphics. I do think it’s smooth enough, at least on my iPad2, especially considering it has particles made out of many small lines for the smoke and the explosions, but with OpenGL it would have been smoother… There was a point during development where I had to limit what I was putting in the screen so it wouldn’t slowdown… And it’s funny because I tried to optimize all other calculations (gravity and collision) until I realized they were taking like one tenth of what the actual drawing was taking…
So… I just had to draw less lines which basically meant limiting how many aliens were on the screen at once in the Challenge Mode.
Last… why another space dueling game?
There was a game I used to play a lot in the 90’s. I still have it on an old PowerMac 7100 I used at the time. It was a small freeware game about space combat. The one thing that it had that I hadn’t seen in any other game of its type was a large play area and an auto zoom feature that would zoom in or out as the player ships approached or got farther away from each other. If you flew far enough, sometimes the ships would become so small it’d be hard to know where they were pointing. Actually this same mechanic was later used in the excellent Smash Bros. games from Nintendo…
But it was so cool to have so much space to fly around in, it actually was the thing that made the game fun. Most 2 player games of this type either limit you to the size of the screen or use some kind of dual screen mode. I don’t like either much…
So I wanted to make a similar game, but this time using realistic physics (the ships in that game flew more like a plane would) and with a few more features like landing on objects… (Yep. Space Lander is also a favorite of mine). I actually used the same mechanic to handle landing in both Star Brawl and in my first mac game Space Garbage Men which I wrote more than 12 years ago…
So there it is… a little bit about Star Brawl… the game I guess I basically made because I wanted to play it… I’m not sure how many will like it, but I’m satisfied it is exactly what I was looking for… 🙂 Maybe if someone else really likes it too I’ll have to add online play to find a worthy opponent…