Network Sites: FPSguru.com RTSguru.com UnboundGamer.com
Login:  Password:   Remember?  
Show Quick Gamelist Jump to Random Game
Games:570  Guilds:2,964
Members:1,441,619  Online:0
Guests:0  Posts:4,581,395
NetDevil
MMORPG | Genre:Sci-Fi | Status:Cancelled  (est.rel N/A)  | Pub:Codemasters
PVP:Yes | Distribution:Download | Retail Price:n/a | Pay Type:Subscription
Desktop Client | System Req: PC 

Jumpgate Evolution - AI System: Nuts & Bolts

Steve Hartmeyer, a programmer on NetDevil's upcoming Jumpgate Evolution, files this Dev Journal on the game's AI system.

We've spoken a great deal in interviews and other articles about just how excited we are about Jumpgate Evolution's AI system. It has rapidly gone from being a system intended to solve one or two things, to becoming the tool of choice to address all sorts of interrelated game issues. Although we try to maintain perspective and recognize that employing the AI system is not always the proper solution to a problem, this is truly a case where the excited kid inside each of us tends to burst out and enthuse, "We can make the AI do that! Wouldn't that be great?" It's simply the case that our AI system is turning out to be very capable and versatile, so it's extremely tempting to make quite extensive use of it.

We began simply, with the AI system's chief task being to populate space. The plan was to make large numbers of AI ships that would travel around the game, performing real tasks in real ways, using a list of available behaviors and incorporating forms of mutual communication. To begin realizing this design, we considered the basic tasks that every player must employ simply to fly her ship around the Jumpgate game universe. Each possible role, be it hauling, mining, piracy, or whatever, was considered in terms of both its unique behaviors and common activities. Each process became an algorithm. Each major type of AI bot, as defined by role, became a class. The behaviors themselves became polymorphic functions inherited by the role-based classes from more generic parent classes, such as "mobile bots" or "stationary bots". As an example, nearly all mobile bots inherit and use a "Travel" behavior, which manages the process of long-range navigation. Likewise, there are common "Dock", "Launch", "Jump", and "Avoid" utility behaviors employed by everything that must move.

The list of behaviors becomes extensive when considering the special activities of each possible role. As an example, a bot simulating a mining vessel will employ a combination of common and unique behaviors to accomplish its task. First, the bot will be created with member data that includes such things as its location and what kind of asteroid it must find to mine. The bot will physically launch as the final step of its creation process. Once the launch algorithm ends, the bot must perform a detection step to see if there are any viable targets in the area. Failing that, it may travel to another location, avoiding collisions with objects along the way, and possibly jumping to an entirely different sector of the game to continue its search. At some point, we will assume for this example that a target match is detected, so the bot will approach the chosen asteroid using a unique mining behavior. Other bots would naturally use a collision avoidance behavior in the vicinity of an asteroid or similar object, but the mining bot instead must cozy up to a rock to do its job. The bot will halt close enough to the asteroid to use its mining equipment, functionally handing off to another behavior that controls the mining process itself. During mining, the bot will perform additional transactions with the servers that handle its inventory changes, much like any player would. Once the bot determines its inventory is full, it will revert to a common travel behavior to some destination to deliver its cargo. Upon arrival at the destination facility, the bot will execute a docking behavior, transfer the ore from member data to the facility's inventory, and be removed from existence by the system.

As can be seen by the example life cycle of a mining bot, even a pretty typical AI object must be able to accomplish a significant number of different things to serve its purpose in the game. The example doesn't even include most of the decision-making variability in the process, nor does it include any interesting interruptions; it's just the dull life of a pretty normal bot.

Interruption events turn out to be the real spice of life for a bot's decision making process, and from the start the AI system was built to make them a centerpiece of its operation. With the exception of collision avoidance, all the interruption events thus far defined for the system either are triggered by, or result from, some form of bot-to-bot communication. Just as with the behaviors, we built a list of types of bot-to-bot interactions, which became a list of message types. The messages function like invitations, "Attack me", "Pirate me", "Help me", and so forth. Every type of bot places specific messages in dedicated regional communications queues. Some types of bots poll these queues at intervals, and if they find an appropriate message type, they pick up the message and change behavior in reaction. A typical example of these interactions looks like this: a hauler bot, representing a cargo ship, jumps in and posts "Attack me" on the local queue, and continues traveling across the sector. An aggressor bot in the sector, representing a hostile alien Conflux, polls the queue, picks up the "Attack me" message, and switches from loitering to a set of behaviors that cause it to locate, fly to, and engage the hauler. The hauler, now interrupted in its travel by the attack, posts a "Help me" message in another queue. A defender bot, representing a factional fighter on patrol, polls the help queue and picks up the hauler's message. It breaks from its patrol behavior and streaks to the aid of the hauler, possibly posting its own version of "Help me" for other defenders to pick up on, gathering a posse. By choosing appropriate values for different polling cycles, we've already seen very exciting, lifelike activity in basic proof-of-concept work on the system. Broad implementation for all cases, though, is not yet completed. We fully expect to continue fleshing out the AI system through release.

The ultimate purpose, however, isn't to create a nifty network of thousands of bots that effectively play the game for us. That would make a delightful AI experiment and does have use as an excellent load testing tool, but ends up doing little for gameplay. The true power of the system will hinge upon tying the already operational message and queueing system into interfaces that players themselves have access to, and bringing the universe to life in ways that let players participate. Ideally, routine player activity will post similar messages to the AI queues for bots to react to, and players will be able to passively or actively perform some kinds of polling actions themselves, with appropriate and equivalent information displays to help them react to and participate in what will have become spontaneous events originated by the AI. This is really what has the development team so terribly excited about the potential represented by Jumpgate Evolution's AI system.

While the basic interlinks between the players' UI and the bots' queues are a significant part of what remains to be implemented, we surely intend to have some of this vast potential realized by release. Imagine that, rather than the defender bot rescuing the hauler, instead the nearby players see a HUD indicator flash with a message: "This is Free Trader [i]Beowulf[/i], calling anybody... Mayday, Mayday.... "*

- Steve "Istvan" Hartmeyer, Programmer

*partial box quote from the original Traveler game, by Marc Miller, (c) 1977, Game Designers' Workshop.

More Jumpgate Evolution Features:

Jumpgate Evolution - Event Sectors Dev Journal added on Wednesday September 01
Jumpgate Evolution - E3 2010: Hands-On Impressions Preview added on Friday June 18
Jumpgate Evolution - What JGE Can Learn from Sci-Fi Games Editorial added on Monday February 08

More Dev Journals:

The Secret World - Deck Templates Dev Journal added on Thursday February 09
TERA - Vanguards Lead the Way Dev Journal added on Thursday February 02
Rise of Immortals - Ukkonen - An 'Electrifying' Personality Dev Journal added on Saturday January 21

More Features:

Guild Wars 2 - Micro-Awesomeness Column added on Tuesday February 14
The Free Zone - Is F2P Ruining Korea’s Youth? Column added on Tuesday February 14
 
 
Lobotomist writes:

Apsolutely amazing.

You guys are actually making living breathing universe

New Post Quote
1/16/08 9:33:13 AM
 
Sabbicat writes:

It will be interesting to see a truely dynamic universe in which we the gamer can participate in and influence. Nice work so far. If you continue down this path you definately will have  a hit.

New Post Quote
1/16/08 9:59:59 AM
 
BadSpock writes:

It could be amazing... and looks like they are aiming for that goal and no other.

Imagine it..

You (player) jump into a system. Trader/hauler/miner NPCs fly about on 'safe' routes through the system, protected by patrolling defender NPCs...

When a message flashes across your comm from a trade vessel...

"We're under attack by pirates! Someone please help! We can't outrun them!"

You see a patrolling defender break off his patrol route and fire his afterburner towards the distressed trader. A message pops up on your comm from the defender, he's engaging hostiles and requesting backup.

You then have a choice, help the defender to save the trader? Or simply go about your business?

The comm lights up again, a pirate's grizzled voice chimes through,

"1,000 credits to any freelancer who get's these patrol ships off our back!"

What do you do?

This simlpe situation creates so many possibilities for both PvE action and PvP action, as defined by how you wish to role play your character.

The possibilities... are truly endless.

Keep up the good work, and if the game really does play more like X-Wing vs. Tie-Fighter (instead of the crappy Jump to Lightspeed) you can count me in!

New Post Quote
1/16/08 11:16:19 AM
 
Supermax writes:

Interesting approach... I can't wait to see it in action.

New Post Quote
1/16/08 12:26:57 PM
 
BlindShooter writes:

Originally posted by heerobya

It could be amazing... and looks like they are aiming for that goal and no other.

Imagine it..

You (player) jump into a system. Trader/hauler/miner NPCs fly about on 'safe' routes through the system, protected by patrolling defender NPCs...

When a message flashes across your comm from a trade vessel...

"We're under attack by pirates! Someone please help! We can't outrun them!"

You see a patrolling defender break off his patrol route and fire his afterburner towards the distressed trader. A message pops up on your comm from the defender, he's engaging hostiles and requesting backup.

You then have a choice, help the defender to save the trader? Or simply go about your business?

The comm lights up again, a pirate's grizzled voice chimes through,

"1,000 credits to any freelancer who get's these patrol ships off our back!"

What do you do?

This simlpe situation creates so many possibilities for both PvE action and PvP action, as defined by how you wish to role play your character.

The possibilities... are truly endless.

Keep up the good work, and if the game really does play more like X-Wing vs. Tie-Fighter (instead of the crappy Jump to Lightspeed) you can count me in!

That reminds me of Space Ranger. Great game.

I really like what I'm hearing, looking forward for more info on JE.

New Post Quote
1/16/08 2:54:00 PM
 
chriswsm writes:

   This does sound good.  Might get me out of MMORPG retirement

New Post Quote
1/16/08 6:20:16 PM
 
phaydee writes:

OMG Everything I hear about this game is totally rad...  I promised myself I wouldn't get all worked up over a game before it's release(mostly because of the dissapointment afterwards) but I cannot help it! This game is so good if I could I would eat it!!  

New Post Quote
1/16/08 6:29:52 PM
 
eric_w66 writes:

I'm definitely looking forward to this game. JGC was fun, but JGE has the opportunity to be so much more.

New Post Quote
1/16/08 9:31:46 PM
 
MagicStar writes:
AIs should not be designed to replace each players roles. If there are a lot of players online, AIs should not be that important.
New Post Quote
1/16/08 9:36:37 PM
 
mehhem writes:

All devs rant and rave about how excited they are about their AI.  So far it hasn't really lived up to par.  I wouldn't have a problem with eating my own words though about this game. 

New Post Quote
1/17/08 12:10:47 AM
 
ladyattis writes:

I think most of what they're stating is not only possible, but pretty much available in the AI systems that exist today. The division of AI from bots may be useful in debugging both sets of behaviors ( code ). All in all, these developers seem to have the basics under the belt, if they're willing, they'll make several breakthroughs that will make current MMOs look terrible by comparison.

-- Brede

New Post Quote
1/17/08 12:29:05 AM
 
Supermax writes:
Originally posted by MagicStar
AIs should not be designed to replace each players roles. If there are a lot of players online, AIs should not be that important.

I'm sure a mechanism will exist to scale bot activity with player numbers or player activity.

New Post Quote
1/17/08 1:14:16 AM
 
DWJ1117 writes:

Dear God...

 

There is actually someone out there that knows what Traveller is!!!

 

Lets hope that JGE tries to get some of that "Feel" in the game.

New Post Quote
1/17/08 1:27:52 AM
 
Zodan writes:

I actually played Traveller, great system - actually the rewritten edition but core of the idea was the same and also Mega Traveller, those were the times.

JE seems to be building to a very interesting title, hopefully they won't compromise when quality and features are in question.

New Post Quote
1/17/08 8:18:55 AM
 
Ixholla writes:

Many of you who have ever played JG know who I am or have heard of me. Those that don't well lets just say that I played this game a little too much. It still remains my all time favorite game. I'm hoping that this new AI will breath some life back into JG so that I can come back and fly and fight with old friends again.

Fun Times :D

ixholla (EEA)

New Post Quote
1/17/08 2:43:21 PM
 
