News:

Come Chat with us live! Learn how HERE!

Main Menu

A.I., anybody?

Started by floodbud, January 24, 2007, 06:41:26 PM

Is good Tremulous AI possible?

Yes
73 (67%)
No
36 (33%)

Total Members Voted: 99

Voting closed: January 24, 2007, 06:41:26 PM

doomagent13

Quote from: techheadI can deal with stupid.
ET even has some relatively smart client-side bots that will prioritize objectives versus players.

Here are some tasks, in order of priority:
1. Runs away from nearby stronger enemy.
2. Runs away from nearby enemy if low hit-points and/or human ammo.
3. Attacks nearest enemy or building.
4. Buys ammo/heals if nearby appropriate building and not at full (Human Only).
5. Upgrades current equipment (From a selection of equipment sets (i.e., what we can code)).
5. Follows random nearby teammate.
6. Wanders map randomly.

Nearby means in same vis area.
Mind you, we need definitions of 'manageable' and 'low hp/ammo', and probably have to hard code those definitions those ourselves.
How about start with:
1)  Compiles (possibly hardest part)
2)  Still works fine WITHOUT bots (nothing broken)
3)  Bots spawn and get off spawn
From there, they should probably:
1)  Attack any target in sight
2)  Defend base
3)  Wander randomly without running into walls
4)  Deal with low health/ammo (return to base)
5)  Obtain better items/classes
6)  Attack enemy base

techhead

I meant it as a logic process to give the bot instructions.
Not only would wander randomly would probably make him step off the spawn, I added wander to my list as a "if you got nothing better to do" option.
It should not take priority over health, ammo, attacking the Base, or getting better gear, as it can do it forever if unimpeded.
Ignoring the enemy base to wander randomly is a fairly bad idea.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

The Neutral

The problem with the priority system is that we would have bots that would just run rather than fight later in the game, this would be bad if there was a rant attack the base and all he had was a rifle.
n our world, neutral is non-exsistant.

doomagent13

Bots will atleast need to have a 'follow' ability.  They could then attack in groups, and a group of humans with good accuracy would do much better than one or two.

techhead

If all you have is a rifle, then running is suggested.
Maybe disable run if a friendly is closer to the alien than you are.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

a Turret

QuoteI also understand the worry about players using a hack like this to really mess up internet servers. This problem is solved with imperfection as well, because the AI will be very stupid, and if anything, just feed.
If you are able to hack it and be able to make an aim bot from it then your able to hack it and make it be able to make it good.

I am guessing that aimming is done with a random number generator? the higher the number the more chance of hitting target, and harder the bot the more time its a higher number. (if thats so) then they can just edit it to always have the highest random number, just switch the random variable with a high number and a perfect aimbot.

techhead

Make it an aimbot with an adaptive maximum turning speed?
The farther it has to turn, the faster it turns.
As it gets closer to its target, it turns slower, until lined up on the target.
From there, it tracks the target and shoots.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

RedGuff

Hello. :)
Quote from: doomagent13
Quote from: techhead
A.
1. Runs away from nearby stronger enemy.
2. Runs away from nearby enemy if low hit-points and/or human ammo.
3. Attacks nearest enemy or building.
4. Buys ammo/heals if nearby appropriate building and not at full (Human Only).
5. Upgrades current equipment (From a selection of equipment sets (i.e., what we can code)).
5. Follows random nearby teammate.
6. Wanders map randomly.
B)
1)  Compiles (possibly hardest part)
2)  Still works fine WITHOUT bots (nothing broken)
3)  Bots spawn and get off spawn
From there, they should probably:
1)  Attack any target in sight
2)  Defend base
3)  Wander randomly without running into walls
4)  Deal with low health/ammo (return to base)
5)  Obtain better items/classes
6)  Attack enemy base
- C
- 1 : Accompany the player screaming "Come on !"
- 2 : Add other commands : "Defend base", "attack base"...
Thanks
Fumer tue !

techhead

Further development on AI beyond simple tasks would certainly be easier in 1.2.0 with mini-maps, vchat, and such.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

Fragged

so when are people going to stop talking about bots and actually create them? Just wondering!
Fragged can frag YOU!

Plague Bringer

Exams are coming up; also, I'm sure that sleekslacker has a life other then flaming, and f0rqu3 has a life other then being (one of) the village idiots.
U R A Q T

f0rqu3

