Cathode Tan - Games, Media and Geek Stuff
logo design by man bytes blog

Monday, January 17, 2005

Dev Day Diary: Crisis of Design

There's an occurence in my work, both professionally and as a hobby, that I like to call a crisis of design. Think of it like a crisis of faith, only completely different. A crisis of design occurs when you have like four seperate good ideas that just can't work together. On their own, each of these ideas are perfectly sound, reasonable and technically feasible ideas. The problem is that one of these ideas eventually conflicts fundamentally with another idea and the whole house comes down.

To put it in Tom and Jerry terms, sometimes it's a good idea to get a cat. And sometimes it's good to have a cute rodent around. Sometimes when you do both you get an anvil on the head.

Unreal Defense Squad was supposed to combine Unreal action with squad level management. Nothing on the order of an RTS, but you were supposed to feel like you were in control of the squad and get a notion that you could use different strategies to solve different problems.

One way to do this would be to have well designed maps with specific map objects to assist in controlling the squad and setting up strategies. So a door could be hacked open, or blown open, etc. And specific points could be used for cover, sniping, etc. The HUD would help out in creating these points. The problem with this approach is twofold - 1) it requires a create deal of custom asset creation ... and I'm just one guy. 2) It becomes repetitive - players will likely use the same strategy that works repeatedly and never be forced to change up.

So the other way is to create random maps. Random maps would insure that players couldn't solve a level using the same tactic because they would have to change up to compensate for variations in the map. The problem there is that Unreal uses a node based intelligence system, and making the squad seem both obedient and moderately intelligent becomes counterproductive.

Hence, crisis rises. The three design requirements - squad level command, mission replayablity and decent AI conflict with each other.

So there's two solutions to a crisis of design. Either brute force through the problem or redesign it. Since I'm just a hobbyist I have both the luxury and option of doing the second. There's probably fewer than five people in the world even aware of this mod, so it's not like anyone will be broken hearted. Plus, I have found that brute forcing through something as a tendency to just trash everything in sight.

So, the redesign. What leg of the stool will I change? Well, oddly I'll be removing the decent AI completely. That's right, completely. Well, mostly. Unreal Defense Squad is going turn based. This way the squad will be as intelligent as you make them. The only AI required will be rudimentary hunt and attack from the enemy, although if that goes smoothly I may attempt group level tactics.

I've actually always wanted to make a turn based game using the Unreal engine and these designs are based on the Freehold Tactics gametype I never quite started. I spent about half this weekend getting it kicked off and it went remarkably smooth. Well sort of. I have a basic turn system for the player working. You have a time limited turn, you can select various squad members and tell them to either move somewhere or fire at an enemy. The enemy will also take a turn, selecting a single pawn, find and enemy, and run to them firing (which, with the complete lack of cover is remarkably effective).

Most bizarre bug though - everyone on your squad has the same name. No matter what. Gotta love it.

No comments: