Lol, reminds me of the dev-team for blackandwhite telling how at first the creature was trying to eat himself in a continuous loop.
We call this counter-productive emergent behavior.
Team Tactics (for rugby but in genreal will be good too)
Note toself, if I have a lot of variables called state which I check and change with a complicated nested series of if statements maybe just maybe I should use a formal FSM rather than pissing around with the kludge I've got now.
I'm at a bit of a chicken and egg scenario with the AI. I think I'll have to implement more rugby rules before I can add sensible AI but a lot of the rugby rules require players to act in certain ways, i.e they need some sensible AI. As always is the case with AI this is turning out to be simultaenously easier and more difficult that I thought.
I think I'll have a series of plans that get activated at each ruck or maul based on opposition and team dispositions. The plans would be along the lines of SPREAD_IT_WIDE, UP_THE_MIDDLE, ROUND_THE_FRINGES, TACTICAL_KICK. Players will then adopt roles for the plan based on thier position on the pitch.
The difficult part will be the pitch analysis for identifying how teams are organised.
I'm at a bit of a chicken and egg scenario with the AI. I think I'll have to implement more rugby rules before I can add sensible AI but a lot of the rugby rules require players to act in certain ways, i.e they need some sensible AI. As always is the case with AI this is turning out to be simultaenously easier and more difficult that I thought.
I think I'll have a series of plans that get activated at each ruck or maul based on opposition and team dispositions. The plans would be along the lines of SPREAD_IT_WIDE, UP_THE_MIDDLE, ROUND_THE_FRINGES, TACTICAL_KICK. Players will then adopt roles for the plan based on thier position on the pitch.
The difficult part will be the pitch analysis for identifying how teams are organised.
Maybe it would be worthwhile working on a stripped down version, like league or sevens. At least then you can get some of the backline AI in place before introducing the forward play. I can imagine that co-ordinating the forwards and backs around scrums or mauls will be quite challenging.
--www.physicaluncertainty.com
--linkedin
--irc.freenode.net#gdnet
Look up : subsumption architecture : Brooks R.A. have nice papers about this. Until this day, I have not found a better way to controlle a unit in a complex state space (you dont need it to play chess, but ill guess that your players can mover freely). The architecture makes testing more easy, and alow for a wery robust and layered AI. The cool thing is that each layer is a little more abstract, so that the lower layers takes care of player movement and ball handeling, higher layers can be abstracted away from such details, and can cover the team part. Because the AI is so robust, it can often survive in enviroments that changes to variations not forseen by the developer.
I always like to look at how it works in the real world. If we look at the team part of most ball games:
-each player often have a possition and a role.
-other players support the player with the ball.
-players sends messages by shouting (think how cool it is if you connect these to your sound system)
I always like to look at how it works in the real world. If we look at the team part of most ball games:
-each player often have a possition and a role.
-other players support the player with the ball.
-players sends messages by shouting (think how cool it is if you connect these to your sound system)
-Anders-Oredsson-Norway-
How about using influence maps to determine where a player should run with the ball? Faster runners, better tacklers have more influence, and so on. Just an idea :)
---PS3dev
Quote: Original post by davedx
How about using influence maps to determine where a player should run with the ball? Faster runners, better tacklers have more influence, and so on. Just an idea :)
I was just contemplating an idea that I realised (after reading your post) is simply reimplementing influence maps from first principles. Thanks for the thinking short cut :-).
So a couple more ideas. I'm still not quite sure how I want to deicde how a backline move will be organised, both centralised and decentralised approaches have their merits.
One (centralised) approach is to roughly influence map the defensive line and then pass the ball and move attackers to hit a weak spot, and if the defensive line is strong then the ball could be tactically kicked or setup for recycling.
A decentralised approach would be to give each player three sensing zones, a straight ahead corridor little more than the width of the player, a zone of attack which covers a fairly wide rectangualr area infront of the player which susumes the corridor and a Zone of Terror which is a close circle ariund the player. The idea being if the player has the ball and sees the straight ahead corridor is open then run up it. If there's opposition in the way then they'll consider the zone of attack and if it's full of defenders then they'll pass the ball on, preffering a direction that has less defenders in it. If their zone of terror is occupied with defenders then they'll make a decision to try and out pace them if they're behind the attacker or pass/be tackled if the defender is in front of them. This also allows players to "make calls" like "I'm in the open pass to me" or "I'm covered, don't pass".
The centralised approach seems a lot easier for now but the decentralised approach allows more tweaking and creating of personalities, I can make a player brave, selfish, afraid of contact, or relishes crashing the ball up. For now I'll centralise it just so I've got the feel of how it might all hang together.
One (centralised) approach is to roughly influence map the defensive line and then pass the ball and move attackers to hit a weak spot, and if the defensive line is strong then the ball could be tactically kicked or setup for recycling.
A decentralised approach would be to give each player three sensing zones, a straight ahead corridor little more than the width of the player, a zone of attack which covers a fairly wide rectangualr area infront of the player which susumes the corridor and a Zone of Terror which is a close circle ariund the player. The idea being if the player has the ball and sees the straight ahead corridor is open then run up it. If there's opposition in the way then they'll consider the zone of attack and if it's full of defenders then they'll pass the ball on, preffering a direction that has less defenders in it. If their zone of terror is occupied with defenders then they'll make a decision to try and out pace them if they're behind the attacker or pass/be tackled if the defender is in front of them. This also allows players to "make calls" like "I'm in the open pass to me" or "I'm covered, don't pass".
The centralised approach seems a lot easier for now but the decentralised approach allows more tweaking and creating of personalities, I can make a player brave, selfish, afraid of contact, or relishes crashing the ball up. For now I'll centralise it just so I've got the feel of how it might all hang together.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement