Delays, delays. I had been secretly aiming for an early release of Sky Madness, but unfortunately I’ve eaten through my time cushion. My expected release date is now August 1.
I am currently working with a small beta testing team to iron out the bugs, in an effort to avoid posting a whole bunch of follow-up builds. I have found a great musician for the soundtrack, and am in the process of inserting the music, making sure to add a mute button this time.
This is going to be a terrific game. I hope that you will love it and decide to support my efforts by purchasing the full version.
Some of you may have tried my latest flash game, Bathroom Simulator. Although the game is not a new concept, and certainly not my invention, I enjoyed creating my own version of how I thought the game should be, with my own graphics, sounds and personal rules of bathroom etiquette. Before releasing it as a free flash game, I actually developed the game as an iPhone application using xCode.
Unfortunately, I ran into a major issue when it came time to submit the game to iTunes Connect, the agency used to collect applications from developers like me. My digital certificate was either invalid, or appeared invalid. Digital what? That was my reaction, after investing 20 hours in the project, only to hit a barricade at the very end of the process.
Well, I was not alone. I googled the issue and found others who had a similar experience. Many of whom I spoke with had managed to resolve the issue, but not me. Being new to xCode and iPhone programming, this was extremely frustrating. Now I was investing even more hours trying to resolve an issue that still exists somewhere deep in the guts of my app.
At that very time, Airport Madness 2 was gaining traction. I became busy with adding features, answering emails and squashing bugs, and decided that AM2 was more worthy of my attention than the iPhone app. So I shelved it. One month later, somebody else beat me to it, and their iPhone application became the #1 freebie for over a week. Ouch.
The experience kind of turned me off of iPhone programming, and so I decided to go ahead and launch Bathroom Simulator anyway, as a free online flash game. It’s done OK. Since then I’ve totally embraced Flash, Flex and all things Actionscript. My next game, Sky Madness comes out in a week, not as a continuation of Airport Madness, but more as a close relative of it. I also have two other flash games that I am working on, and have also promised everybody that there will be updated builds for Airport Madness 1 and Airport Madness 2 by the end of August.
I am planning to port these games over to the iPhone in the near future. As I code up these flash games, my Macbook sits lonely on a shelf in my den, beckoning me to flip the lid and fire up xCode. Even my Actionscript hero Keith Peters, who has taught me just about everything I know of Flash through his wonderful books, has moved on to iPhone development. Although I intend to make many more Flash games, it makes sense to put these games on more than one platform, if possible. Maybe I’ll develop them for the Android as well.
Airport Madness takes to the skies in my upcoming new game, Sky Madness. I know that I promised a screenshot over a week ago, but what can I say? There is always so much to do. The release date for this game is July 25, 2009. Have a look:
This game obeys my new law, “less realism, more fun”. To be a successful game, the fun factor definitely has to be there. Aside from a small die-hard group of ATC simmers out there, the masses just aren’t looking for uber-realistic ATC games, so I am trying to come up with ways to simplify and intensify the game experience here.
The idea is to climb or descend all aircraft to their correct flight level without hitting any mountains, blimps, birds, restricted airspace or other aircraft. From my initial beta testing, I can tell you that it is definitely not as easy as it looks. I had intended to have this game ready by now, but had to abandon an original control interface concept that involved UP and DOWN buttons. All that mouse-clicking really sucked away the fun, so I’ve gone with a click-and-drag concept to reassign flight levels to aircraft.
There will be a free version and a full one. The full version will offer more levels, a continuous-play option, no ads, and will sell for just $4.95. The code is still wet (so to speak) so if you have any suggestions, please email me. I really hope to make another successful game from this 2D sky concept.
For all of you mobile freaks out there, check out Kick Butt Applications, a new mobile application blog. Very humorously written, with good info for those addicted to mobile apps.
It’s always a bonus for me when I find a blog that is funny, relevant to my interests, and with a refreshing lack of spelling errors.
There, I said it. I probably just lost a bunch of potential traffic, but hey, at least I am honest. I’ve faced some real challenges in coding one of my upcoming top-secret games. Actually, the code part is easy. It’s the math and physics involved that make me crazy. Last night I came close to looking up my Grade 12 Calculus teacher and asking for assistance. Then at around 12:30am I stumbled upon a great tutorial by Senocular, and it really saved me.
I’m sure you’ve seen Flash games where a missile gets launched into the air, and it flies a nice smooth arc back to earth. Many of these games are two-dimensional, meaning there is no depth to the scenario. My project involves the launching of various objects into the air, but in a three-dimensional world. When an object in the game is fired “into the screen” it should shrink if you want it to look believable, and it should grow if it gets fired outwards, toward the player’s face.
The trouble lies in calculating the proper motion of an object at varying depths. A ball that appears to be traveling fast at close range will appear slow when viewed from a great distance. The trick, as I have learned, is to first realize what the real problem is. You have a three-dimensional scenario that needs to be displayed on a 2-dimensional screen.
In games, information such as speed and direction are stored in digital containers known as variables. A ball that is thrown across the screen is said to have a vx (x speed) and a vy (y speed). In the real world there is a third dimension, depth. Depth is an object’s position on the z-axis. When making the necessary conversion from 3D to 2D, it becomes apparent that these 3 dimensions must be made to interrelate. For example, an object up close always appears faster than an object viewed from a great distance. This means that when the z value is large, the vx and vy values must be made smaller. Coding this up is not as simple as plugging a bunch of values into the Pythagorian Theorem. It is messier.
The big trick is to create virtual x, y and z values. Huh? You keep track of an object’s position along the three real-world axis: x, y and z. When you convert this real-world scenario to 2D, the z value doesn’t really do much except scale the size of the object, and scale the size of the x and y values. When an object is far away it has a large z value, and therefore the object needs to be scaled down to a small size. If the ball is travelling from left to right, it’s speed must be scaled down in accordance with it’s depth, or distance (or z value, to be technical).
If you have read this far and are not daunted in the slightest, I would highly recommend anything written by Keith Peters. Have a look at his amazing book on the left. He discusses in depth how to make things move with actionscript. Easy enough for beginners, but certainly not boring for experienced coders. He even has a second book, Advanced Actionscript 3.0 Animation which picks up where the first one ends.
This blog is not going to get technical very often. The inner workings of 3D programming is really fascinating, and it has been a lot of fun to learn. Creating this next game of mine has made me feel somewhat like a mad scientist (except I’m not in a creepy underground lab with bats and spiderwebs, I’m usually sitting at Starbucks!).
I am especially psyched about a new game that I am working on. I can’t share a lot of details yet unfortunately, but it will be available here on July 10, 2009. I should hopefully have some screenshots up by July 1, 2009.
One of the great difficulties I experienced while programming the Airport Madness series was testing. I would receive an email about some aircraft that wouldn’t line up with the runway properly, so then I’d fire up AM2 and wait patiently for 20 minutes until the scenario in question would finally occur. I would perform debugging sessions that lasted hours on end. What a time eater. I could be doing other stuff, like filing my taxes late.
During the creation of Airport Madness 2 I tried to be good about posting details of delays and troublesome bugs. Then finally somebody emailed me and said, “If you spent as much time coding AM2 as you spend writing about coding AM2, it would be done already!”. Good advice, however I do intend to post my progress regularly on projects old and new.
Although I am moving forward with some new projects, I have not forgotten the existing ones. Airport Madness 1 is in need of an overhaul. Some bugs still exist, and it could use some of the features included with Airport Madness 2, such as pause and mute. Airport Madness 2 has some minor issues, and there will be a version 1.8 coming out for that in August.
Please don’t hesitate to email me if you have any ideas for new or existing games of mine. Many of my ideas come from email that I receive. And if my emails sound a little short and blunt, please don’t take it personally. I am trying to answer them all. Thank god for the iPhone.
Here is a project that I originally published as an iPhone application, and last week decided to distribute it as a Flash game as well.
There are several versions of this urinal game circulating the internet, so admittedly it is not an original concept. Here is my version of this great game idea, and I hope that you enjoy it.
The idea here is to test and improve your public washroom etiquette. You choose the most appropriate stall in a variety of situations. The Bathroom Simulator was inspired by several other games that are based on this concept, but mine has enough “extras” to hopefully get your attention.
The other urinal games are fairly basic, offering the player a variety of situations such as, “There’s a guy on the left and a guy on the right, so which urinal will YOU choose?”. I’ve really tried to pimp things up by adding sit-down stalls, busted urinals, and pervert bikers. The game is loaded with graphics, sound effects and music.
I always appreciate fresh ideas from people, so let me know if it is missing anything, or if it could be made better in some way.
Since I haven’t posted any Airport Madness updates since its’ release May 2nd, I thought I would bring everyone up to speed on what is happening with the project. In it’s first two weeks, I released no less than seven updates, bringing the build number to the latest 1.7.
It was never my intention to release so many new builds so quickly. This action was in response to the many emails I received that brought various bugs to my attention. Airport Madness 2 still has a few minor bugs which I have every intention of fixing in the future. However, I must focus on other projects first, partly due to time constraints and partly because, well, I’m kind of burned out from AM2 and need a change of scenery for a while.
The current build is very functional, with only minor inconveniences such as aircraft landing lights that don’t always turn on when they are supposed to. I am keeping a list of such issues, and will likely release another update in August.
“August? Are you kidding me?” August is realistic. Heck, it’s already June, and I’ve got stuff to do. If I get a build out in July I will be the big hero, won’t I?