AI projects

AI projects

Here is where ideas can be collected for the skirmish AI in development

Moderators: hoijui, Moderators

Post Reply
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

AI projects

Post by AF »

Anounce what project you're doing for AI here or which project your helping with/pledge your help to

Atm all I know of is the great muddle fo TAI and 5 matrix and Jouninkomikos wish to have a go at a noncheating unbeatable AI (see skirmishment thread in general discussion)

Right now I'm continuing with 2 paths on my AI ideas with help from a few others, but I wont be posting any more of my huge posts ro whatnot at this forum. As I've said before I'm keeping it all at Darkstars.co.uk under an invite or request only basis to help.
User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

Post by Gabba »

Can I have access to your discussion at Darkstars.co.uk? I won't be able to help right away, but I'd like to keep up with things. It'll probably help me understand the Spring AI code, too.

The area I hope to eventually contribute to is group movement of units, with a behavior based on both pathfinding and steering/flocking.
User avatar
AF
AI Developer
Posts: 20687
Joined: 14 Sep 2004, 11:32

Post by AF »

O, just rgister and tell me and I'll change your permissions acordingly
alik83
Posts: 82
Joined: 08 Sep 2004, 15:32

To Gabba

Post by alik83 »

Gabba: all kind of movements of a group can be defined in SelectedUnitsAI.cpp. How a group will process order is in the CSelectedUnitsAI::GiveCommandNet(Command &c,int player) function.
Right now it's minimalistic: group center is calculated, move destination is modified accordingly and each unit is given a move(or patrol) command.
It also sais in the file that with CTRL pressed units in a group should have the maxSpeed of slowest unit which doesn't happen actually.
Does anybody know how to change unit parameters in a function, like make their maxSpeed/acceleration temporary lower?
Smth. like unitId->setMaxspeed(speed)?
For some reason the setMaxWantedSpeed in MoveType file doesn't seem to work cause it's probably just not implemented fully.
K-man
Posts: 27
Joined: 18 Aug 2004, 18:30

Post by K-man »

I wrote the original SelectedUnitsAI. However, as many other part of the codebase has changed, not all of it is working (like maxSpeed) or even active any longer (like used by default).

setMaxWantedSpeed is an other thing that might not be working any longer. It was used when ground units was controlled by GroundMoveType, which was some merge of steering and physics. It was later on splitted into SurfaceMoveAAI and PhysicsEngine, for purity. (And it's possible that setMaxWantedSpeed ain't fully forwarded to/used by SurfaceMoveAAI.)

I intended to do this with all MoveType-classes, giving a pure steering-system for the AI and a centralized physics engine. But, as you all know, I hade to quit the project before getting there...

Here is a piece of my private documentation explaining the idea:
http://taspring.clan-sy.com/SAI/AAIS.html
User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

Post by Gabba »

Nice to see you're still reading this forum and peering in from time to time, K-man! Thanks for the link to this documentation, it will be a great help to understand what's going on in there.

SYs in general or K-man: If you have time, can you explain a bit the pre-processing of the map for pathfinding that's done at loading time? And how is that updated when terrain deformation occurs or when new obstacles are found (such as enemy buildings)?

Note to all: I am currently reading a bunch of recent research papers on AI/Pathfinding/Terrain analysis/Military Simulations/Robotics. There are really some great ideas in there, both for unit movement and skirmish AI, and these guys all quote each other, so there's a real discussion going on. If we can implement even some of the things I'm reading, Spring will have one of the best AIs! What is nice is that there are algorithms and code in these papers, not only nice dreams. I'll post links to the most relevant ones when I feel I have surveyed enough that material.

Thanks!
Last edited by Gabba on 14 May 2005, 22:36, edited 2 times in total.
ReneV
Posts: 27
Joined: 10 Mar 2005, 07:32

Post by ReneV »

Gabba wrote: Note to all: I am currently reading a bunch of recent research paper on AI/Pathfinding/Terrain analysis/Military Simulations/Robotics. There are really some great ideas in there, both for unit movement and skirmish AI, and these guys all quote each other, so there's a real discussion going on. If we can implement even some of the things I'm reading, Spring will have one of the best AIs! What is nice is that there are algorithms and code in these papers, not only nice dreams. I'll post links to the most relevant ones when I feel I have surveyed enough that material.
Thanks!
Thank you! I'm much looking forward to any usefull entrypoints into that material...
User avatar
Gabba
Posts: 319
Joined: 08 Sep 2004, 22:59

For a start...

Post by Gabba »

Hopefully I get some time soon to compile a list; in the meanwhile here's one of the best ones I read about group movement (especially interesting: the technique described allows to move groups of 100 units with surprisingly small processor ressources): Finding Paths for coherent groups using clearance. Just by Googling for the referenced papers you can get a good overview of other materials available.

Here's an awesomely good one about terrain analysis that can be useful both for pathfinding and AI (use the "PDF" link at the top-right):
How qualitative spatial reasoning can improve strategy game AIs
and here's a more technical one that complements it very well: Terrain-Based Information Fusion and Inference.

I'm learning a lot about robotics while reading all that. It seems robotics and games are becoming closer and closer related.
User avatar
Min3mat
Posts: 3455
Joined: 17 Nov 2004, 20:19

Post by Min3mat »

Amen to that! :)
Post Reply

Return to “AI”