DWJ1117 writes:

That's great.

Did you here that MM is coming out with T 5?  It's suppose to be out summer '08.

Myself, I refereed games mostly between Traveller Classic and TNE.  Did not like TNE, but it had some good conceptual material.

New Post Quote
1/17/08 2:45:48 PM
 
Sroek writes:

 

Originally posted by MagicStar
AIs should not be designed to replace each players roles. If there are a lot of players online, AIs should not be that important.

 

They're not meant to replace players. They're meant to supplement player-interaction and bring the universe to life.

Even if there are a lot of players, AI would still be important because players could use them to their advantage in many ways, by disrupting them to throw the economy off balance or manipulate AI routes to sabotage enemy players. You just have to think about how your actions and the actions of AI effect the world around you, that in turn effect other players.

New Post Quote
1/19/08 3:25:33 AM
 
impulsebooks writes:

The way this works is fantastic. Playing a game where all this is going on will feel like the gameworld is alive and your actiuons have a real impact. For example:

A station needs supplies so it spawns a mining ship. The ship uses AI to fly off and locate the right roid and mine it. On the way it "posts" its status in a que that other bots have access to. Pirates try to kill it, patrollers try to defend it, players get involved too. If it survives it gets the ore back to the station where a hauler grabs some and takes it to another station for processing. It "posts" its status... and the entire thing happens again sparking other actions and reactions from AI bots and players alike.

I can imagine a LOT f comm traffic between bots and players... calls for help, offers of bounties to help kill this bot or that attacking player. This system will make the Jumpgate universe really come to life

 

 

New Post Quote
1/19/08 7:56:13 AM
 
Vhaln writes:

Originally posted by Sroek

 

Originally posted by MagicStar
AIs should not be designed to replace each players roles. If there are a lot of players online, AIs should not be that important.

 They're not meant to replace players. They're meant to supplement player-interaction and bring the universe to life.

 

Another thing, AI can be programmed to be a lot better at roleplaying, in a way.  It can be programmed to behave in ways that fit the environment more realistically, offsetting all the players charging around like lunatics after their dangling carrots.  Good AI can make for a much more immersive gameworld.

New Post Quote
1/20/08 12:07:53 AM
 
Jump writes:

I sure hope they don't make the AI so good that the game doesn't need me.

New Post Quote
1/20/08 8:47:19 PM
 
Leave this field empty
Post Your Comment:
Popular Features:
Player Perspectives : Content Locusts Killed My MMO Column added on Friday January 27
It used to be that hitting the level cap in an MMO was something that... Read More
Star Wars: The Old Republic : Good Cop, Bad Cop – SWTOR General Article added on Monday January 30
There is no question that Star Wars: The Old Republic has stirred strong feelings on... Read More
General : The 2011 Player’s Choice Winners Award added on Thursday January 19
A couple of weeks ago, we asked you, our valuable readers, to vote for those... Read More
The Secret World : Deck Templates Dev Journal added on Thursday February 09
The Secret World is going to feature one of the most complex abilities systems in... Read More
The WoW Factor : What is a “WoW Killer?” Column added on Monday January 16
Everyone is always looking for that game that will be a "WoW Killer" but what... Read More
Latest News:
Jumpgate Evolution : NetDevil Employees Laid Off Reported on Feb 24, 2011
According to numerous trusted sources on Facebook it seems as though, at the very least,... Read More
Jumpgate Evolution : Final Screen of the Year Reported on Dec 30, 2010
NetDevil has posted the final Jumpgate: Evolution screenshot for 2010 on the official site. The... Read More
Jumpgate Evolution : Codemasters Suing Gazillion & NetDevil Reported on Dec 06, 2010
Thanks to MMORPG.com reader, DevilXaphan, for the information that Codemasters has filed suit against Gazillion... Read More
Jumpgate Evolution : October Development Update Reported on Oct 06, 2010
Jumpgate Evolution executive producer Lance Robertson has put up a very brief overview of what... Read More
Jumpgate Evolution : Event Sectors Reported on Sep 01, 2010
Joe Grubb is the Content Designer at NetDevil for Jumpgate Evolution. He started at NetDevil... Read More