Golden Rule of Adding Moving Gameplay Elements

Posted by
February 18th, 2008 2:40 pm

Copied from my Dev Blog

So eventually you’re going to have to put in moving/walking/talking elements of various varieties in most any game. Maybe they are lemmings. Maybe they are AI controlled bot opponents in an FPS. Or maybe they are soldiers in an RTS, or enemies in a hack and slash. In any case it’s daunting to add these gameplay elements because the behaviour will ultimately require so much tweaking and experimentation. Where do you start?

Carefully creating a system for managing/handling such creatures is… somewhat uninspiring work. And worse, what kind of result do you get? Did you end up forgetting some crucial detail, or do you get a very complex, neural-net-enhanced AI that just acts stoopid? Good luck!

When you see your little guys moving around, only then do you start to see what practical changes you can make to their behaviour. It doesn’t mean you can’t have larger scale frameworks in place, it’s just that even with these frameworks (e.g., pathfinding) it’s not too obvious how to code the heuristics until you are into.

This brings me to my Golden Rule of Adding Moving Gameplay Elements:

First, just add something that stands still and you can zap.

Of course, “zap” might stand for anything. Maybe zap means clicking an RTS unit. Or talking to an NPC. But your first implementation should not worry about movement or anything. It should just create the actual unit, place it. You can start to work out your enemy placement/spawning system at this point, or start to think about how they will behave. But either way, what you really need before you can get started on any practical level is to get it placed. And in order to do that most easily, just forget everything else that will have to go into it for the time being.

I would do well to remember this in the future. This way of thinking avoids me spending all kinds of time mulling over millions of options without anything to start experimenting with. With a purely dumb element placed, purely dumbly, I am able to start the kind of wheedling experimentation neccesary to make it work.

Tags: , ,

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]