James Monroe is the lead programmer for Star Trek Voyager: Elite Force.
celtic88: Who are you and what is your job at Ravensoft?
James: Hi, I'm James Monroe.
I'm the lead programmer for Elite Force.
celtic88: How did the team come up with the idea of using the Star Trek theme as your next game?
James: We thought of many different stories, but when we were presented with the chance to do Star Trek, we jumped at it! Many of us here are big-time trekkies. Originally, we were given the Insurrection movie license and we started on a storyline for that concept. Later Activision acquired the rights to Voyager and we switched over due to the scheduling of the movie and our release.
celtic88: How many people worked on the game's AI and how long did it take?
James: Well, 3 people worked on the code in the end. It started with me and Mike Gummelt, and then Josh Weir joined in later on. It was a group effort over the length of the project. We went through many iterations working our way toward the final product. Short answer: about a year.
celtic88: What were some of the problems you faced in creating a team-based AI?
James: The biggest problem with any AI is making them look smart, by doing the "right thing". When we started with the quake engine, it had an early prototype of BOT code. We quickly realized that we'd need something else to make our guys look good. With enemies, your goal is usually to destroy them. So you don't often have time to study their moves and choices. Our first team mates would walk right up to you, and block you. Or, when told to go to a nav-point, they would take the most brain-dead path possible! Not good, and not smart! These were our main challenges in writing our new AI.
celtic88: Is there anything you would have liked to included but didn't have the time?
James: For single player, we really wanted to add a command interface to the NPCs. At one point we did have a YES/NO command functioning, but it didn't really fit in to the missions, and seemed more likely to interfere with fast action game play.
celtic88: If you had the chance to start from scratch, would you have done anything differently?
James: would have made it right the first time without all the research! :) We spent a lot of time investigating different ideas, and not all of them worked out. One of the things required for this type of AI is good navigation data. The AI can only move and look as good as that data lets them. In the end, we had a very solid stable solution of designer placed waypoints for SP. For HM, we used the AAS navigation system Q3 used. If we could do it over with what we have now, i think we'd merge those two concepts together. We would use the AAS data for gross path finding and then use our waypoints for finer movements to get to a specific console.
For personalities and specific AI "behaviors", i don't think we'd change much. We ended up with very good team following and very nice group attacking behaviors for the scavengers. Another common problem, is that towards the end of the project, we can't always fix or change behaviors because so many maps and scripts are depending on the game continuing to do the same thing it had been doing.
celtic88: Do your crew members give less fire damage than you? It seems with just a blast from you and the enemy is dead, but it takes several from one of crew.
James: Yes indeed. That's one of those "make them look smart, but not too much" deals. With computer precision, they are deadly accurate. So we had to reduce that a lot to keep the game balanced and fun. It certainly is NOT fun get killed the instant you peek around a corner before you even see the enemy!
celtic88: I've noticed that your team can't climb ladders or crouch down to follow you through a passage, was this left out because of time restraints?
James: Well, sort of. They do not have crouch behaviors, because it didn't come up until near the end, and by then it wasn't worth mucking up all the scripts to get it added. The NPCs actually can climb ladders, in certain circumstances. But it didn't come up often enough to finish it. The main problem was giving them good climbing animations. They have a pretty good one, as long as they are not carrying a weapon. :)
celtic88: Will we see any updates to the bots/AI in the future?
James: I'm optimistic that we can get the updated botlib from id to update EF.
celtic88: Do you anticipate an expansion for Elite Force? If so, any ideas you have for it?
James: Right now, i'm concentrating on getting the tools out so you guys out there can start making your own mods.
Then there will certainly be a patch to fix the little problems that came up. After that, ... we shall see.
we'll certainly release some new HoloMatch maps though!
celtic88: Anything else you'd like to add?
James If we do get to do an expansion, i'd love to finish the "tour mode" where the whole ship is laid out for you to explore and interact with.