Advertisement

Team Tactics (for rugby but in genreal will be good too)

Started by September 22, 2006 08:29 AM
15 comments, last by Alistair_Hutton 18 years, 1 month ago
I'm currently programming a rugby union game. I've got a 1 on 1 game going but rugby, of course, is a team sport and I need to consider how to implement a fairly wide ranging AI system. I'm basically suffering analysis paralysis as there are so many, many ways to go about implementing team tactics. Obvioulsy there's the robocup as a starting point but I'm looking for something a bit more genreal. Are thereany write-ups on how team tactics have been impleneted in oher sports games?
I implemented a football demo using a goal-oriented system. Looked fairly well, for the time I spent on it. For a given situation, list a bunch of sub-goals (block, prepare for pass, etc) and let each agent pick the sub-goal that is best for his situation on the field, then it'll look like they are coordinated :) I dont know much about rugby...
Advertisement
I've been working on a similar problem ... I just started though so most of my thoughts are just theoretical at this point.

I was actually inspired by the flocking algorithms in the way that a collection of relatively simple behaviors, when combined, can produce very nice results. Essentially, every behavior evaluates with each tick to see how important it is for the agent to follow its advice. That way, if one behavior comes up with a low relevance factor, it will only contribute a very small amount to the agent's behavior this tick. But if there is another behavior that has a high relevance factor (ie. I'm about to run head first into a wall), it will contribute a lot to the agent's action.

I'm figuring that this concept can be expanded to other behaviors including behaviors that take team positions into account when evaluating their relevance.
Joel Martinez
http://codecube.net
[twitter]joelmartinez[/twitter]
I quite liked the system that I saw in Sensible World Of Soccer. First, you divide the pitch up into a grid of areas. Then, for each such area, imagine the ball is in that area and you are in possession, and store where you wish every team member would be. Then imagine the ball is there and the opponent is in possession, and decide where you'd want your players to be. During the game, the AI looks at who has the ball and where, and tells each computer-controlled character where they are supposed to be, based on that. They can obviously then use the simple steering behaviour that you're aware of to move to the desired position, while avoiding opponents. You can then set up some special case overrides, eg. telling the player nearest the ball to collect it, or adjusting a character's position to facilitate overlaps or other rugby-specific tactics.

It seems a bit more rigid than an emergent system, but then is it also more in line with how professional team games tend to act.

One nice aspect of using steering behaviours/flocking is that you can set the man with the ball to have a large separation force from the opponents, thus avoiding them to delay tackles as a real player would. The flocking stuff will certainly come in handy on the low level, once you have a higher level system to set your formation.
Rugby? Cool! I love rugby!

Championship Manager (I think) seems to divide the pitch into a grid, and (from memory) you can view where each player will be when the ball is in each grid.

This seems like a good approach.

Flocking isn't always a good idea for rugby - all the old games must use it as you have one player with the ball running down the field, with everyone else running behind him in a long line. Very unrealistic! The stupidest part is that if you have a prop on the wing who was hanging out there to help defend out wide, there's no way he'd run to the middle of the pitch and "flock along" in trail of the player with the ball. He'd be too knackered!!! :)

Maybe you could try watching a few games on video and observe what each position/player does in certain situations. There's a lot of info to pick up in this manner though. For example, it's a scrum, your opponent has the put in, your backs take a flat defensive line. The scrum is in the middle of the pitch and your opponent has split his backline either side. You have to do the same with your backline. And so on and on and on....

But cool - I'll read any replies to this topic. Do you have a website to follow your progress?
---------------------http://www.stodge.net
Quote: Original post by Kylotan
I quite liked the system that I saw in Sensible World Of Soccer. First, you divide the pitch up into a grid of areas. Then, for each such area, imagine the ball is in that area and you are in possession, and store where you wish every team member would be. Then imagine the ball is there and the opponent is in possession, and decide where you'd want your players to be. During the game, the AI looks at who has the ball and where, and tells each computer-controlled character where they are supposed to be, based on that. They can obviously then use the simple steering behaviour that you're aware of to move to the desired position, while avoiding opponents. You can then set up some special case overrides, eg. telling the player nearest the ball to collect it, or adjusting a character's position to facilitate overlaps or other rugby-specific tactics.

It seems a bit more rigid than an emergent system, but then is it also more in line with how professional team games tend to act.

One nice aspect of using steering behaviours/flocking is that you can set the man with the ball to have a large separation force from the opponents, thus avoiding them to delay tackles as a real player would. The flocking stuff will certainly come in handy on the low level, once you have a higher level system to set your formation.


I agree with that last thing. High level decision, low-level manipulation :).

It should work well in Soccer, where players tend to keep the same position in playtime. It would be atad more tricky in football, where players run all over the field (a guy beginning a the right of the field can end up at the fart left pretty fast). Are there solid positions in rugby?

Also, in defense play in soccer, you usually want each player to cover one opponent, and stick with him. So "desired position" will change a lot depending on the opponent's moves...
Advertisement
Thanks for the initial ideas.

I think I'm going to have to do a lot of diagraming, examing all the basic rugby 'formations' before I settle on an approach. There's a lot of fixed strategy, like an American Football game but it is all happening in continuous, fluid situations, like a Association Football game.

Obviously my first step is to get a system that plays a game with a passing resembelence to rugby but my long term goal is for the AI to be tweakable so differnt styles of teams can be pitted against each other. Rush vs Drifting defense, stand-off in the pocket or playing flat, multitude of different backs alignments, being able to call the blind-side winger to take an angled crash ball, etc, etc, etc forever and ever and ever. I think the broad picture will be relatively easy but it will be all the little details that make the gme feel like rugby that will be where 80% of the effort will have to go.

I'll keep you updated as to how I go.
Is this open source, or just a private project? I'd be interested in seeing what's going on if it's open source.
---------------------http://www.stodge.net
It's a private project, with the intents of selling it if I produce something of sufficient quality. However, I'll be happy to share the details of whatever approach I use, given that I'm fishing for advice to begin with :-)

To give a bit more detail about the game I'm going for sensible soccer style graphics (which should mean programmer art will be acceptable) with a fairly detailed, intricate, control scheme asking for a lot more input from the player than say, Johna Lomu Rugby (which is still the only good rugby game ever produced).
First major leap forward!

I've stopped players checking to see if they collide with themselves! They move now. *cough*I'mtiredandshouldbeinbed*cough*

This topic is closed to new replies.

Advertisement