News
: The Java platform is the chosen language for our projects.
May 22, 2012, 02:47:04 pm
Home
|
Help
|
Search
|
Members
|
Login
|
Register
Welcome,
Guest
. Please
login
or
register
.
Black
Blue
Green
Purple
Red
OpenWar Forum
»
OpenWar Engine
»
Design and Structure
»
A thought on AI's
A thought on AI's
Pages:
1
« previous
next »
Send this topic
|
Print
A thought on AI's
Author
Message
0 Members and 1 Guest are viewing this topic.
Darvin
OpenWar Staff
Staff
Sr. Member
Offline
Posts: 506
The Concept and Design King
A thought on AI's
«
on:
November 13, 2008, 04:10:09 am »
Recently, I wrote an article on micromanagement on RTSC:
http://www.rtscommunity.com/forums/index.php?topic=6973.0
Since then, I've been thinking about it from the perspective of an AI. Most AI's have serious shortcomings that, in trying to achieve one of their priorities, they make a catastrophic mistake that an intelligent human can capitalize on. The primary issue is that they cannot weigh priorities in order to understand how they interact, clash, or overlap.
In my writeup, I describe micromanagement not only as the act of giving orders to your units in a RTS, but also in breaking down complex strategies into orders which can be dispatched to individual units. That is, strategy can be thought of like a tree. At the highest level, your goal is to win. You achieve this primarily through a combination of economic advancement, defense, and offense. These three are the second level of the tree, and can themselves be subdivided. These priorities are subdivided again and again until they are precise enough that they can be expressed as individual orders to units.
By modeling these layers of abstractions - these priorities - and programming how they can be subdivided into simpler priorities (and ultimately actions) we can create a more robust AI that can weigh its objectives. By analyzing how its various priorities interact, it can make more balanced decisions that account for a wider array of factors, and better tailor its response to individual situations. Moreover, by randomizing each type of reaction somewhat, we can create a less predictable and more human-like AI that doesn't follow a rigidly defined strategy, but instead defines its strategy by a different set of priorities.
I think this applies outside of the world of RTS, as well. It could be used (in a simpler manner, of course) to model a more fluid and responsive AI. At this point, this is just musings, and I haven't given much thought as to how to implement it, but I think it's a neat way of thinking about game AI's and possibly how to build a (revolutionary?) one.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
Offline
Posts: 857
Busy busy busy busy busy
Re: A thought on AI's
«
Reply #1 on:
November 13, 2008, 10:01:12 pm »
Your article about micromanagement gives me some ideas for in an RTS. Wouldn't it be convenient if you could build leader units. These leaders can be assigned to a group of individual units/battalions. You then give your leader orders like 'take this camp' or 'defend this area' and he'll see to it and take care of managing the individual units.
Of course, you can micromanage and give the units direct orders should the need arise.
The same could be applied to AI, except there the leader is an abstract entity instead of a real unit.
I agree with you that micromanagement is not just rapid clicking. However, the problem most people have with it that while they can decide what orders to give to units very quickly, for them it's physically impossible to actually 'click' the orders at the same speed, without a great deal of training. That, and you often can't see a complete battle on the screen, and scrolling is slow.
This is what we should fix.
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
Offline
Posts: 506
The Concept and Design King
Re: A thought on AI's
«
Reply #2 on:
November 13, 2008, 11:24:25 pm »
I both agree and disagree with your idea of leaders.
I haven't yet written my article on how I think micromanagement is "good" or "bad" for gameplay yet, so I'll quickly explain the basis. In micromanagement, we observe events happening on the battlefield. These are "low level" abstractions close to the real game model. We pass that information to higher level strategic abstractions to consider how it affects our existing priorities and strategies. If these merit a change to lower level orders, the decision is passed back down to the lower levels as an action.
I feel good micromanagement is the kind that passes up to a very high level of abstraction before it is passed back down. If the decision is almost automatic because it is so simplistic and low-level, then the AI can and should deal with that. This type of micromanagement is usually bad for gameplay, adding lots of tasks for the player to keep track of while adding relatively little strategy or thinking, since the response is largely robotic (if action A should always merit reaction B, it's basically a reflex test). If the decision, alternately, impacts higher level strategy and thinking, then it's "good" micromanagement, because your response
must
be tailored to the situation, requiring intelligent thinking.
So, in that sense, I think that units should have an AI (don't complicate it with "leader" units; just have AI settings) to manage those low-level robotic reactions, while everything else should be left to the player because it is real decisions with strategic importance. As designers, it is our duty to carefully break those two categories apart and decide what falls into each. I think it's usually a better idea to err on the side of caution and give more responsibility to the player. This is because an AI that doesn't pick up the slack is annoying, but an AI that actually overrides your intentions is game-breaking.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
Offline
Posts: 857
Busy busy busy busy busy
Re: A thought on AI's
«
Reply #3 on:
November 14, 2008, 08:32:15 pm »
However, imagine if you are fighting a battle with thousands of units. It's impractical to manage them all, which is where leaders can be convenient. You would still be giving the leader pretty specific orders, like 'destroy this building', not something like 'win the game'. The leader would then take care of these reflex actions you mention, such as retreating when neccessary. Yes, individual units could do that too, but if you have a leader they can all retreat together, regroup and reattack when possible, and other such intelligent group-thinking stuff.
Besides that, you could give a leader multiple orders, like destroying multiple buildings, and he will automatically divide his troups in the appropriate way.
After all, real-life battles aren't/weren't led by one person either.
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
Offline
Posts: 506
The Concept and Design King
Re: A thought on AI's
«
Reply #4 on:
November 14, 2008, 09:13:46 pm »
Quote
However, imagine if you are fighting a battle with thousands of units. It's impractical to manage them all, which is where leaders can be convenient.
I didn't "shoot down" the leader concept; rather, I fully agree with the principle. I just said that the mechanic shouldn't be implemented as a unit. It should be implemented as something more abstract. By keeping him abstract, more like an AI setting, we lower the amount of management the player must exert with regards to these "leaders". There's no reason you can't just select a bunch of units and assign an AI macro (attack this building) to them. I think that's a more fluid implementation.
I also feel that that stances are also important here. More than just "attack this building", we should also be able to specify how it is to be done. A more aggressive approach would be expedient, but suffer more casualties. A more defensive approach would be more efficient, but take longer. More power to the player, in these cases, allows his orders to be more concise to the situation, which is something very important.
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
Offline
Posts: 857
Busy busy busy busy busy
Re: A thought on AI's
«
Reply #5 on:
November 14, 2008, 11:37:16 pm »
That's true (the abstract bit), but a real unit could bring more depth to the gameplay. For example, you could specifically target enemy leaders as a strategic step.
The leader could provide a leadership bonus.
The leader would cost resources, which means you'll have to pay for the extra convenience. Then you could make the decision to micromanage, with more effort but with less costs.
Nonetheless, basic AI functions should indeed be available for all units.
Speaking of AI, what about morale and trust in your leadership? How cool (or not) would it be if your cavalry just won't charge a line of pikemen, because you've been making bad decisions and they don't want to die?
«
Last Edit: November 14, 2008, 11:39:55 pm by 2playgames
»
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
Offline
Posts: 506
The Concept and Design King
Re: A thought on AI's
«
Reply #6 on:
November 14, 2008, 11:57:59 pm »
Quote
That's true (the abstract bit), but a real unit could bring more depth to the gameplay. For example, you could specifically target enemy leaders as a strategic step.
The problem I have with this is the layering of abstractions. By adding these leaders, we move the player's interaction with the computer model to a higher level of abstraction. The AI does more than merely pathfind and defend itself, it follows basic orders and performs simple maneuvers to achieve them. However, by making leaders a crucial point of weakness, we once again bring the player down to the lower levels that we are trying to free him from managing. He must watch individual units to ensure his leader is not in danger so the bonuses imparted are preserved.
I also think piggybacking AI features with combat bonuses is a bad idea in general; I recall in BFME2 where "aggressive" stance was often used by archers in defensive positions because you wanted to maximize damage and didn't have to worry about retaliation, while "defensive" stance was used by charging infantry and cavalry to ensure they survived the approach. The bonus that best fit the situation often didn't match up with the AI, and the player was left to constantly override what was the wrong unit AI for the situation.
With that said, we do need a good implementation of "heroes" which enables players to relinquish low-level control. In order to do this, the player must be confident that his attention is not needed to keep the hero alive or make him successful. I do believe that the function of heroes (even "leader" type heroes) should not overlap the concept of "leaders" you have introduced, which is my primary point. Keep the functions separate.
Quote
Speaking of AI, what about morale and trust in your leadership? How cool (or not) would it be if your cavalry just won't charge a line of pikemen, because you've been making bad decisions and they don't want to die?
The issue I have there is it may be difficult to predict when a soldier will disobey. Success is often defined by how closely you can skirt the edge of disaster without meeting it, and something catastrophic like a unit refusing to obey orders could feel like an excessively arbitrary limitation. I think there might be good ways to implement this, but what you describe is an arbitrary "breaking point". As well, you can end up with very stupid quirks as a result of this system. In Neverwinter Nights, for instance, the implementation of "fear" prevents you from running away. This is both frustrating and lethal, and it got so bad that I usually just hit the "quick-load" button every time I came under "fear" effects. This is not a productive feature.
«
Last Edit: November 15, 2008, 12:00:17 am by Darvin
»
Logged
2playgames
OpenWar Project Founder
Administrator
Sr. Member
Offline
Posts: 857
Busy busy busy busy busy
Re: A thought on AI's
«
Reply #7 on:
November 15, 2008, 11:20:29 am »
Quote
The issue I have there is it may be difficult to predict when a soldier will disobey.
Put a trust meter in the hud. If it's green, they will do anything for you. Yellow, all is good. Orange, you need to gain some trust. If it's red, they start disobeying. If it's black they simply stop listening to you and you lose.
Logged
Darvin
OpenWar Staff
Staff
Sr. Member
Offline
Posts: 506
The Concept and Design King
Re: A thought on AI's
«
Reply #8 on:
November 15, 2008, 08:25:07 pm »
Again, while that's all well and good, the point is that I can't predict "at my current trust level, will they obey this specific order?" This unpredictability could limit strategy more than it helps.
Logged
Pages:
1
Send this topic
|
Print
« previous
next »
Jump to:
Please select a destination:
-----------------------------
General
-----------------------------
=> Announcements
=> General
=> Introductions & Personal
=======> Pre-Projects
=======> Star Wars Space Shooter
-----------------------------
Development
-----------------------------
=> General Development
=> Programming
=> Graphics and Art
-----------------------------
Subprojects
-----------------------------
=> Project Dathon
=> Victory Engine
===> Victory News
-----------------------------
OpenWar Engine
-----------------------------
=> Engine
=> Design and Structure
=> Programming
=> Graphics
=> Sound
-----------------------------
Official Game: Project Maridacan
-----------------------------
=> Official Game
=> Background Story
=> Gameplay
=> Graphics
=> Sound and Music
Loading...