For the most part I will be moving all blog activity to my company site at oomgames.com. You can also Like me at facebook.com/oomgames or follow me on Twitter @oomgames.
I'm having tons of fun, but things are proceeding more slowly than I anticipated. I need to start making money by mid next year in order to keep doing this. Otherwise it will be back to the grind for me.
I'll post important news here, like game releases.
]]>The end of March will mark my last day at NVIDIA and my first day as an independent game developer. My wife and I are finally at a point financially where we can take the risk and allow me to try this game development thing full-time.
About six months ago I went through a round of interviews with several local iPhone game companies. I explained how I learned Objective-C and iPhone programming. I showed them demos and videos of the games I have made over the years. I believe I did well on their interview programming questions. Despite that I did not get any offers.
I am convinced that unless you are already in the game industry it is almost impossible to get a job there. I'm not surprised - I've read and known about that exact problem for years. Still, it's disappointing that I couldn't find a company willing to take a (relatively small) risk by hiring me.
So I'm going it alone. Starting in April I will be working from home in an effort to launch my gaming career. Wish me luck.
]]>I was hoping that this post would contain a video of my work in progress running on both my iPod and iPad. To do that, though, I need to (finally) sign up for the Apple developers program. And to do that I need to sign their epically long developer agreement. Since I am taking this very seriously I want to read the whole thing before spending the $99. Also it may turn out that some clause prevents me from posting updates. For now I will carry on posting as usual.
As for programming progress, I have started the framework for adding arbitrary objects to the play field. My base object is basically the same thing as a peg - static and does not react when a ball hits it. Classes derived from this will add more capability. In fact I just realized that the Launcher and Bucket objects I created can, should, and will be converted to subclasses of the general object. It makes tons of sense and is just cleaner that way.
Before this realization I had started adding a "Bumper" subclass that behaves like you see on pinball tables. Balls striking it will be propelled away. I haven't tested it yet, but it allows me to test some of the features in a more complex object: collision callbacks and time delays for resetting.
I'd also like to put out a call for an artist to help me put decent graphics in this thing. I'm sure not many people read this blog so I'll be posting elsewhere later, but thought I'd give it a shot here first. Drop me a line if you are interested.
]]>Jeez Louise, it's great to have that game firmly in the finished column. I completed the last two levels and achieved my Extreme Grand Master trophy. I will eventually put up some vids of especially good shots I made in the game.
So how did I tackle those last two levels? First up was Billions & Billions (the one with the flying saucer). I reasoned that since the saucer was the only moving object other than the bucket I might be able to use the same strategy as the previous two levels. This turned out rather well. First, I cleared all the pegs possible by firing straight down. Then I went to the far right.
The problem with firing to the sides arises when the ball enters one of the two holes and comes out the flying saucer. Luckily I found a pattern that allowed me to catch a free ball. I timed it so that the ball entered the hole, fell out of the flying saucer and straight into the bucket without touching any pegs. That ensures that it is repeatable and deterministic.
Then, as I was trying to figure out the next shot I had a good streak of lucky bounces. I decided to try clearing the level and was able to do it. Whew!
The last level, Beyond Reason, is the one with the double helix. For this one I followed the advice on the Pop Cap site. I used Splork and kept restarting until the two green pegs were in the center helix. Hitting both in one shot along with the purple peg gave me three extra balls. I got lucky and bucketed the ball as well so I ended up with 13 balls and just the bottom third or so of the helix remaining. I got a bunch of lucky bounces and ended up clearing the board. The stationary pegs are pretty easy. You definitely need to get good at anticipating the bounces off non-moving pegs to have a chance.
And after all this I'm still seeing new sayings during the load screen (Just now: "Polishing claws").
]]>The difficulty with Peggle is the non-deterministic nature of the shots. It is virtually impossible to line up a shot exactly the same way twice. However, there are three angles that you are able to get the same every time. The first is at the start of the level. The game always starts you out pointing straight down. If you don't move then you are guaranteed that the ball will bounce identically every time. The other two are pointing the launcher at the extreme left and right.
So the strategy for "End of Time" is to pinpoint where the bucket needs to be when you launch the ball such that you get a free ball every time. First, do this with the launcher pointing down. Keep firing this way until you have cleared every possible peg and the ball just falls straight down.
Next, point to the far left and do the same thing. For every ball you will need to keep track of the optimal bucket position to ensure a free ball. Once there are no more pegs to hit then switch to the far right and do the same thing.
This is not a perfect solution, of course, because it doesn't clear all the pegs. However, most of them will be gone and, with luck, you will still have ten balls with which to clear the rest. Still difficult, but far easier than starting from scratch.
One question remaining is what character to choose when starting the level. There really are only two viable options: Bjorn (Super Guide) or Kat Tut (Pyramid). All the others will mess up the sequence and cause you to clear pegs that might influence subsequent shots.
Bjorn is the safest as you can just ignore the Super Guide. With Kat Tut you will need to compute two sets of positions to launch each ball - one for the normal case and one when you have the pyramid active. The advantage of Kat Tut is that after you are done clearing all the deterministic pegs you might have a green peg or two left over to help you clear the rest.
This method falls apart if there are any moving objects in the level (other than the bucket). So unfortunately it won't be of help for Billions & Billions nor Beyond Reason. However, it will help with Yang Yin, which is another of the thorns in my side. Hopefully I'll get that one cleared this weekend.
]]>