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

Thursday, February 17, 2005

Hamster Wheel

For those familiar with my rodent problem, you'll appreciate the fact that now that I have my box back up and running - I almost regret it. Currently I've taken the Unreal Engine, ripped apart it's basic concept of how players control actors in the game, spliced it back into the illusion of a single player taking turns against the computer and placed within a framework capable of creating missions, forming squads and even faking e-mails from fictional co-workers.

And now I just want to hit my head against the monitor. While definately past that other crisis which spawned this turn-based framework in the first place, now I've got minutia to deal. And really important minutia.

For instance - my biggest AI problem right now deals with landscapes and line of sight. Normally in Unreal, bots know where than can go via previously established and non-mutable nodes. In the UDS framework, those nodes can't exist because the whole map is random. So the code which makes these AI choices is attempting to sniff around to find a decent path between the enemy and it's chosen target. It succeeds approximately 70% of the time, but another 30% is spent needlessly taking turns or attempting to climb trees.

Now, I could easily solve this problem by removing the random terrain. Without terrain, I know that the spot where the enemy is trying to go should be in sight, and if not then there is likely some kind of problem. When I've put a hill in the way, however, I can't make that assumption. I've got this actor called a SkyKing which floats around and helps the code "see" over hills, but it's still having problems detecting obstacles in the path.

Course the problem is that I've grown to think that the random terrain is beneficial to selling some immersion for the game. Turn based play is hard enough without having every map as flat as a pancake. So now I have to weight that benefit versus the technical problem it causes.

It's usually this kind of minutia that can drag out and potentially suffocate the whole project. I think at this point I have too much invested to actually walk away, but I also know this won't be the last of it. This is that odd point where a tech demo has to actually try to be a game - and I'm much better at the former than the latter.

No comments: