In 'Anger, Sadness & Envy No.4', Narcogen and Trindacut made some comments about scripted NPC behaviour which resonate with an article (or rant) I've been developing for some time.

Let me emphasise that this isn't a witch-hunt, and it's not targeted on any particular individual. Though I use a specific instance from Halo 3 to illustrate my point, I'm not out to pillory the person(s) responsible - we all make mistakes, and the important thing is that we learn from them. The problem I'm describing is one which I believe to be widespread in game development. It's just particularly sad, not to say alarming, to see it manifested at Bungie.

Let me begin by introducing my candidate for most annoying NPC in Halo 3's Campaign. This is the marine who delivers the Gauss Warthog as you emerge from the wall which protects the Ark's Cartographer. For those of you who haven't played through the Campaign as often as I have (no Live membership), see if any of these jog your memory:

Entering pursued by two Ghosts, he seems to find the task of driving around a perfectly ordinary rock severely challenging. He usually spends five to ten seconds edging forward and backward like a timid driver trying to parallel-park, all the while shrugging off a hail of plasma bolts from the Ghosts which would drop you, the player, a mere heavily-armoured super-soldier, in seconds on any respectable difficulty level.

Having started with a random male-marine voicing, when he finally succeeds in reaching his scripted destination and dismounts, he switches to the Australian marine voice... and stands there like an idiot yelling about the urgency of the situation and the need to do something about it quickly - rather than doing something constructive like manning the Gauss gun and taking out the Ghosts, while the poor player sits in the driver's seat watching his shield evaporate.

This whole sorry sequence is a near-perfect example of how not to use scripting within a game. Leaving aside careless errors of execution (like the voice-switch), the fundamental problem here is that rigid scripted behaviour has over-ridden the adaptive behaviour of the normal marine artificial intelligence, resulting in artificial stupidity.

Think about this for a moment. What's the difference between a good and a bad NPC AI? A good AI appears intelligent because it adapts to the player's behaviour and the situation in general. An NPC which fails to do this appears stupid, frustrating the player and undercutting the player's immersion in the game world.

An NPC's illusion of intelligence is inevitably rather fragile, given that we're still a long way from achieving true AI, and we probably couldn't implement it on the 360's hardware in any case. Nonetheless, Halo 3's marines generally do a fair job of simulating intelligent behaviour and cooperating with the player. Why, then, would any competent game-developer subvert this behaviour for no significant gain?

I believe that the answer to this question, and other related mysteries (like the infamous rulebook-busting boss-battles in Halo 2) lies in a deep cultural division in game development. As someone who spent most of a 14-year games industry career uncomfortably straddling this particular cultural chasm, I think I'm in an unusually good position to describe the problem.

The cultural division in question is the one between programmers and artists. How does this relate to the sort of problem I'm describing? Adaptive AI behaviour is created by software engineering, the province of programmers. Many artists (and game/level designers tend to think of themselves as artists, with reason) regard all 'engineering', and the people who do it, with barely-disguised contempt.

To these artists, it's an article of faith that creativity is their exclusive province, and any product or process of engineering is inevitably inferior to what they can produce. This conviction drives them to over-ride AI systems with scripting where it's neither appropriate nor necessary, and subvert the established rules of the game world on a whim. Gameplay and immersion are routinely sacrificed to their bad judgement, arrogance, vanity and insecurity.

Insecurity? To be charitable, some of these artists may see software automation as a threat to their jobs. To be brutally frank, some of them may be right. Any artist needs self-belief or (s)he will never dare expose their creations to public view and criticism, but if this is not tempered with judgement and self-honesty, the result is inevitably bad art and pretentiousness. Or, in this case, inferior gameplay and loss of immersion.

---

Postscript: Having been justly reproved for splashing my long-accumulated bile over people who don't deserve it in the least, I've apologised below, as best I can. Unless I'm asked to, I won't edit this article or take it down. Instead I'll leave it here as a lasting reminder to myself to think and think again before I rant in public.

category: 
game: 
topic: 

Comments

Miguel Chavez's picture

That's a tremendous leap from a poor NPC sequence in the game to the wide chasm that divides artists and programmers in game development. It's not like it's a stretch that folks on either side might not fully grok the other's side, or even that they feel undue pressure on their end due to the other's "unreasonable" demands, etc., but I still find it hard to point to this as proof. Here's a just as likely scenario:

Bungie Dev Person 1: OK, when the MC gets to this stage, he should get the guass hog.

Bungie Dev Person 2: Yah, but isn't he going to want someone mounted on the gun?

Bungie Dev Person 1: OK, just have the hog appear with the NPC ready to go on the gunner.

Bungie Dev Person 2: That doesn't make any sense, and anyway, I'd love to do the actual gunning in this sequence, lots of juicy shit to shoot at.

Bungie Dev Person 1: I guess you're right, but you know how it is, some folks will want to drive, and the other half will probably want to gun.

Bungie Dev Person 2: Aright, then have the marine appear next to the hog.

Bungie Dev Person 1: That still looks stupid. All this chaos going on around him and he's just standing there? Can we make him drive the hog up to the MC? That would be more dramatic. He gets out and lets the Chief decide what he wants to do?

Bungie Dev Person 2: That sounds cool. Some ghosts can be on his tail, the Chief will be jumping right into the action!

Bungie Dev Person 1: Great, give the marine some cool dialogue, and then tighten the whole thing up so it looks as polished as possible.

(some time later)

Bungie Dev Person 2: Well here it is, but we still need to tweak the actual movements. It's a little stiff and we haven't coded in where he can carry out some dialogue while at the same time protecting himself from the grunts. Give us another week and I think we can make it perfect.

Bungie Dev Person 1: Well, I like what you've done there, I agree it could be better, but unfortunately we're only 3 weeks from GM and we need to concentrate on the some of the other levels. Besides, you know most Halo players don't even care if their marine's die, sometimes they'll even do the killing!

Bungie Dev Person 2: no problem, you're right, let's move on...

Anonymous's picture

That particular example has left me frustrated on many ocassions. I try to run down before the hog comes to a stop and I try to avoid moving the hog until the marine starts to board, then I drive for cover as fast as I can.

But you are right, it shouldn't happen, period.

I assume you think that the problem is the scripting because his dialog is always the same? If it was normal combat dialogue then he'd say different things.

I've also noticed what appears to be random accent reassignment on many ocassions. Its hard to be certain that it happens when there are more than one marine with you, but I think that the combat dialog engine is mixing accents. That's just bad. I know that fixing unit identity reduces the variety of phrases that can be combined but it breaks immersion to hear the same unit switch identity. Do these marines have multiple personality disorder?

I've seen forum posts on HBO were posters suggest various ways to increase NPCs' intelligence. They normally consist of suggestions for unit formations or flanking behaviours.

The biggest way to increase perception of Bungie's NPCs' intelligence is to stop them firing into the ground or into nearby rocks.

Why do they do this?

Do they anticipate the target's movement and fire without regard to terrain?

Is the terrain invisible to them? Can they see through the ground to track targets? If even for a second or two as a cheat to avoid writing movement extrapolation code?

Do they have a high third person viewpoint. (Think of the problems aiming the Scorpion main gun or firing turrets.)

I have noticed that they will shoot through allies without any regard for the damage they are doing. I'm not talking about accidental fire, I mean sustained shooting as long as the ally is between NPC and target.

OTOH, It looks like code has been added to avoid firing a heavy weapon at a target that is close enough to cause splash damage. This is great but sometimes the splash damage is preferable to the certain death that will come if the shot is not taken. I'm thinking of vehicle combat especially Mongoose against Cruisers or Ghosts.

Finally, on Legendary, NPCs are too reluctant to pull the trigger. This cause me major frustration. I prefer to kill my allies, or leave them and pick a self operated vehicle (one where I both steer and drive). That way I decide were I go and I can ensure that the trigger is pulled. (

Anonymous's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote=Anonymous]
Finally, on Legendary, NPCs are too reluctant to pull the trigger. This cause me major frustration. I prefer to kill my allies, or leave them and pick a self operated vehicle (one where I both steer and drive). That way I decide were I go and I can ensure that the trigger is pulled. (

[/quote]
All. The. Damn. Time.

Brute crossing the street on Tasvo Highway, completely in the open. Marine on the back of the warthog, totally in range. He just sits there, and finally MAYBE decides to shoot just as the Brute retreats behind cover.

Gee thanks.

Anonymous's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

lol. thats true sometimes but i got to say, they did an amazing job on the enemy AI.

Anonymous's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

lol. thats true sometimes but i got to say, they did an amazing job on the enemy AI.

narcogen's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote=Anonymous][quote=Anonymous]
Finally, on Legendary, NPCs are too reluctant to pull the trigger. This cause me major frustration. I prefer to kill my allies, or leave them and pick a self operated vehicle (one where I both steer and drive). That way I decide were I go and I can ensure that the trigger is pulled. (

[/quote]
All. The. Damn. Time.

Brute crossing the street on Tasvo Highway, completely in the open. Marine on the back of the warthog, totally in range. He just sits there, and finally MAYBE decides to shoot just as the Brute retreats behind cover.

Gee thanks.[/quote]

Somehow I don't seem to have this kind of problem often-- or perhaps I don't notice. Sometimes marines don't prioritize targets the way I would-- especially when I'm driving around an area like a madman dodging enemy fire.

Where I get most frustrated by NPC behavior is in the quiet moments, places where they follow when you'd rather they didn't, rush ahead when you wish they'd wait, and ignore vehicles when you wish they wouldn't. It's enough to make one wish for a rudimentary command system. Then I played HL2, saw how well that worked, and realized that it was better left out anyway.


Rampant for over se7en years.


Rampant for over se7en years.



Claude Errera's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

For the most part, I've been fine with the AI; there are certainly lapses, but I haven't experienced the incredible stupidity that some people seem to put up with on an everyday basis.

My largest frustrations, in fact, came back-to-back in a single encounter - the Scarab battle on The Ark. First: I was having trouble taking down the Scarab (it was my first time through, give me a break), but I realized the main gun wasn't very smart; if you shot at it from an upward-sloping wall, it couldn't hit you.

So I parked a Gauss hog on the left bank of the archway that leads into the main battle, and got into the gunner's seat. I had a clear shot at the Scarab's leg joints (and turret gun) - but it couldn't touch me.

Until a Marine got into the driver's seat and took the hog down into the field of battle, and got me blowed up.

(Come to think of it, though, that sort of crap happens to me in matchmaking, too...)

Same fight, a little later: I'm on a mongoose, driving, and I've got Joe Marine with a rocket launcher behind me. I drive up to the back of the Scarab, and there's a brute manning the plasma turret in the opening. Other than that brute, though, the way's clear; if we can kill him, I can jump up, run up the ramp, and take out the scarab with no more friendly deaths.

Except that Joe back there has decided that his only target is the knee joint - so he's firing straight up into the air (since we're UNDER a knee joint), instead of helping take out that stupid brute.

That stupid brute who kills us both, in short order. DOH!

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote]So I parked a Gauss hog on the left bank of the archway that leads into the main battle, and got into the gunner's seat. I had a clear shot at the Scarab's leg joints (and turret gun) - but it couldn't touch me.

Until a Marine got into the driver's seat and took the hog down into the field of battle, and got me blowed up.
[/quote]
That's an excellent example of a stock AI cooperative behaviour which is helpful in 9 out of 10 cases - and then blows up in your face. This is definitely one case where a little careful scripting to modify standard behaviour could improve the user's experience, rather than degrade it. It's obvious that the level designer has deliberately provided a firing platform for the player to use, so the scripted effect could be neatly localised. Hindsight's a wonderful thing, though...

[quote]Same fight, a little later: I'm on a mongoose, driving, and I've got Joe Marine with a rocket launcher behind me. I drive up to the back of the Scarab, and there's a brute manning the plasma turret in the opening. Other than that brute, though, the way's clear; if we can kill him, I can jump up, run up the ramp, and take out the scarab with no more friendly deaths.

Except that Joe back there has decided that his only target is the knee joint - so he's firing straight up into the air (since we're UNDER a knee joint), instead of helping take out that stupid brute.

That stupid brute who kills us both, in short order. DOH!
[/quote]
Yes, that one's very familiar. My best guess is that there are quite a few inhibitions built (or scripted) into friendly AI when it comes to targeting the Scarab, in an effort to keep friendly fire off the player during a boarding action. The best evidence I can offer for this is my own experience when trying to make use of the aforementioned firing platform. I'd drive the Gauss 'hog up and try to give my NPC gunner a good field of fire. Every time, after efficiently picking off enemies on deck, he'd then either refuse to fire or pump shot after shot into the concrete in a futile attempt to hit the lower leg joints (see the problem of sightline calculation mentioned in a previous reply). He simply wouldn't target the upper leg joints, or the top turret. In every case where I have been hit by friendly fire while on board the Scarab, it seemed to be because I was standing near an enemy NPC on the upper deck, who WILL most definitely be targeted by allies. I don't think NPCs are allowed to target the Scarab's bottom ramp platform at all, at least when the player is anywhere near it.

Here's another vehicle-related example which irks me. Like many people I decided that my best chance to beat Tsavo Highway on Legendary lay in 'jacking the first available Wraith at the earliest opportunity. As it happens, I really enjoy using the Wraith plasma mortar - a monster weapon which still takes skill and judgement to use - so I normally drive the Wraith all the way to the end of the level (and carry a fully loaded FRG on to The Storm as a bonus). If you return to the roadblock battle after 'jacking the Wraith, it's not too hard, and definitely worthwhile, to pick up a marine to man the Wraith's turret, though they seem to be very finicky about where they'll board from - front left wing only.

My gripe is this: after the roadblock battle is won and the Warthogs are dropped in, my gunner will often dismount and run off to man a 'hog. I've had this happen at the roadblock itself, just before entering the next cave, and just after it when I dismount briefly to scavenge FRG rounds. This is a clear exception to standard cooperative behaviour, and it seems so unnecessary.

Harking back to Narcogen's earlier comment about marines who rush ahead where you wish they'd hang back, the end-of-level encounter on Tsavo Highway is the most frustrating example I can think of. There I am, happily raining huge balls of plasma on the Brutes defending the roadblock, when a Warthog comes up behind me and a squad of marines dismount and charge past. My playing style is to avoid friendly kills, so I check my fire. The survivors race straight on over the hill and hurl themselves straight at the Brutes. It's such a senseless, futile waste of simulated human life. I don't demand or expect textbook armour-infantry cooperation from the AI, but it would be so nice if they had a behaviour which influenced them to hang back, or at least stay out of the tank's forward 90-degree sector.

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

"Where I get most frustrated by NPC behavior is in the quiet moments, places where they follow when you'd rather they didn't, rush ahead when you wish they'd wait, and ignore vehicles when you wish they wouldn't. It's enough to make one wish for a rudimentary command system. Then I played HL2, saw how well that worked, and realized that it was better left out anyway."

A resounding 'Amen' to the remark about command systems. I've never yet seen a real-time squad command system which (in my opinion) struck a favourable balance between time/effort invested and quality of results, Mind you, I've tended to avoid games with such systems for this very reason. If anyone can cite an example of such a system which works well, I'd be genuinely delighted to revise my opinion. It's a seriously difficult user-interface (edit: and AI) design problem.

Marines ignoring vehicles when you wish they wouldn't is, I believe, a manifestation of artificial stupidity as I've defined it here. There's a rather fine line between trying to prompt the first-time player through a set-piece battle, and cramping the creative player's freedom of action. My own inclination would always be set up such situations carefully, but then rely as heavily as possible on real-time AI and the game-world rulebook to provide the bulk of the actual gameplay, rather than trying to script an encounter too closely. This clearly demands that your AI and rulebook should be painstakingly refined and tuned, but effort spent on this will pay off throughout the game. What's not to like?

I've heard ex-colleagues argue that the resulting play lacks repeatability and hence makes testing difficult. My response was, and is, that the benefits of this approach far outweigh the problems. Which is more important; keeping the player interested or placating the people who think checkboxes on a test report are the ultimate measure of value? In my own experience and observation, the dynamic, minimum-scripting approach is actually more robust - less likely to go seriously wrong - than the script-heavy approach. It also reduces the designer's workload, leaving him more time to spend on truly important things. I've always found it very hard to understand why so many people in the games industry can't or won't see the merits of this argument. Maybe that's why I have a tendency to gibber and foam at the mouth.

Anonymous's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote=narcogen][quote=Anonymous]Brute crossing the street on Tasvo Highway, completely in the open. Marine on the back of the warthog, totally in range. He just sits there, and finally MAYBE decides to shoot just as the Brute retreats behind cover.

Gee thanks.[/quote]

Somehow I don't seem to have this kind of problem often-- or perhaps I don't notice. Sometimes marines don't prioritize targets the way I would-- [b]especially when I'm driving around an area like a madman dodging enemy fire[/b]. [/quote]

I recognize that technique, it was my number one ploy ;-)

Use speed, rapidly changing angles, and distance instead of cover. It doesn't work so well in Halo 3 because the warthog isn't fast enough.

How does damage work when you are in a vehicle? My impression is that small arms fire is less effective, you seem to gain some protection because you are in a vehicle. But vehicle weaponss and bigger weapons are just a deadly as being on foot, perhaps more so because the game seems to treat the entire vehicle as your body.

I've been killed easily by head on attacks from Ghosts when I was driving that Brute air boat thingy. The metal engine should have given me ample protection. It didn't ;-)

I'm not methodical enough to play the game to research this. I forget myself and start playing for its own sake.

[quote=narcogen]Where I get most frustrated by NPC behavior is in the quiet moments, places where they follow when you'd rather they didn't, rush ahead when you wish they'd wait, and ignore vehicles when you wish they wouldn't. It's enough to make one wish for a rudimentary command system. Then I played HL2, saw how well that worked, and realized that it was better left out anyway.


Rampant for over se7en years.[/quote]

I noticed two flaws in hl2's command system.

[b]1) They crowded too close in narrow corridors and blocked my path too often, 'Sorry Freeman' or whatever.[/b]

That's more of a following problem than a control problem. Halo 2 marine following worked better on High Charity, they rarely got in my way. If hl2 had had Halo's following code then it would have worked better.

[b]2) In the 'Follow Freeman' level they won't stay where they were put for more than two seconds.[/b]

I sometimes think that was a deliberate joke on the hl2 devs' part.

Give them a longer timer or have them take cover until called. Then the game play would have been much better.

[b]What if NPC's had two roles? Active and Passive.[/b]

You toggle their roles like you toggle between grenades (pre Halo 3). The toggle applies to all marines at the same time. Use the bottom of the dpad to toggle.

Active marines attack and try to drive, passive marines hang back and man guns.

Passive marines will not drive even if you get out and man the gun. If you switch from active to passive whilst being driven then the driver comes to a stop to let you use the laag as a sniper rifle.

What do you think?

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote]How does damage work when you are in a vehicle? My impression is that small arms fire is less effective, you seem to gain some protection because you are in a vehicle. But vehicle weaponss and bigger weapons are just a deadly as being on foot, perhaps more so because the game seems to treat the entire vehicle as your body.

I've been killed easily by head on attacks from Ghosts when I was driving that Brute air boat thingy. The metal engine should have given me ample protection. It didn't.
[/quote]
This is most likely an example of the general problem of collision detection discussed above. The simplified collision-geometry for the vehicle includes (or gains) an extension which encapsulates gunners, though perhaps not passengers, and the whole volume definitely does seem to be treated as a single entity for damage-calculation purposes in some cases.

My example would be the encounter on the Ark which launches the vehicular-combat section of the level, just after the first terminal where you meet the shot-down marines. When the second wave of Brutes charge in on Prowlers, killing the turret gunners becomes a high priority, and they seem much more resistant to LAAG fire than you'd normally expect. Headshots don't seem to work reliably, either.

If I'm anywhere near right, this is a case where precise collision-detection has been sacrificed in order to keep the frame rate up. Game programming is full of trade-offs like that, you just can't avoid them, and have to strike compromises.

[quote]What if NPC's had two roles? Active and Passive.

You toggle their roles like you toggle between grenades (pre Halo 3). The toggle applies to all marines at the same time. Use the bottom of the dpad to toggle.

Active marines attack and try to drive, passive marines hang back and man guns.

Passive marines will not drive even if you get out and man the gun. If you switch from active to passive whilst being driven then the driver comes to a stop to let you use the laag as a sniper rifle.

What do you think?[/quote]

I think that's a really neat, elegant idea - congratulations. Obviously I haven't a clue whether that concept could easily be fitted into Bungie's (or anyone else's) AI scheme. I urge anyone who has the means to try this out, if they can spare the time and resources (and haven't already considered and rejected it). The trickiest point I can see at the moment is the question of scope - who obeys the order. Suppose you have two or more groups of Marines in one encounter and you (the level designer) want one group to hold a position while the other advances with the player. Here's another case where scripting might be used to beneficially modify a stock behaviour - the defensive group won't advance with the player, but they will retreat with him, or come forward as reinforcements (and obey commands) if the attacking group takes too many casualties.

The other obvious objection is on grounds of simplicity and accessibility - you want a default behaviour which will be as useful as possible to the novice or casual player, so he isn't forced to use this feature if he doesn't want to, or hasn't yet learned to. One possible solution might be to modify your active/passive behaviour categories slightly, so that active mode (the default) yields behaviour much like the current standard patterns. You'd need some kind of feedback to tell you which mode was selected, but this might not require a HUD indicator - a verbal acknowledgement from the ranking marine when you switch modes might be enough.

As I said, I like this idea a lot, but it's one which would really need gameplay testing, and very careful consideration of how it interacts with the scripting system.

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[b]Regarding the stupefied marine:[/b]

I'm sure it's scripting, because it's not the standard marine behaviour. They don't normally ignore a nearby enemy shooting in their direction. They don't normally stand rooted to the spot while they deliver combat chatter. When you get into the driving seat of a vehicle you're expected to drive, any marines nearby will normally hasten to jump on board and man the weapons. In Halo 3 they'll even sort themselves out so that the marine with the rocket launcher/FRG/Sniper rifle will end up in a passenger seat rather than manning a turret (well, most of the time, anyway). All this stuff 'just works', normally - but not here.

This is also such an obvious dramatic set-up. You can practically reconstruct the description in the game design document:

"As the Scarab stalks away, a Gauss Warthog appears from a passage in the rocks, pursued by Ghosts. As the Ghosts continue to fire, the gunner falls from the vehicle, dead. The driver brakes to a halt in front of the player and dismounts.

MARINE (loudly and urgently) "Hog's all yours, Sir..." " and so on.

Now imagine what happens if the person tasked to implement this treats it like a cutscene script. He lays down a detailed waypoint path for the Warthog, and probably puts the points a little too close together - a common cause of problems for path-following algorithms when the vehicle they're controlling can't pivot on the spot. He sets things up so that the driver will only dismount when the end of the path is reached. When he dismounts his only priority is to deliver his little speech - all other priorities (like survival, and fighting the enemy) are rescinded, or set so relatively low that they have absolutely no influence on his behaviour. And thus he stands stock still when he should be reacting to the situation.

Obviously I'm just guessing here, but I have worked with similar, if much more primitive, scripting systems, and I've read enough of what Bungie staff have said on the subject to have some idea of how their AI system works, in broad general terms. The basic principles and approaches commonly used to solve this sort of problem are well known, and largely self-evident once you start analysing the problem.

[b]What improvement would I most like to see in friendly AI?[/b]

I'd really love to see marines who don't walk in front of me when I'm continuously firing an automatic weapon and then complain about getting shot. (But see the explanation below - the price might not be acceptable).

[b]Why do allied NPCs shoot at obvious obstacles, and the player?[/b]

Collision detection and sightline calculation can bring a game engine to its knees. Keeping track of which object intersects which object, where, in a 3D world full of moving objects and complex shapes, can use up an appalling amount of processor time. In order to keep the frame rate (fps) up to a reasonable level, shortcuts are pretty much unavoidable. It's common to do the geometrical calculations using simplified geometry (much, much cruder than the rendered object geometry you see on screen), or to skip them altogether if they can possibly be avoided. Note also that the NPC may have a clear sightline from eye-level to the target, when his weapon does not. One sightline calculation per NPC is unavoidable. Two sightline calculations may be too much to ask.

[b]Can NPC's see through scenery?[/b]

I'm fairly sure that they can, in some cases, for the very reasons given above. Our artificially stupefied marine provides an example. Sad, lonely person that I am, I've sometimes let him drive so that I could have a turn on the Gauss gun. Yes, this does mean dying a lot, and you'd be amazed to see how far across the map the Scarab's main gun can blast the Chief's body. Anyway, at the bottom of the gully, just before you emerge into the open and join the Scorpions, there's a Covenant position manned by Grunts and Jackals, strung out in a line across the way, with a large rock in the middle. The marine normally charges this position and then stops the Warthog on one side of the rock while you finish cutting down the defenders. Sometimes he won't drive on, even after all the visible enemies are dead. He's doing this because he knows there's a survivor on the other side of the rock, and he's waiting for you to kill it. The minor problem of the rock in the way doesn't even enter his tiny little mind. Arguably, this might be another case of artificial stupidity - does it really matter that much if one or two minor enemies survive? I'd say it was more important, and definitely more rewarding for the player, to get out into the open and join the advance down the hill.

[b]Marines reluctant to shoot on higher difficulty levels?[/b]

I can't say that I've noticed this myself, but I can offer some highly speculative, partly informed guesswork. What I suspect you're seeing (or perhaps, noticing because you're so much more vulnerable on Legendary) is a hard-to-avoid AI loophole. In order to simulate humanoid situational awareness, NPCs will normally only react to, or shoot at, events or objects which are within a fairly narrow sector in front of them. It's done partly in order to make it look as if NPCs actually see through their eyes, partly in order to balance them against the player, whose field of view (FOV) on the screen is roughly half as wide as the normal human FOV, and partly to save precious processor cycles. I know this appears to contradict what I said above, about the marine who can see through rocks, but hear me out.

In order make sure that they don't miss the blindingly obvious too often, NPCs will sweep their narrow cone of 'view' about, like a scanning radar beam. It may not be feasible, desirable, or even necessary (most of the time) for every NPC to update their 'look direction' every frame. It's the sort of task which can be postponed for large fractions of a second, if there's other, more critical processing to be done. It's also more critical for gameplay that enemies react to the player, so allied NPCs may have lower priority, and react more sluggishly.

There's also the problem of memory, the 'state' which each NPC maintains from frame to frame, so that it knows where it is, and what it's doing. Keeping track of enemies in front, which it's shooting at, or which are shooting back, is desirable and possible. Keeping track of all enemies in all directions isn't practical if the numbers grow too far. 'Out of sight, out of mind' may often be literally true for NPCs' awareness of each other. Let's take an example which should be recognisable to most Halo campaign players; say you're driving a Warthog with an NPC gunner and passenger, and you're fighting a Wraith with supporting units. Bungie have thoughtfully provided a very large rock not too far from the Wraith's position. You drive round and round the rock, and your NPC crew will usually fire on the Wraith at least part of the time it's in view. It's very noticeable, however, that every time the Wraith goes out of view as you drive behind the rock, they forget where it was. They don't anticipate where it'll reappear, so that they can start shooting as soon as it comes into view.

It may be worth pointing out that if your marines were capable of doing this, then the enemy NPCs would probably also be capable of anticipating when you were going to emerge from cover on your next lap, and smothering you with hot plasma. I can hardly wait...

I hope that this long response to your questions hasn't bored you too badly. You did ask, and you do seem to have thought about this stuff. As you may have noticed, I'm hopelessly addicted to lecturing and wild speculation. But it's my blog and I'll lecture if I want to, though I will try to stay on topic.

Marty's picture

Well Nick, as far as uncovering one of Bungie's many annoying errors in Halo 3 - congrats! As far as figuring out why it happened - no such luck. Our artists and programmers have great relationships and we try and figure out problems together. No one here feels "threatened" by automation. Sometimes two different systems written to solve two different kinds of problems just don't mesh together as well as hoped. The result is "oops, that didn't work quite right". As Miguel intuited "we've got to ship anyway".

We've never been able to ship a perfectly polished game, but we ship a game as close to polished as we can. As you know, games are made by large teams of creative people. Some are on the art side and some on the programming side. We all have the same goal, but human beings aren't perfect. And neither are the games they create. But hey, we're still trying!

Marty O'Donnell
Audio Director/Composer
Bungie

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

To Marty O'Donnell:

I'm simultaneouly honoured that you chose to reply, and shamed by my own bitterness. I'm delighted to hear that Bungie has managed to avoid a pitfall which blighted my own career so badly, and which I have evidently assumed to be more prevalent than it is.

To my ex-colleagues and their counterparts:

Let me take this opportunity to apologise also to the many artists with whom I have worked harmoniously and their blameless counterparts elsewhere. This wasn't aimed at you. If you harbour any resentment, I hope my public embarassment should qualify as condign punishment. It certainly feels that way from here.

To the general reader:

For the record, though I worked in the games industry for 14 years as assembly-language programmer, tools programmer, modeller, level designer, writer, researcher and (on one memorable occasion) de facto game designer, that all came to an end a few years ago when my then employers absconded. Since then I've been made painfully aware that as far as the average HR department is concerned, I have no commercially useful skills or qualifications. And as you can plainly see, I also have a talent for putting my foot in my mouth.

I'll try to do better in future. To be continued.

Meyeselph's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

The information and discussion you've provided more then make up for a little error in scruples, I figure. It was interesting to read and made plenty of good points. Besides you aren't the only person who's ever said something they shouldn't have out of frustration, no sense beating yourself up over it. Looking forward to reading more.

Trained in guns, not doors!

Trained in guns, not doors!

Anonymous's picture

Concerning the Active and Passive thing, I got GRAW with my 360 and it has that. I use it often enough, but that's probably because I hate my squad. I prefer to be stealthy because I am aware of my low health and I think it's cool. GRAW uses a command system, but it works okay. one thing that works pretty well with the command system is ground vehicles have a set path, meaning you cannot move them off it. This works because the game does not need to calculate if a place is too small, saving cycles. This is also good because you don't need to waste time pointing a location for a vehicle to go. Though that isn't the reason I started typing this comment for. Concerning the Active and Passive system it works pretty well.
The differences are: ACTIVE: -fire at visible enemies -fire while moving into cover - be more aggresive -fire no matter whether there is a risk in the area (tanks, Machine Guns)-take cover themselves -automatically follow you -more alert PASSIVE: -don't fire until switched into active -need to be positioned by you -will stay stationary where you left them even if you left them in the open -won't wander to where the enemies are and start shooting them if you are attempting to snipe or command a vehicle.(helicopters can be moved manually, but you can just point it at an enemy and it will take care of it)-will stay behind you

GRAW is one of those squad dependent games, but you don't need to move your buddies back and forth, they'll just follow you, my proposal to the active/passive thing is make Halo dynamic enough so that you can be presented with a squad of marines, and they will stick together will maybe you recon and call em up when you're ready, I'm thinking sorta like the opening section of T&R when the marines don't come till you alert the covies or charge down without sniping.I'm thinking that experience, maybe with a UI, maybe not, but Halo's marines have been complained about enough times. Bungie, or anybody interested, if you're making a game, and you are going to have Ally NPC's (NOT like Doom) then either give us some semblance of control over them or make your AI so good that we won't care.(by the way, put in at least some AI cause while in Passive Mode your squadmates in GRAW just sit there like complete douches.)

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

You may think this a strange admission from someone so ready to lay down the law on the subject of game design, but I can't identify the game behind the acronym GRAW.

The Passive mode you describe in that game certainly sounds as if it might qualify as artificial stupidity. If your passivated squad can't even seek cover, or defend themselves if attacked, what good does that do anybody? The suggestions you made earlier for such a mode in the Halo context are much more sensible.

What I like most about this concept is that, if thoughtfully implemented, it could provide a really useful degree of control with just one toggle switch. That fits my personal definition of good user interface design.

Red_Breast's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

I've been meaning to join Rampancy for years. Now I have a clear reason.

GRAW is for Ghost Recon. The AW is the game's subtitle.
I've been playing Mass Effect a lot. It has a command system. I've only played with 2 of the 4 commands, which take all 4 places on the D-pad, but "Move to" and "rally" (come to you) seem to work well. It has 2 more I've not really played with much. "Target" and "Take cover". But it's another game where your squad seems to have X-ray eyes. By the way if you're thinking of trying it read some reviews first. It's a RPG with shooting. In no way is it a shooter with RPG elements. Personally I'm really enjoying it.
Resident Evil 4 had one button for 2 options to give Ashley. Normally she follows you. Press the button to say "stay here". Press again and she follows you. Worked perfectly, but then again follow you was all she could do. She had no weapon. She knew when to duck though if she was in your line of sight.
Totally off-topic but I don't know if I ever thanked you Narcogen for hinting at the bug in Gears of War for beating Raam on Insane. I done it. Even though it felt a little cheap it was still a nightmare.

scarab's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote=OldNick]You may think this a strange admission from someone so ready to lay down the law on the subject of game design, but I can't identify the game behind the acronym GRAW.

The Passive mode you describe in that game certainly sounds as if it might qualify as artificial stupidity. If your passivated squad can't even seek cover, or defend themselves if attacked, what good does that do anybody? [b]The suggestions you made earlier[/b] for such a mode in the Halo context are much more sensible.

What I like most about this concept is that, if thoughtfully implemented, it could provide a really useful degree of control with just one toggle switch. That fits my personal definition of good user interface design.[/quote]

That was me before I found my password.

Its a simple scheme but what I really want, what I really really want, is for the next gen boxes to have built in hardware support for voice recognition.

I know that voice recognition can be ropey but we have a defined and limited context. Its a FPS, recognize: weapon/vehicle name, No!, Stop!, move forward, hang back, take this, give me cover, give me weapon-name, you drive, me gunner, you passanger, etc.

Voice recognition would be a service provided by the box for all games. You have a voice identity and the [b]box[/b] learns your speech patterns. Its probably listening to you whilst you cuss in multiplayer, learning your vocal ways. The identity, and associated learning, perstists between games.

Games register vocabs and mini-grammars with the box. The box parses your speech and calls into the game with word tokens and phrase tokens.

Things would probably work best if kept to a pidgeon English level. The player will be able to adapt to the hardware's limitations, humans are very adept at getting their message across.

Note that language recognition is done with separate hardware resources so its not an issue for the developers. It doesn't conflict with their AI or loading or drawing budgets. Their only code requirements are to decide what tokens they want and to react when they get them. The box's code can be system updated. You don't need to retrain the box for every game. Games could share tokens, between versions of the same game and game genre categories. It learns the Halo vocab, then the Halo 2 vocab, then the Halo 3 vocab. maybe you can transfer your speech identity between boxes.

Maybe tokens and mini-grammars would be 'open sourced', made available to all developers, maybe even cross platform - all to encourage reuse and player familiarity. You would have agreed terms for the same things across games and maybe across platforms.

Hopefully most developers would use the feature because it would be practically cost free to them. Microsoft does the brunt of the work.

Maybe academic interest could be harnessed by letting them harvest speech data from multiplayer sessions.

What do you think?

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

(OldNick here: had another browser crash when I attempted a temp login. It must be reboot time)

To Scarab:

As a Mac user I've got simple voice command built in; it works pretty well, in its limited way, and doesn't seem to take up too much processor power - this is on a five-year-old laptop with a 1GHz G4 (in PC terms, think of a 1+GHz Pentium 3) and very, very slow memory, by modern standards. Processor power doesn't seem to be the major stumbling block - at least for a basic system like this, which recognises maybe a hundred words - if you're careful (see below).

Background noise is a problem. In practice, in a gaming environment, you'd need to use a mic. with noise cancellation, like the ones on pilots' headsets (to suppress engine noise). That's fairly practical, and I think there are actually functioning voice-recognition systems like that in some modern fighter aircraft (F-22, EuroFighter?). Thinking about it, I speculate (wildly), that you might not even need the noise-cancelling mic., since the background noise is (mainly) the game soundtrack, and that signal's already available to the processor, so you could use that for phase-cancellation - but that may be just an impractical smartass flight of fancy, and it would definitely increase the processor load.

The other, more significant, snag I see is that it takes discipline to use a system like this. You have to stick to the vocabulary, you have to enunciate clearly (while excited or stressed), and if the system misinterprets a command, or you curse out loud and the system mistakenly interprets it, that's just the same as hitting the wrong button. If I had a penny for every time I've accidentally ejected myself from a Banshee or a Hornet in mid-air... you know what I mean.

These problems ultimately boil down to the software intelligence you can apply to the signal. Because current AIs are still fairly stupid (no offence...), and really reliable voice command is all about recognising context, which appears to need near-human-equivalent intelligence, we've got a way to go yet. But I agree, it would be very cool if it could be made to work. I see Bill Gates is [url=http://news.bbc.co.uk/1/hi/technology/7174333.stm]making noises[/url] about voice-driven interfaces becoming a major input option in the next five years or so. I'd love to be proved wrong, but I'm not holding my breath - and I don't have my anti-Microsoft hat on, right now.

scarab's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote=OldNick]Background noise is a problem. In practice, in a gaming environment, you'd need to use a mic. with noise cancellation, like the ones on pilots' headsets (to suppress engine noise). That's fairly practical, and I think there are actually functioning voice-recognition systems like that in some modern fighter aircraft (F-22, EuroFighter?). Thinking about it, I speculate (wildly), that you might not even need the noise-cancelling mic., since the background noise is (mainly) the game soundtrack, and that signal's already available to the processor, so you could use that for phase-cancellation - but that may be just an impractical smartass flight of fancy, and it would definitely increase the processor load.[/quote]

I doubt if noise cancelling mics would be a viable option, for cost reasons. Though they could be sold separately.

As you said, the system may be able to ignore game generated noise as it could have the emitted audio stream as a reference.

I was thinking of dedicated hardware in the box for this, even dedicated signal processoring chips if needed. But maybe it doesn't need to be so fancy.

If the hardware and resources are not available to devs then voice recognition has no runtime cost to the dev. He just gets a trickle of command tokens from time to time.

[quote=OldNick]The other, more significant, snag I see is that it takes discipline to use a system like this. You have to stick to the vocabulary, you have to enunciate clearly (while excited or stressed), and if the system misinterprets a command, or you curse out loud and the system mistakenly interprets it, that's just the same as hitting the wrong button. If I had a penny for every time I've accidentally ejected myself from a Banshee or a Hornet in mid-air... you know what I mean.[/quote]

I'm not sure if that's really going to be problem. I was thinking more in terms with interacting with your squad. You don't have a command for shooting your own gun. You pull the trigger. Press right shoulder button to exit Hornet.

I would be happy if the system could only recognize all forms of No!

You know: 'Don't drive', don't rush in and get killed, whatever.

I would have things like: 'I'll drive', 'you drive'.

[quote=OldNick]These problems ultimately boil down to the software intelligence you can apply to the signal. Because current AIs are still fairly stupid (no offence...), and really reliable voice command is all about recognising context, which appears to need near-human-equivalent intelligence, we've got a way to go yet.[/quote]

Fix your reticle on an ally with the weapon you want, say, 'give me the rocket launcher', or, 'take this', or 'switch weapons'. In Halo this should be enough information for the devs to work out what you mean.

Or you have manned the gauss gun on a hog and an NPC says, 'I'll drive!'.

Just shout 'No!' and he gets the message. Maybe he sits there until you say 'drive'. Or he wanders off and does something else but the hog has been tagged with a don't drive whilst the player is gunning tag.

I think that its the pidgeon English bit that helps, we aren't trying to extract every shade of meaning. We are looking for a small set of phrases with specific meanings to the game. The fact that it isn't clever should stop it making really inventive mistakes. The devs have stated in advance what they are looking for, the system isn't trying to understand the meaning of your words.

OK, it can distinguish between all forms of [b]I'll[/b] verb and [b]you[/b] verb, it needn't do much more.

As for feedback from the game:

Maybe there is a symbol that briefly appears on your reticle for each recognized command. Its real job would be to let you know that what you are saying has NOT been recognized.

Recognized commands would elicit verbal responses from the NPCs: 'Ok Chief', or 'Well I'll just sit here and check my lippy in the rear view mirror, shall I?'. Or, 'you're already carrying a rocket launcher, its there it is on your back.'. Or, 'Don't be a wuss Chief. We can take them!'

Anonymous's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

OldNick to Scarab:

Regarding the error rate in voice command recognition: I can only judge this by my own experience, and it's entirely possible that the practical state of the art has improved. I'd love to know whether those fighter-plane voice command systems I mentioned actually get used, or if the pilots just quietly switch them off. Let me make myself clear here, I'm talking about mistaking one command for another, and I've seen it happen.

From what I've seen myself, I really would be worried about the potential for false recognition, though reliably recognising that very useful word 'No!' might not be asking too much. Which brings us neatly to the question of context recognition - deciding who you're talking to and what you want them to stop doing.

[quote]
Fix your reticle on an ally with the weapon you want, say, 'give me the rocket launcher', or, 'take this', or 'switch weapons'. In Halo this should be enough information for the devs to work out what you mean.
[/quote]

Your point about the contextual information available in-game to help sort out what the player means is an excellent one, and it did occur to me while I was writing (or shortly afterwards, to be honest). When I'm trying to get a marine to dismount from a passenger slot in a Prowler (or even worse, a Scorpion) so I can give him a Fuel Rod Gun, I've often wished that my look direction, as well as my position relative to the vehicle (or marine), was taken into account when deciding which command is mapped to the button.

I think that the key to making a voice command system practical would be paring the list of recognised commands down to the minimum possible list of the most useful, flexible words (e.g. 'Stop', 'Go' etc. - much simpler than pidgin English), with the maximum use of in-game contextual information to interpret them. This would help simplify the system - always a desirable design goal - make it easier for the player to reliably anticipate the effect of a command, and allow new functions to be added without having to add new words and phrases to recognise. Every new word you add to the list of recognised commands increases both the chance of a recognition failure, and the time needed to train the system. It's vital to bear in mind that the system has to work instantly and absolutely reliably, or it's a hindrance to the player, rather than a help.

I wish I could give some examples to illustrate my vapourware concept, but real life calls. I will give this more thought, because it's an interesting problem, and awareness of context is central to the 'artificial stupidity' theme with which I started.

WortJenkins's picture

Yeah, I just joined Rampancy and I wrote the GRAW thing. Just to clarify OldNick, my explanation of the Passive mode in GRAW wasn't fair.
The AI in GRAW have the potential to be extremely annoying. Say for example, you want to be stealthy and not alert the enemy,(In hard mode the AI will cap you in two shots and your health doesn't regenerate)you would normally find a safe cover for them and switch to passive. They will (usually) stay there so you can go ahead and snipe.OR, you could position them away from you and then call them to you in an attempt to lure the enemy. Other people who have played GRAW and games like it, such as Rainbow Six will say differently. I don't know how the majority of people play because I ignore my squad most of the time. Also, most people remember GOW had a squad system.(Yes another acronym, for those not in the know it means Gears of War) but I really don't think anybody used it. I always remember both of them as complete opposites, GRAW the more refined and strategical one, while Gears the fun and colourful one.(Yes I think Gears is colourful. Red[i]is[/i] a colour you know. Wrapping my comment up, I think that Halo and games like it who have allies like HL2's and Halo's should never rely on scripting in a huge area. Instead, scripting should be held in a confined environment, Like in Metropolis when the marine opened the door into the building. you really couldn't have a beef about scripting there, since there was nothing to do except listen(PLUS you could skip it by running past him). Now I'm not saying game designers should have random corridors in the middle of nowhere, but at least have scripting in a place that is both feasible and not retarded like in OldNick's example (The Ark) In that situation, I think that you could have a random marine voice play while you entered the valley. He could be pretending to be in a Scorpion he could also be in space relaying info through satellites or something, that would have made a little more sense and not make me want to smuggle a Chopper into the Valley just so that I can make it without a 3/4 destroyed vehicle. My final note is if you have to say something to the player during huge battles,(Don't get me wrong, you need to tell the player what to do if it's not crystal clear,) make it come from far away, or if it's a pretty game with all sorts of effects you can have say a watchtower and then blow it up or something, whatever pleases you.

Im going to end this long winded and (methinks in most people's minds) insane comment and view YOURS! hehehe.....

narcogen's picture

BTW, this is a great discussion going on here-- here and on the other entry.

If there are people who ever want to chat about this stuff live, there's a #rampancy channel on the IBO IRC server, irc.bungie.org.


Rampant for over se7en years.


Rampant for over se7en years.



WortJenkins's picture

In reply to: IRC

Thanks. I think people are getting annoyed because they have to scroll down over my overly large entries.

(By the way, I was originally going to do this:

OMGWTFLOLH4X! N4RC0G3N! W3 H4V3 B33N B13353D!)

As you see, I didn't, because everybody here (finally!) has their spelling checked, and doesn't do that.

OldNick's picture

In reply to: Re: IRC

(OldNick here - slight log-in problem, compounded by a browser (Safari) crash when I tried to go through the new-password option)

To WortJenkins:

Thanks for elucidating GRAW. I bought and played the original Ghost Recon, but never actually completed the game. This was partly because I found the squad-command system frustrating, but also because I intensely disliked being blindsided by enemies freshly spawned in areas of the map I'd meticulously cleared, especially when there was no apparent way for them to get there.

Some might argue that this was a point of realism - complete certainty and total situational awareness are rarely, if ever, available to a battlefield commander. I'd answer this by saying that, short of totally immersive VR and near-sentient allies who understand verbal commands and hand-signals, the player doesn't have realistic situational awareness, or resources, and the level of challenge needs to be scaled accordingly.

In real life, you'd deal with this problem in one of two ways; by tasking members of your squad to watch your rear and flanks, or by taking the enemy on the run, relying on speed and surprise, In GR you simply don't have the resources to do the first, and the second is suicidal, given the way the gameplay is balanced. The command system doesn't help much, either.

I also found the stealth aspect frustrating because I never had a good mental model of just what the enemy would notice, and what you could get away with. His capability seemed to range from sub-human to super-human in totally unpredictable ways. This is the fundamental reason I don't generally enjoy or play stealth-heavy games. I simply can't be bothered to replay each and every encounter over and over until I know from experience what the enemy will perceive and what he will ignore in a given situation.

I must repeat an important caveat here: these are very difficult problems for the game developer to solve, and I don't claim to have all the answers to them myself.

---

Regarding long posts - as far as I'm concerned, everyone should feel free to say what they have to say, within reason and without wasting too many words. The general topic here is game AI and scripting, it's broad and deep, and it's hardly surprising if it takes more than a few sentences to lay out an example or put forward a theory.

---

BTW, if you'd really like to drive a Chopper through that Ark encounter from start to finish, Bungie have a present for you. At the far end of the clearing where the 'stupid marine' encounter happens - straight ahead from your entry point, behind some rocks on a ledge overlooking the gully, there's a small Covenant equipment stash - including a brand-new Chopper.

Anonymous's picture

In reply to: Re: IRC

Wort here. Not too much time. Yeah stealth games can be frustrating because most of them you [b]have[/b] to quicksave. I'm looking at YOU, Chaos Theory. Don't worry OldNick, GRAW is less frustrating, without random spawns.

BTW, I mean drive the Chopper through the inside part where you have to activate the bridge. That way you can boost down immediately to the valley, skipping the stupid marine. You'll die if you're not careful though. Has anybody thought about my T&R-like idea? The feeling where you have control, but don't really?

OldNick's picture

In reply to: Re: IRC

(OldNick here: don't want to risk another temp-login until the previous one which I lost with the browser crash has expired)

To Red-Breast:

Thanks for contributing. Mass Effect certainly sounds tempting, and the reviews I've seen have been amazingly favourable, but the RPG element has me worried. I bought Unreal Tournament 2003 and abandoned it after only a few hours of play because I couldn't be bothered with the team-management system.

The command system you describe for Resident Evil 4 (with a flavour of Mass Effect's 'Take Cover' and 'Rally' commands, if they work the way I assume), sounds a lot like what WortJenkins is proposing for his 'T&R-like' concept, if I understand that correctly.

Let me describe what I'm thinking of; Default behaviour is for your squad to follow and react appropriately if threatened or attacked. Hit the command button in this state, and your squad stops and seeks cover appropriate to the threat level, without advancing past the forward limit of their current position, while you move ahead to scout or infiltrate. They won't move forward until one of three things happens:

a) you hit the command button again - in effect a 'Rally' command
b) you come under fire - they advance towards the sound of the guns and engage
c) they come under fire - they return fire and are free to advance if it's to their tactical advantage.

The 'Rally' command effectively throws them back into the default 'follow' mode, advancing to rejoin you by the most direct route. In the other two cases, the follow behaviour is prioritised below immediate tactical necessities.

In the original 'Truth and Reconciliation' ground engagements, scripting sets up something pretty close to this behaviour, with the marines' hold commands provided by the script, and the hold broken by the enemy seeing or firing on the player. You can, if you're careful, break the hold at a moment of your own choosing, but only by revealing yourself to the enemy. This command system would let you trigger the marines' advance while staying covert, then hit the enemy yourself from the rear or flank when they deployed to engage the marines. I like the sound of that.

I wonder how this would need to be modified when vehicles are involved? At the moment, sad to say, I don't have the time or energy to work through that, even in broad outline.

WortJenkins's picture

In reply to: Re: IRC

Welcome to the ANDY GRIFFITHS SHOW! Starring Andy Griffith, with Ronnie Howard, and Don Nuts!
(Sorry I always crack up at that.LOL.)

You got the nail on the head, OldNick. I'm thinking of something which won't remind you of an RTS, constantly rearranging your troops, but keeps you focused on the action, while not wondering "WHERE THE !@#!%!%#!#!@#!@#%#!#% ARE THOSE DOUCHEBAGS!" I'm thinking something simple, say just a bunch of trip lines, say you are hitting the enemy from the north.
There could be a line you cross, which (with careful design) should send the marines flanking from the south. AND, you could have "Passive" mode initiated, meaning that your allies will use camouflage or be stealthy and just position themselves till you hit the attack mode button. That, or for the more absorbed players, have them attack when you are detected or are pulling the trigger. So it's sort of a combo of both ideas. I think the reason you don't have allies in Crysis is because of the multiple options, the AI would have been seriously complicated. As for vehicles, I think that allies and their ilk should stay stationary. I mean, would you seriously start running around if two tanks were having a huge battle? maybe if the marines are in a vehicle, but seriously, I cannot count how many times I've accidentally run over a marine because he was stupid enough to be running around BELOW A SCARAB. WITH A PISTOL. I mean seriously, they should be running for the cover of the missile turrets, but they run around below it as if they're holding a nuke. I mean, seriously,in every scarab encounter I've found a safe spot. So my idea for the vehicles is simply expressed, this time in shortform:
Chief in vehicle= GTFO. Chief under attack by vehicles but not in one = retreat and regroup! You in vehicle = pop 'em!
Chief telling you to stay stationary = Weapons cool Chief telling you to follow = engage threats while moving. Chief telling you to aggressively advance = Weapons free, Movement free, everything left to AI with only 2 commands Advance & Attack. Chief telling you to stay put while in active mode = Create and defend fallback position (Nothing fancy, just a
secure area which is protected by marines and is a shelter to recharge shields and pick up marines for vehicles. Sorta like if you completely went around SC after the beach battle there would be a bunch of marines, just staying there.)

Now, this might be a lot, but remember, [b]I know nothing about developing a game.[/b] If you have questions about a particular thing, ask on this thread or PM me. I check this thread and OldNick's other one at about 12:20-12:30PM EST (Eastern Standard Time) and at 3:00PM onwards. Sometimes I can't check at 12:00, but I'll probably check at 3:00.

Well I know some of my situation reactions suck, if you have better ones I'll add them with a credit (in brackets)

Goodnight folks!
P.S I am so getting Mass Effect the next time I'm at Best Buy! You might not like it, but to me it ftw's!\

P.P.S I hated UT2K3 because it removed the imaginative maps (Noddy's Dreamland anybody?) and Assault, the best thing it had going for it.

EDIT: After reading Miguel's post, I thought of an alternative to the marine driving towards you. Instead, why didn't a pelican drop it off? Then maybe the scarab could shoot it down, or hell, anything. It could be flying from a pelican that got shot down by the scarab.(That would look awesome. Imagine the door opened in front of you, you stepped out, and instead of a scarab leg, you would have a scarab head look in, look at you for a sec, and then blast the pelican as it flew by. The would then pelican scream over your head and the hog would fly off and land at your feet. It could also have crashed into the watchtower, for those of you who believe in that.) Or have it dropped ODST style. Also, if the hog was driving UP from that valley, that seems illogical. I mean there was a wraith there, and I think most people would be thinking, wouldn't he have gotten his blam grilled? I mean anybody who's familiar with halo 2&3 (Not the elitists on H1) knows that the UNSC's secret motto is: The UNSC. JOIN NOW SOLDIER! NOW ACCEPTING DRUNK DRIVERS, BRAIN DAMAGED PEOPLE, THE PARTIALLY FLOOD INFESTED *PFI* (anybod remember the flood's driving in H2?)AND
13 YEAR OLDS WHO WANT TO DRIVE A CAR! (Yes, that sucked, I know.) So, didn't they think of this? I dunno, might be too heavy on the cycles, like most of my suggestions, but I'm open to comments.

Anonymous's picture

Despite the defense of the two "sides" working together harmoniously, I think the original post still shows us a problematic divide. Someone during that specific moment in the Ark, some project director, should have realized that the cutscene/ai dichotomy wasn't working. Imagine instead the marine+gauss warthog arriving in this manner: still followed by enemies, with a dying driver and a gunner - but also a vehicle with a brute or something with grenades or a brute-shot. That character fires off a grenade or two, flipping the temporarily-indestructable warthog through the air and throwing out its marines, deposited right in front of the player, maybe slightly behind a rock outcropping, the enemies make a loop to come back around, giving the player time to decide whether to gun or drive, while the surviving marine picks himself up and dusts off, says his lines, and does what he has to. Avoids some of the complications, and looks cool to boot.

I always wonder who could have possibly playtested some of these scenarios and at what speed - I mean I really wish I knew what speed the creators want me to play at, so I'd see these things play out as intended, because the first time, the last time, every time in between, the interaction between ai and dramatic scripting is always off. I'm driving off and someone's yelling at me to mount up and go somewhere, or they're telling me how urgent everything is, but I know there's no timer on my subsequent actions, so I just go ahead and scavenge grenades for a few minutes while they just keep panicking and undermining any trace of believability in an effort to be cinematic and get me "immersed". I mean really, some script is nice, but I think the strength of halo is the fun inherent in its sandbox, and if something works that hit-and-miss, just ditch the cutesy-alien-apocalypse-hipster-soldier dialogue and go with the strength of the game engine.

narcogen's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote=Anonymous]Despite the defense of the two "sides" working together harmoniously, I think the original post still shows us a problematic divide. Someone during that specific moment in the Ark, some project director, should have realized that the cutscene/ai dichotomy wasn't working. Imagine instead the marine+gauss warthog arriving in this manner: still followed by enemies, with a dying driver and a gunner - but also a vehicle with a brute or something with grenades or a brute-shot. That character fires off a grenade or two, flipping the temporarily-indestructable warthog through the air and throwing out its marines, deposited right in front of the player, maybe slightly behind a rock outcropping, the enemies make a loop to come back around, giving the player time to decide whether to gun or drive, while the surviving marine picks himself up and dusts off, says his lines, and does what he has to. Avoids some of the complications, and looks cool to boot.[/quote]

That most likely would have seemed repetetive given that a very similar scenario plays out in Tsavo Highway-- with the exception that the hog is destroyed.

[quote=Anonymous]I always wonder who could have possibly playtested some of these scenarios and at what speed - I mean I really wish I knew what speed the creators want me to play at, so I'd see these things play out as intended, because the first time, the last time, every time in between, the interaction between ai and dramatic scripting is always off. I'm driving off and someone's yelling at me to mount up and go somewhere, or they're telling me how urgent everything is, but I know there's no timer on my subsequent actions, so I just go ahead and scavenge grenades for a few minutes while they just keep panicking and undermining any trace of believability in an effort to be cinematic and get me "immersed". I mean really, some script is nice, but I think the strength of halo is the fun inherent in its sandbox, and if something works that hit-and-miss, just ditch the cutesy-alien-apocalypse-hipster-soldier dialogue and go with the strength of the game engine.[/quote]

I don't know that there's any real way to solve that. I think Bungie tuned it for the pace of play that they observed in their own testing-- some significant number of people are always going to play it differently, and plenty of people are going to deliberately play it differently on purpose.

There are so many games where characters try and create dramatic tension by hurrying the player along. In most of those, there really is no time pressure, because timers (I think) are pretty terrible. So after a few replays I'll talk back to the screen, telling those panickers to be quiet, but I don't think that's a serious detriment to the game. It's preferable to a) no tension whatsoever or b) an actual timer.

I, for one, couldn't disagree more about the dialogue. I play Halo for the story, and I want that story to be integrated into gameplay as deeply as possible-- not presented only in cutscenes. Gameplay is very, very important-- but it isn't everything.


Rampant for over se7en years.


Rampant for over se7en years.



negi springfield's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

[quote] Gameplay is very, very important-- but it isn't everything. [/quote]

yeah its sposed to make you feel like your playing inside the game
it gives you a rush

gaming aint no passtime remember

8)

WortJenkins's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

Yeah, OldNick, that's my drift. I LOVE sandbox style gameplay, and scripting doesn't work if Halo's gonna have open area's with scripting. Oh yeah, BTW, your scene is similar to mine, but mine is flashier. Also I think there are some problems with yours. Not hating, but constructive criticism. I think that there are problems with something throwing a grenade. For speed runners, they're not gonna wait for the Brute to throw the grenade, (methinks) and are gonna run and get the Hog by force. If you want the scripting to go through, you have to make the Hog oblivious to the angry RB's that the speedrunner is mashing. I also want to know if anybody read my post and thought about it. I want to know if my idea sucked or not. I think by the way OldNick, the speed is of a first time player to the Halo Universe (remember Halo veterans, I'm one of you too and I know how badly one can play Halo, thanks to my friends.) and thinks that those %@#$-ing grunts on those pink "Ghosts" are the most annoying thing on the planet. They will stay and watch him talk. Yes, you're probably thinking "Seriously? Oh man, they suck.". Meh, I don't have any replies yet, so I'll keep this one short. Seeya Kids!

EDIT: My Warthog flying off Pelican idea was borrowed from It's a Halo Thing 1/4. It's awesomeness. Hosted on Newgrounds.

OldNick's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

(OldNick here)

To WortJenkins:

Your scheme may well be better than mine, but 'mine' was my best attempt to describe what I thought yours was. What did I get wrong? I'm not putting you down, but you have to describe it better, and remember that the description I gave above is just a back-of-an-envelope version of a rough sketch of what a programmer would need to know in order to make it happen.

Please don't think I'm patronising you. I honestly do think it's possible that you may have a better idea than the one I described - I may be smart and experienced, but that also means I know that I don't have a monopoly on good ideas. Think it through, take your time, and when you're writing your description, try to think how other people could misinterpret it because they don't already know what's in your mind. If it's any consolation, most programmers are very bad at that last part, which is why they usually design bad user interfaces and write useless user manuals.

Anonymous's picture

In reply to: Re: Artificial Stupidity, and how to achieve it.

OldNick here:

[quote]I said:

most programmers are very bad at that last part, which is why they usually design bad user interfaces and write useless user manuals[/quote]

There I go again! While I honestly do believe that this is a valid observation (a lot of specialists suffer from this problem) I could and should have put that far more tactfully, and acknowledged the many exceptions. Mea culpa. Sorry.

WortJenkins's picture

Me to OldNick: I'm not trying to sound like you're doing anything bad. I'm sorry if I am, but I don't express myself very clearly. If you think you're being offensive, ask, 'cause I don't think you're patronizing or anything. I am a person who thinks of art but ends up with stick figures. Your idea was similar to mine, and I was just expanding to show you.
I usually never take offense anymore, cause my temper cooled down when I was 10. I'll usually never notice If you offend me, or if I was offending you, I completely missed it. My posts tend to be a scramble of mixed ideas, so if you're confused, ask a question.