spam bringer ... try harder please. you hit like a little girl ( and also type like a little girl )
just spamming another thread? ( at least use your brain and spam something good )

Plague Bringer

I was offering an explination.
U R A Q T

f0rqu3

Quote from: Plague BringerI was offering an explination.
yes sure. now leave us alone

sleekslacker

Aww I was just about to get out of my room and get some 'life' and you guys have to hold me back. This is getting fun. LOL.
y last name is Jones, the family motto is "Jones' never give up!"

Currently ignoring all of your spams.

The Neutral

Quote from: f0rqu3
Quote from: Plague BringerWow, my spalling is impurfect. Big fucking whoop.

(Btw, I made those typos on purpose.)
aww dont cry. you sure made them on purpose
(but you realized it now.)

Dude, f0rqu3, do you have no life?!  If the only thing you can do is bag on for being human, you have some serious issues.  
Now if it is possible, can we please get back to the actual concept of AI.  I agree it would be easier if we had Trem 1.2, but we don't.  To make up for that, we have brains, exams are coming up and some are already here, that just means our mids are fresh!   Even if all we need to do is install Aimbot on a player running off of the server and to write a program for movement it would be a start, the only problem is I don't know C, and not enough people do.
n our world, neutral is non-exsistant.

f0rqu3

write it yourself ... I stop the development of my bot
but dont worry some guy will start working on tre bot

Plague Bringer

Quote from: f0rqu3write it yourself ... I stop the development of my bot missing period
but dont worry some guy will start working on tre bot

Learn to spell and use grammar properly before you critisize me.
U R A Q T

techhead

Is it possible for mods to move posts from one topic to another?
If you can, stick this flame war into a new topic in the "Off Topic" section and lock it.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

doomagent13

Quote from: The NeutralEven if all we need to do is install Aimbot on a player running off of the server and to write a program for movement it would be a start, the only problem is I don't know C, and not enough people do.
It is called 'copy and paste'.  Take the quake3 bot code for ctf, remove any dependencies on map file based paths, and get to compile.

cyrri

Quote from: f0rqu3
Quote from: f0rqu3first make a command
/spawn dretch
that adds a local client, makes it join aliens and spawn as a dretch
then we can proceed with the rest

stage 1 clear

http://www.mercenariesguild.net/patches/?do=details&task_id=58

quite cool, and motivating. here's my attempt: i'm trying to add those parts of the q3 botlib that can be usefull for trem (aas, movement) and the accordant framework in the game module. so far i have aas and botlib loaded, clients spawning, move-to-goal done. patch will follow as soon as i get one networking bug fixed.

move-to-goal in action( dm_70, needs currents svn version):
http://soclose.de/misc/trem/aas_atcs.zip

Mimclear

yeah.............YES!!!!!!!!!!

cp blast

so how do we use the dm_70 file?
I'm a Mexican who likes eating tacos and nachos. Are you?

Plague Bringer

Quote from: cyrriquite cool, and motivating. here's my attempt: i'm trying to add those parts of the q3 botlib that can be usefull for trem (aas, movement) and the accordant framework in the game module. so far i have aas and botlib loaded, clients spawning, move-to-goal done. patch will follow as soon as i get one networking bug fixed.

move-to-goal in action( dm_70, needs currents svn version):http://soclose.de/misc/trem/aas_atcs.zip
U R A Q T

cyrri

here is the patch:
http://www.mercenariesguild.net/patches/?do=details&task_id=72
apply, compile, add the aas file, start map and /addbot foo humans
enabling bot_developer will give you some console and hud messages.

meanwhile bots can create movement goals from buildings, buy and sell stuff and attack buildings/enemies. it's still very alpha though. if someone is interested in using this for further bot development, i'll provide documentation for the framework features.

btw: i just accidentally deleted that demo, sorry.

techhead

I got a mod idea that could use this, and stupid AI is better than nothing.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

mitar

someone can compile this and give qvm ?
because i have error while patching and compiling ;-(

cyrri

what kind of error did you get? here is the qvm:
www.soclose.de/misc/trem/vm.pk3

you'll also need the botlib'ed engine and the aas file. i posted an aas for atcs on the patchtracker page.

Sentinel

so, still working anybody on it?

cyrri

i am, occasionally.
since the patch-release i got the bolib to handle multiple aas files and figured out how to pass a bounding box size and physics values as parameters to bspc. so every class gets its tailored aas.