.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   General Bot Coding (http://forums.bots-united.com/forumdisplay.php?f=24)
-   -   Misc bot idea & stuff thread (http://forums.bots-united.com/showthread.php?t=3097)

@$3.1415rin 30-11-2004 19:48

Misc bot idea & stuff thread
 
maybe this could be just some brainstorming thread. not about current code, just about idea's in the bot's design, current problems, wanted features etc. but maybe more from the bot developer side than from the user's side. usually the users come into play later on, when the design and stuff is already done and it's often more a question of tweakin' ...

ok, I start :

currently i'm using a system based on behaviours on the bot and squad level. ( see http://www.lampel.net/johannes/joebo...XPDoc-beta.pdf page 26, behaviours ) the problem is now to get some coherent behaviour on squad level, which isnt simply coded into the different behaviours, but which is more coordinated, which takes care of 2 squads doing the same thing. Currently there is e.g. a bomb planting behaviour on squad level which just get's activated when 60 seconds of a round is played, and then this squad heads to the bomb place if it has the bomb. This isnt what I want, this was just for testing different stuff.

I plan to implement some blackboard on team level. There will be behaviours and the squad which is most suitable ( that's determined just like with the behaviours on bot level ... evaluate is called, each behaviour which can do anything, puts a goal with a priority into some list, and in the end the goal with the highest priority wins ). this way I think that I can control the numbers of sniping squads, rescuing hostages, just securing the place, etc, squads. The only problem is at the moment a nice and elegant implementation, since the evaluation on team level has to be done for a single behavior for multible squads, which somehow collides with my current system of bots / squads 'owning' behaviors :) This whole system would also save processing time, since not every squad would have to execute a lot of behaviours, just those which do the basic work and those which were appointed to this squad by the team / blackboard. the bomb plaing behavior e.g. has to be tested by every squad at the moment, which of course takes time.

To come back to planting bombs : somewhen it's suitable to plant the bomb. then the related behaviour would produce a high priority goal. if the goalfinder of the team/blackboard 'thinks' that this is ok, i.e. there is no other more important behaviours, the behaviour would be handed over to the squad to be executed. after some time, there gotta be a check if the team wants that behaviour back, or if it's still ok that it is executed by the squad.

ok, that's it ... for now

Pierre-Marie Baty 01-12-2004 00:45

Re: Misc bot idea & stuff thread
 
Quote:

Originally Posted by asp
evaluate is called, each behaviour which can do anything, puts a goal with a priority into some list, and in the end the goal with the highest priority wins

Why do I have the feeling that you're taking things by the wrong end ? Your bot reasons like if it had no duties, didn't know initially what to do. Here you have a bot (or a squad) pick up from a list of possible goals. It works as if you let the bot or the squad choose what it likes best. It should be the other way around: the goal, i.e. something that must be done, especially when it is part of a greater plan, should be attributed to the squad with the higher chances of completing it.

It's quite a big difference !

*edit*
let me explain with other words perhaps. With your system, if for a particular goal, nobody feels like he's gonna be able to do it, this goal will not even be pursued. In my system, even if the goal looks impossible to all, my bots will at least try - because that's their mission.
You will end up with shy bots... JoeBot XPs, sissies ? :D

*edit 2*
...and noteworthy, my approach also solves your problem of having two squads doing the same thing at the same time :P

@$3.1415rin 01-12-2004 01:29

Re: Misc bot idea & stuff thread
 
yes, I have to manage the total sum of behaviours available on the blackboard or add some flag to behaviours which have to be attributed to some squad. That's right.

But I regard the evaluation if some behaviour is most suitable for a squad as a part of the behaviour itself, therefore it's the task of the behaviour to create those goals and therewith making the goalfinder able to decide to whome it should be handed over. This is of course another evaluate function than the std one, like described in my paper, since those 2 are working on different, let's say, contexts. one looking at squads, deciding which one is able to fulfill the task, the other one ( that one that is already part of the implementation and used on squad and bot level ) taking care of when being executed on the squad level.

In other words, each behaviour on the blackboard wants to go there, where it is most probable to survive and have sucess.

and about the feat that nobody doesnt do anything ... in my current implementation there is always something like a bottom layer, something like "run around", which always produces low priority goals, so that noone is bored ;) it's anyway not often the case that a behaviour tells that it's impossible to do something, they often just give low priorities. ok, with the bomb, it's simply impossible to go bomb planting without the bomb. ( btw, I also see killaruna's priority weighting problem arising here, until I was still able to keep up some pencil drawings showing priority distributions on different layers for the behaviuors :| )

no need to be afraid of lazy bots :P

Pierre-Marie Baty 01-12-2004 04:18

Re: Misc bot idea & stuff thread
 
killaruna's priority weighting problem ?
refresh my memory please ? ???:(

stefanhendriks 03-12-2004 11:52

Re: Misc bot idea & stuff thread
 
eek. Actually i got the feeling we need to get something working first before even considering squad behaviour. Does this sound fuzzy? Don't bother then ;)

Squad behaviour, i'd prefer the 'c&c method' (botman called it different though..., but meant the same). Ie, for each team its like a seperate class/machine 'watches over' the map. And places the pieces/bots to specific areas. And so it will send 2 bots here, 2 bots there, 3 bots here. Thats more like basic implementation of 'squad' behaviour. Actually, i would need a precise definition of 'squad behaviour'...

Anyhow, when coming into tight areas, its more difficult. Like storming through a door. One opens, 1 throws in a grenade, then the rest goes in and does a clean sweep. That kind of stuff would be tough. But... i can imagine you have a 'short list' of actions to do when you are encountering a door with multiple bots. However, here comes problem no1. You have to determine IN and OUTside. Then you have to determine, 1st time, 2nd time, ie, worthy to do the action list. And even apart from that, you have to make sure that bots know their tasks. It sounds pretty complicated to me for such a thing. Yet its not impossible ;)

Brainz 04-12-2004 07:40

Re: Misc bot idea & stuff thread
 
can't "in" and "outside" be judged from distance to surface above? i.e. if it's big (skybox above) you're outside, small (ceiling) - inside?

And as to the shortlist of tasks, the bot assigned the task needs to be able to perform it. IE they can't throw the grenade if they don't have one, but that's sorta elementary, I guess.

My definition of squad behaviour, at least in the real world:

A group of people of diverse roles who stay within close communication range, provide support for each other in contacts, and recieve orders as a group from a superior.

Possible roles, which may be mixed and matched depending on squad size (i'm still in RL mode here, so it will probably need changing for FPS use), with suggested weapons:
Leader (M16)- In charge of squad (1)
Sniper (M29 Sniper) - expert at long range warfare, (2)
Machinegunner (M249) - self explanitory(3)
Grenadier (M4A4 M203, Frag grenades, smoke grenades) - self explanitory (4)
engineer (M4 or MP5) - demolitions, repairs, driving, disarming/setting bombs(4)
medic (M16, medikit) - self explanitory (5)
communications (M16, commlink) (1)
Scout (MP5SD) - expert in sneaking forwards to locate enemy positions(2)
Rifleman (M16) - general soldier type (5)
RPGman (M4, SMAW) - carries bazooka/anti-tank weapon(4)

Possible combinations for a 5-man squad are show in brackets. add extra rifleman/grenadiers or similar to build up a squad to whatever number.

Remember, I'm not talking about BOTs here, but REAL LIFE... It will almost certainly need changing for whatever game the bots are for.

sfx1999 04-12-2004 19:49

Re: Misc bot idea & stuff thread
 
Caring an M16 and a LAW would be quite heavy, maybe a LAW and a Beretta 92FS would be better.


All times are GMT +2. The time now is 06:41.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.