Saturday, July 23, 2011

Third Praetor Campaign Underway


I've been seeing a lot of crashes reported by Praetor users, and the new WP7 developer "App Hub" reports statistics that corroborate: both the for-pay Praetor and the new ad-supported Praetor Free have been crashing far too often.

To fix this, over the last few weeks I've been concentrating on finding and fixing crashes and adding defensive code to make any as-yet-undiscovered bugs less visible in the field. For example, one of the computer opponent's current symptoms is that sometimes--maybe once every fifty battles or so--it will run forever trying to decide on its next move. I've found and fixed lots of causes of this, but there might be more causes--so I've taught the for-release builds to just give up looking for new options after a certain amount of effort, such that the computer opponent might play stupid but at least won't crash and bring the game down. Invariably that kind of defensive code is disabled in my debug builds, so that I'll still see the bad behaviors in house and will have a chance to fix them.

The newly stabilized Praetor 2.4 is in the release process, awaiting Microsoft's say-so to release. With any luck this will be the last substantial update I'll need to make until it's time to release the next campaign as Praetor 3.0.

With every campaign I'm adding 25 new battles, including 25-35 new bad guys and 20-25 new good guys to join your army. I'm also trying to add new features to the base game, however simple--for instance with the Water campaign I added the new Swamp tiles, which have an unusual effect on your movement across the land and can inflict a nasty Swamp Rot on your creatures. The Water campaign also added the idea of Allies--named warriors that join you on the battlefield as each fight begins.

The screenshot in the upper-right is faked--it's just a mock-up that I'm using as I try to get the visuals right--but it shows two of the new things I'm adding for the Air campaign. In the lower left is a series of Desert tiles, which inflict Exhaustion much as Swamp tiles inflict Rot. As your creatures try to travel through the deep desert their movement speed slows and their movement cost increases, and the longer they stay in the desert the more strength they lose. That strength recovers slowly once you leave the desert--unlike Rot, Exhaustion isn't fatal--until you're back to full strength. The result should be that crossing a desert will be a lengthy, wearying process--just as it should be.

More interesting is the red field in the upper right. Yes, Praetor is going to gain walls now: with the Air campaign you'll actually be tackling multiple cities and other fortifications, and you'll need to bring your catapults and siege engines to break down those walls. Oh, it's going to be simply tremendous.

I wrote the first 50 battles (all I've published so far) one at a time, kind of choosing where the plot would go with each battle as I wrote it. For the Air campaign, since I've been writing code only to fix bugs in the current release, I've spent time designing the new campaign instead of just immediately writing it. I've now got all 25 battles figured out ahead of time: all the bad guys, all their skills and strengths, all the things you gain and all the little plot twisties are already plotted out. That should make actual construction of the levels a lot easier to accomplish, since that creative part is the stuff I find hardest to accomplish--and now it's out of the way, leaving me able to concentrate on the easy part (the coding).

Oh, one more spoiler: in the Air campaign you'll be picking up a new ally: Kaitronius, a cousin of your second-in-command Tallius. Kaitronius will be with you for the rest of the game, and eventually the land in which you're fighting will be named for him ("Kaitron") when he is martyred near the end of the Fire campaign. That's all paving the road for the follow-up game "Lords of Kaitron," which I'm busily plotting out.

Wednesday, June 22, 2011

It's been about three months since I posted here. See, Praetor was just a huge undertaking and it left me kind of exhausted--so I took about a month off from doing anything other than the most essential bugfixing for my games, and concentrated on other stuff. Got my third-degree black belt. Turned 40. That kind of stuff.

And since it's been a full quarter since Praetor hit the markets, I bet you're all just dying to know how well it's selling. Well, I've got good news and bad there.

First, Praetor has unquestionably been a hit. It's in the phone's Top Downloads list just half a dozen flicks of the finger down from the top, far above many games--including some Xbox Live games--that I would've considered top notch. It has amassed over 100 reviews, almost all 4 or 5 stars (average is rounded to .5's, and stands at 4.5) and almost all using words like "incredible" and "amazing." I confess that I'm a little addicted to checking for new reviews a couple of times a day, just for the minor ego boost.

So subjectively, the game is doing well in the marketplace. Here's a more objective set of metrics: to date Praetor has racked up 1150 sales out of approximately 6000 downloads. That's a conversion rate of nearly 20%--extremely solid, especially considering that the app currently on the market doesn't even have an in-game link to make purchasing easy.

But in absolute numbers, 1150 sales isn't very much--not for a game that's doing so well by all the other metrics. Praetor sells at 99 cents, and I get 70% of that as gross income--so I'm making 70 cents per sale, which means to date Praetor has turned in about $800. Subtract the several hundred that I invested in outsourcing for music and graphics, and the yearly fee for being in the WP7 marketplace at all, and I'd be lucky to have netted half that. Subtract another 30% for taxes, and the 10% that I'm paying my son (who helped me come up with content for the game) and I'm left with about enough to support my Starbucks habit. Year of work == Starbucks habit. Yikes.

So I'm going to try something I never thought I would try: I'm going to release a second version of Praetor, this one free and displaying ads. Word on the developers' forums is that ad-supported apps are generating far more revenue than their paid equivalents, and it was the work of only one night to add the necessary code. Will give it a shot and see what happens.

In the mean time, after my brief "break" I've picked up working on the second episode of Praetor. Actually I just finished coding and testing battle number 47; when I finish number 50 I'll give it a little more testing and release version 2.0 to the world. I've also decided to increase the price to $1.99 for the non-ad-supported version; after all, there's twice the content now, so why not twice the price? If it drives more people to the ad version, well, so be it; I'll get paid there too.

I hope, anyway.

Sunday, March 27, 2011

And it's away!

I've just submitted Praetor to the Zune marketplace for inclusion in the WP7 app catalog. It will take several days at least before I know whether they're willing to include it as-is or require changes first.

It's been almost exactly one full year since I started development, and this is unquestionably the biggest game I've tried to produce under my one-man "Random Software" hobby label. The final package, fully compressed and encoded for release on a cell phone, is 24MB; anything beyond 10MB is considered sufficiently big that you need to connect your phone to a computer to download it, so this lands squarely in the Epic category as far as cell phone games are concerned.

I'm releasing Praetor exactly as my wife wisely suggested: rather than finishing the full hundred battles immediately, I've done a solid 25--including the first mini-boss and completing the entire Earth Magic saga. If this Episode 1 proves popular enough to justify the extra effort, I'll push ahead with Episode 2 where we wander into the lands where Water Magic prevails--and then on to Air and Fire if my enthusiasm stays strong.

So, congratulations to me! All three readers of my blog can rejoice. With projects that take a year to complete, it's pretty rare to get one to this stage of completion--and that feels pretty good. I'll post again if/when it finally shows up in the Zune marketplace.

Thursday, February 3, 2011

Praetor Progress


When we last left our hero--on Christmas day 2010--he reported in with 4 Praetor battles completed and good hopes for the future. Today, about 5.5 weeks later, the total stands at 23 completed battles and the game is looking great.

My wife is pushing me to declare victory at 50 levels, composing the game for a decent storyline completion halfway to my original goal and releasing it to the general public at that point with an upgrade (or "expansion pack" as she calls it) to follow down the road. And I have to admit I'm starting to like the idea; Praetor is turning out to be a lot of fun, and I'd like to see if it can actually build a following or not before I plow N more months of effort into it. At expert difficulty each battle still takes me 5 to 10 minutes, so 50 levels is between 4 and 8 hours of game play--perfectly fine for a 99-cent cell phone game.

I've also started adding more material to the web site--a couple of new screenshots and the beginnings of a strategy guide to help you get through the levels. Some of them are pretty tough, and reading through the guide you can see how your tactics have to shift as the opponents get stronger and you get new pieces to work with.

Monday, January 3, 2011

Robots.

Not really gaming related, but it's taken up some of my free time lately so I wanted to share my latest toy.




Several other amateur-robotics photos and videos are collected in that same path, available for browsing on http://www.randomly.com/richard/robot.

Saturday, December 25, 2010

Praetor: Not Dead!

It's been a few months since I posted here--a gap that started, appropriately, just after I declared Praetor past the hard bits. Heh.

The delay has been caused by a new project starting at the office, which has consumed all my free time. The office is shutting down (as in, fully powered off while they swap power transformers or something) for a whole week during the holidays, though, so I can't make any progress on my Official Work and have plenty of time to play with Praetor again.

A few months ago I hired an artist to provide the big map, a 4-megapixel image that the game will reveal progressively as you work your way through the campaign. He delivered that in October, and it's perfect. A lesson from this: invest a little and farm out the things you can't do well to someone who can. If I'd done that map it would've looked awful; instead, this key piece looks like something out of the Lord of the Rings and it adds credibility to the whole project. Here's a small piece from it to give you an idea:


In addition to incorporating this gem, over the last few days I've made a lot of little changes: polishing up the tutorial, fixing bugs, rounding off the UI (adding an options dialog, delete-game popup and so on) and even adding some new content.

I've also made the executive decision that this first release will provide the campaign game only: no two-person online play yet. That's an unpleasant step back but it's very freeing; there was a good month of work needed to allow two-player games, and I don't want to waste that time. Now I can focus on the campaign, which is really the essential one-player RPG part anyway.

The role playing campaign takes place over 100 battles that occur as you work your way through the world map. Last week I had one test battle available; now I've thrown that test code away and have 4 finished battles instead--each with its own enemy, sound effects, game strategy and incorporation into the campaign narrative. In other words, the game is now 4% complete. Experience says it takes about two hours to add each battle at this point, which means I'm about 192 working hours from finishing the app.

That sounds like a lot, but in truth it's pretty exciting. Just as I predicted last time, I'm now seeing Praetor marching forwards: every few hours I extend the campaign a little further, and I'm already seeing my character increase in strength and gain new playing pieces as he racks up victories. And best of all, the freaking game is fun--I'm really enjoying the test play, and am still learning new ways to use the pieces I have.

This thing's going to be a winner, and I'm all excited about it. :)

Saturday, September 4, 2010

Progress? Yes, that would be lovely. Thanks.

I think Praetor has finally gotten past the Hard Part.

Every project reaches a point where multiple subcomponents have become functional--maybe not finished, but at least functional--and it's time to integrate them. That's when the real hairball begins. Integrating the audio, the rendering engine, animation sequencing, the storage subsystem and so on turns the complexity knob up to eleven. If the subsystems aren't individually stable or if their interfaces were designed poorly then the whole thing usually cracks and the project ends. On the other hand, if it hangs together, the the rest of the project gets easier and easier.

Being such a large project (okay, large for a one-man outfit anyway), Praetor has had an unusually long period of integration. Fortunately, though a number of minor problems have turned up from time to time, its separate subsystems have held up very well indeed and I believe the worst of the work is over.

At this point one can start a new Campaign, read through some filler RPG elements, mess with the world map, challenge enemies and actually play a full battle against the enemy. If the player loses there's more RPG elements and the player gets to retry; after a victory the world map expands and new options appear. The computer AI--rewritten three times--plays a tough game and moves quickly. Changes in the game are saved persistently, and one can pop in and out of the game without any ill effects--perfect for handling inbound phone calls for example. In other words, it's acting like the real, final game should.

But having passed the tough part doesn't mean it's anywhere near halfway done.

This project is unusal for me in many ways, not the least of which is that it involves a lot of content. Most games I produce rely on either fixed or random initial conditions; they don't have narrative, they don't require a series of fifty different playing boards or anything. I pick projects that are simple like that because I don't have time (or adequate creativity) to fill in all those details.

Praetor, though, needs a lot of content. The campaign alone involves a hundred different battles, each with its own playing field and custom opponent, and most of them use new types of cards. There are narrative elements throughout the campaign, and unique graphics and sounds for all this stuff. And I only have a small fraction of that finished: one territory's battlefield, seven or eight different cards and "TODO: show something meaningful now" text appearing for the campaign RPG elements.

All that stuff is bulky, but none of it is particularly risky. So at the point the game looks like it will make it--it's just a matter of time.


^^^
Hey, look, new screenshots!