Poll

Is good Tremulous AI possible?

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

Total Members Voted: 99

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

Author Topic: A.I., anybody?  (Read 106933 times)

floodbud

  • Posts: 149
  • Turrets: +0/-0
A.I., anybody?
« on: January 24, 2007, 06:41:26 pm »
Hello everyone, these mods are nice additions and everything, but seriously, why are ther no AI mods???   :evil:  If anyone is working on one, keep going.  Even a basic AI mod (aliens move to human and click rapidly, humans aim at aliens, move random, shoot) would be wildly popular.  Or even just some still aliens for target practice...personally I don't know enough about Tremulous source to create a mod myself but I will help any way I can.
-----
Floodbud, owner of the seven-foot tyrant jump
loodbud
.:AoH:.Opwn3nt        In game
http://www.freepowerboards.com/flamewars/
^My forum^

David

  • Spam Killer
  • *
  • Posts: 3543
  • Turrets: +249/-273
A.I., anybody?
« Reply #1 on: January 24, 2007, 09:03:05 pm »
Making an alien AI is way to hard to be worth the effort.
Humans could be done, but there is no point with out alien.
Just like it says in the FAQ.
Any maps not in the MG repo?  Email me or come to irc.freenode.net/#mg.
--
My words are mine and mine alone.  I can't speak for anyone else, and there is no one who can speak for me.  If I ever make a post that gives the opinions or positions of other users or groups, then they will be clearly labeled as such.
I'm disappointed that people's past actions have forced me to state what should be obvious.
I am not a dev.  Nothing I say counts for anything.

Plague Bringer

  • Posts: 3814
  • Turrets: +147/-187
A.I., anybody?
« Reply #2 on: January 24, 2007, 09:10:47 pm »
well, for all of us who suck reasonably at aliens there would be a huge point, a human AI that we could train on, or for a clan training match it could be clan = aliens, ai = humans
U R A Q T

whitebear

  • Posts: 659
  • Turrets: +35/-20
A.I., anybody?
« Reply #3 on: January 24, 2007, 10:51:59 pm »
With current popularity there is no player who is capabel to build proper ai.

n00b pl0x

  • Posts: 2412
  • Turrets: +55/-168
A.I., anybody?
« Reply #4 on: January 24, 2007, 11:01:12 pm »
NO
will sort out my sig, or I will get banned.

HOW DO I SORTED SIG?

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
A.I., anybody?
« Reply #5 on: January 25, 2007, 01:49:07 am »
It's possible but difficult. Here is what you need:

1.) Quake BSP pathing -- see Quake/ioq3 source
2.) Equipment and combat strategy -- attack pattern scripts, simple "walking turret", run-at-and-bite (see Counterstrike)
3.) Generalized building strategy -- priority scripts, zones of influence (see Starcraft etc)

Need I mention good bots exist for Natural Selection?

doomagent13

  • Posts: 506
  • Turrets: +18/-18
A.I., anybody?
« Reply #6 on: January 25, 2007, 09:46:59 pm »
Would maps need to be edited to provide bot support or could they just be programed to do certain things around certain map features?

EX:
Long Hallway = Sit and shoot as human, avoid as alien
Door = possible good building spot for either team, good ambush point for aliens

I think you get the idea.

Possibly the hardest thing for human bots would be making them NOT be aimbots.

gareth

  • Posts: 710
  • Turrets: +38/-89
A.I., anybody?
« Reply #7 on: January 25, 2007, 10:02:24 pm »
Quote from: "doomagent13"

Possibly the hardest thing for human bots would be making them NOT be aimbots.


i think that would possibly be the easiest thing :/

maybe u can make a camper bot, sits next to the armory, upgrading whenever possible, and occasionally blowing up the base wht grenades.

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
A.I., anybody?
« Reply #8 on: January 26, 2007, 12:08:14 am »
Quote from: "doomagent13"
Would maps need to be edited to provide bot support or could they just be programed to do certain things around certain map features?

This was done in Quake 2. Map authors can make the bots smarter by hinting out paths etc, maybe makes the server a bit more efficient by precompiling a few things. It's a bonus but not necessary.

Undeference

  • Tremulous Developers
  • *
  • Posts: 1254
  • Turrets: +122/-45
A.I., anybody?
« Reply #9 on: January 26, 2007, 12:12:16 am »
Quote
maybe u can make a camper bot, sits next to the armory, upgrading whenever possible, and occasionally blowing up the base wht grenades.
That is an art form. Bots will never be as good at it as people.
Need help? Ask intelligently. Please share solutions you find.

Thats what we need, helpful players, not more powerful admins.

Odin

  • Spam Killer
  • *
  • Posts: 1767
  • Turrets: +113/-204
    • My Website
A.I., anybody?
« Reply #10 on: January 26, 2007, 05:43:30 am »
How can you path the wallwalking? That would be impossible to program bots for.

Vector_Matt

  • Posts: 732
  • Turrets: +2/-1
A.I., anybody?
« Reply #11 on: January 26, 2007, 06:58:41 pm »
Quote from: "Odin"
How can you path the wallwalking? That would be impossible to program bots for.
No, just fiendishly difficult.

techhead

  • Posts: 1496
  • Turrets: +77/-73
    • My (Virtually) Infinite Source of Knowledge (and Trivia)
A.I., anybody?
« Reply #12 on: January 26, 2007, 08:43:32 pm »
Quote from: "Risujin"
It's possible but difficult. Here is what you need:

1.) Quake BSP pathing -- see Quake/ioq3 source
2.) Equipment and combat strategy -- attack pattern scripts, simple "walking turret", run-at-and-bite (see Counterstrike)
3.) Generalized building strategy -- priority scripts, zones of influence (see Starcraft etc)

Need I mention good bots exist for Natural Selection?


To generalize it further from an AI perspective, there would be 2 types of AI for Tremulous, combat bot and building bot.
A killbot would ideally do several things, from easiest to hardest:
1. Recognize and attack enemy players and structures.
2. Navigate maps without getting lost.
3. Attempt to satisfy the objective of the game, i.e. find and kill the enemy base.
4. Attempt teamwork with fellow bots and players alike.

A basebot would ideally do several things, from easiest to hardest:
1. Navigate inside friendly base.
2. Understand Generalized building strategy -- zones of influence ( :reactor:  :overmind: ), choke-points ( :trapper:  :turret:  :tesla:  :barricade:  :hive:  :acidtube: ), power needs ( :repeater:  :egg: ), convenience vs. safety ( :telenode:  :medstat:  :armoury:  :defcomp:  :egg:  :booster: ),  etc.
3. Prioritize which buildings are more important than others.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

Odin

  • Spam Killer
  • *
  • Posts: 1767
  • Turrets: +113/-204
    • My Website
A.I., anybody?
« Reply #13 on: January 26, 2007, 10:08:49 pm »
Also, a builder bot would have to know how many spawns is sane for the team it is on. Imagine a bot deconning everything because it thinks the team needs more nodes, eventually using up all of the build points. It might be better to just make them build pre-defined bases, until someone can figure out how to make them think up their own designs.

techhead

  • Posts: 1496
  • Turrets: +77/-73
    • My (Virtually) Infinite Source of Knowledge (and Trivia)
A.I., anybody?
« Reply #14 on: January 27, 2007, 03:00:14 am »
I did say ideally, and those instances would be covered in prioritizing the BP.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
A.I., anybody?
« Reply #15 on: January 27, 2007, 03:57:25 pm »
Quote from: "techhead"
To generalize it further from an AI perspective, there would be 2 types of AI for Tremulous, combat bot and building bot.

The nice thing is, while these two bots share much of the same plumbing and in a real game would switch between roles, you can create a combat-only or a builder-only bot for a start.

Quote from: "techhead"
1. Recognize and attack enemy players and structures.

This is probably easiest for humans. The trick is often knowing when you can attack and how to do it without getting killed.

Quote from: "techhead"
2. Navigate maps without getting lost.

More like navigate the map without getting glitched. :-?

Quote from: "techhead"
4. Attempt teamwork with fellow bots and players alike.

The NS WhichBot actually forms attack "packs" with other WhichBots. A simpler alternative would be to just follow a human player. :)

Quote from: "techhead"
2. Understand Generalized building strategy -- zones of influence ( :reactor:  :overmind: ), choke-points ( :trapper:  :turret:  :tesla:  :barricade:  :hive:  :acidtube: ), power needs ( :repeater:  :egg: ), convenience vs. safety ( :telenode:  :medstat:  :armoury:  :defcomp:  :egg:  :booster: ),  etc.

Bots would need to know the map layout and the starting positions of enemy buildings otherwise they would put all the turrets facing a closet or something similarly stupid.

Quote from: "techhead"
3. Prioritize which buildings are more important than others.

A bit of enlightened scripting would do the trick here. :)

vcxzet

  • Guest
A.I., anybody?
« Reply #16 on: January 27, 2007, 04:01:20 pm »
spawn places in trem are  dynamic
and you cannot path everywhere on the map
so you all fail
unless you managed to complete complex path finding algorithms in 1 ms

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
A.I., anybody?
« Reply #17 on: January 27, 2007, 04:12:47 pm »
Quote from: "vcxzet"
spawn places in trem are  dynamic

... but still visible to server-side bots. If it comes to it, making the bot cheat would be pretty easy. :)

Quote from: "vcxzet"
and you cannot path everywhere on the map
so you all fail
unless you managed to complete complex path finding algorithms in 1 ms

You don't have to do it every ms. There are typically 50 ms per frame for one thing and you don't need to build the map nodes every frame or even in-game for another. You can build path graphs at map start for maps that are not pathed. You would have different paths for each class presumably.

vcxzet

  • Guest
A.I., anybody?
« Reply #18 on: January 27, 2007, 04:42:55 pm »
3d path finding algorithms that evaluate in <1000 ms is not yet widely available
I suggest brain reading

Stof

  • Posts: 1343
  • Turrets: +1/-1
A.I., anybody?
« Reply #19 on: January 27, 2007, 05:21:36 pm »
Quote from: "vcxzet"
3d path finding algorithms that evaluate in <1000 ms is not yet widely available
I suggest brain reading

This is wrong, wallwalking is not true 3D pathfinding because you are still constrained on a plane :) Thus, a simple graph/node based navigation should do the trick. It won't support advanced tactics like jumping from one wall to another though.
urphy's rules of combat
8 ) Teamwork is essential; it gives the enemy someone else to shoot at.
18 ) Make it too tough for the enemy to get in and you can't get out.

vcxzet

  • Guest
A.I., anybody?
« Reply #20 on: January 27, 2007, 05:53:49 pm »
Quote from: "Stof"
Quote from: "vcxzet"
3d path finding algorithms that evaluate in <1000 ms is not yet widely available
I suggest brain reading

This is wrong, wallwalking is not true 3D pathfinding because you are still constrained on a plane :) Thus, a simple graph/node based navigation should do the trick. It won't support advanced tactics like jumping from one wall to another though.

yes if you say so I think you know path finding better than me like everything else
oh btw did I mention 2d pathfinding is used on 2d images and if you cant project something on a plane it wont be 2d. But you are so leet you can do it easily

Evlesoa

  • Guest
A.I., anybody?
« Reply #21 on: January 27, 2007, 07:10:28 pm »
I think making an AI learn its things, is gonna be harder then u think. However i would agree with the idea of making the bots... as 0din said, fiendishly hard... Because you need to make a superior bot, that learns all the moves of a player, and expects where it will be next... That, and you would have to tone its aim down, so it doesnt get too smart for the player, and the bot would be unkillable... lol

[COM-IT]Styx

  • Posts: 34
  • Turrets: +0/-1
A.I., anybody?
« Reply #22 on: January 30, 2007, 12:43:51 am »
mappers could use key for buildable to indicate stage to build each object, so the bases would be designed by a human but built by a bot

Mangler

  • Posts: 43
  • Turrets: +0/-1
A.I., anybody?
« Reply #23 on: January 31, 2007, 01:37:14 am »
If there are human players on the map, build a map-node-grid from them.

A human will automatically build the bots map-node-grid as they wander around.

It might be a pretty lousy map if the player had never seen the map before.

and the wall walking problem is overstated.

Only dretches really wall walk S1, and even then all other aliens (except baslilisk, adv. granger) are ground based.

Considering the number of 'cheap' tactics a Alien-bot could employ, even if they can barely pathfind they will be VERY difficult adversaries.

Cheap tactics like:
Smart-Straife: Move left/Right when human is aiming gun at you.
'Perfect' Pounces (could be tricky?)
Flawless judge of range and aim.
0 Fear.
Sees you in the dark.
Auto-Sneak, when a Bot is behind a human and the human has NOT seen the bot.

Risujin

  • Posts: 739
  • Turrets: +33/-13
    • http://risujin.org
A.I., anybody?
« Reply #24 on: January 31, 2007, 02:56:37 am »
Quote from: "Mangler"
If there are human players on the map, build a map-node-grid from them.

Thats interesting, though obviously with problems. The bot basically follows the other players around.

Quote from: "Mangler"
and the wall walking problem is overstated.

It's not necessary for the bots to wallwalk, they are playable without ... if a little dull. :)

Quote from: "Mangler"
Cheap tactics like:
Smart-Straife: Move left/Right when human is aiming gun at you.
'Perfect' Pounces (could be tricky?)
Flawless judge of range and aim.

zomg h4x! not to mention clairvoyance for server-side bots?

Quote from: "Mangler"
0 Fear.

Actually you do want fear. If you are dying consistently at certain areas by, say, turrets or MDers you don't want to keep running back and feeding. Bots would become temporarily "afraid" of those areas ... the effect wearing off with time.

techhead

  • Posts: 1496
  • Turrets: +77/-73
    • My (Virtually) Infinite Source of Knowledge (and Trivia)
A.I., anybody?
« Reply #25 on: January 31, 2007, 08:26:07 pm »
Ahh, a fight/run logic structure.
Run from bigger aliens, unless you know what you are doing.
Basilisks run far away from flamethowers and Lucifers.
Tyrants run away from a couple chain-suits.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

Kaleo

  • Posts: 2098
  • Turrets: +176/-220
    • KaleoDesign
A.I., anybody?
« Reply #26 on: February 01, 2007, 09:08:27 am »
GOOD ai would be impossible, BAD ai would be possible.
Quote from: Stannum
Thou canst not kill that which doth not live,
but you can blow it into chunky kibbles!
I has a cookie, and u can has a cookie, but i no givs u mai cookie...

techhead

  • Posts: 1496
  • Turrets: +77/-73
    • My (Virtually) Infinite Source of Knowledge (and Trivia)
A.I., anybody?
« Reply #27 on: February 01, 2007, 09:44:08 pm »
And how hard would bad AI be to make?
And it wouldn't be that bad, compared to all the Unnamed Players.
In fact, in some areas they would be better. (Aim, for example)
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

Plague Bringer

  • Posts: 3814
  • Turrets: +147/-187
A.I., anybody?
« Reply #28 on: February 01, 2007, 10:03:50 pm »
Quote from: "techhead"
And how hard would bad AI be to make?
And it wouldn't be that bad, compared to all the Unnamed Players.
In fact, in some areas they would be better. (Aim, for example)
and they wouldent decon the reactor right before you reload you chaingun during a tyrant rush. they wouldnt luci or nade your base either
U R A Q T

cyrri

  • Posts: 25
  • Turrets: +3/-1
A.I., anybody?
« Reply #29 on: February 06, 2007, 12:09:27 am »
@vcxzet
3d environments can be represented as graphs just like 2d ones. the only drawback for pathing algos like A* is that 2d heuristics are more efficient. however q3 pathfinding doesn't even use heuristics.

the amout of wall and ceiling areas is ~ 500 - 2000 per cluster. the botlib pathfinding sure can handle this, team arena and world of padman maps have much worse areacounts.

so 1000ms per route is as unrealistic as 1ms. even if it took more than 40ms, the algo could still be time sliced.

if anyone decides to go about bot development, i'd like to help with the aas part.