[gameprogrammer] Re: My game

  • From: Kevin Jenkins <gameprogrammer@xxxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Sat, 24 Sep 2005 17:57:27 -0700

Evan Stone wrote:

I'd love to hear more about your AI - what sorts of things you had to work
on...

Getting Up is the largest game I've worked on. It's about 20 million lines of code with about 50 people working on it.


As a result, most of what I did was read code and fix bugs written by my predecessor or in other systems. This is unavoidable when you have that much code and that many people. Nobody understands an entire system and not a single person who wrote any of the original systems still works at the company, which is not unusual in large companies.

Getting Up has a lot of what we call "Special Navigation" in it, such as climbing ladders, going across balance beams, climbing walls. A lot of my time was spent working out how to get through these things, which can be very complicated in some cases. For example, we support jumping from a ladder to a pipe to a balance beam to balancing up to a wall climb. Every one of these situations needs custom code.

Special navigation relies on physics for correctly detecting the navigation, level design for correctly implementing the meshes and pathnodes, and script for correctly interpreting AI commands. Because of the high degree of interdependency I had to know all of those systems well enough to debug any of them.

I think when most people think of AI they think of the visible parts of what you see in the game, such as which attacks enemies throw and when they block. But actually that is mostly script. The AI programmer provides the framework and it's up to others to provide the details that the player sees.

The AI programmer is very important because he deals with many systems and is the go-to man when people have problems. But the job isn't all that exciting, or at least not for me. Mostly I just fix bugs and tell level designers or scripters what they did wrong when something doesn't work.


--------------------- To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: