Send
Bot News DosDoom
Page Articles
-
Arena: Cyberdemon has
posted 20 frags in his own map, Head Rush. In the
crowded Quake 3:16 arena, Ugwad's buddy Fragman
has posted 33 frags. Ugwad submitted a 37 frag demo, but it crashes on
my machine. I'll include it anyway until I get a lot of gripes that it
doesn't run on anyone else's machines...
-
"I can't step up!" N
Bot be nimble, N Bot be quick... N Bot lays a lot of black candlesticks.
Um, maybe it's not so nimble yet... Hey, in all fairness, this bot is half
done. Thumbs up to Aurican for the effort of totally rewriting this bot
from the ground up for MBF, at the cost of much sleep. I tried gothic98
first, of course... extremely slow framerate, of course. The bot ran back
& forth a few times & then crashed with the "I can't step up" message.
I assume that this happens when it crosses certain linedefs. Then, I tried
Gothic2.wad. Whoops, there are bugs in that wad that Boom has never tolerated
like Legacy & DosDoom have. Boom's cousin MBF is just as finicky with
gothic2.wad, so nix that wad--too bad. Then I fired up Plague (an Execution
beta level that reminds me a lot of the British11 maps), Surge, & bother01.wad.
The bot gets stuck a lot (although, some of the corners it got stuck
in are the same corners that Doombot 2.21 gets stuck in). I was reminded
of the old Doombot 2.0, but this N Bot doesn't shoot yet. It bounces around
like a pong blip, like Doombot 2.0 did, but it leaves black candles like
a rat leaving droppings (sorry, Andy, but it's late, & the comparison
struck me as funny just now). At this point, the bot is still an experiment.
It's not anything you can dm against, unless you like blowing away lemmings.
But we all need to give props to Aurican for his hard work, & encourage
him to continue. He took a risk releasing something that is not fully working,
& so I am not going to rip on his bot's flaws. I am looking forward
to see him finish this thing, though as school resumes for him this may
take longer.
-
I have a request of somebody. Will someone
please make a DosDoom 0.65 bot? I have been nagging the team about adding
bots, but to no avail. I am dying to see a bot that can use the DDF (Doom
Definition Files) stuff. If you haven't tried out the new DDF weapon hacks
for DosDoom, you are missing out big time. All the stuff that you used
to need dehacked to change has been taken out of the exe file & put
into these ddf files that you can edit with notepad. It is a quantum leap
beyond dehacked. In a wad, you can add DDF stuff like new weapons, monsters,
linedefs, etc. without a separate deh file. It is extremely cool, &
I could see a very cool DM pack that has custom weapons for the bots. I
know that MBF has support for deh in wads, which is kind of similar, but
DDF is much easier to do & more powerful than dehacked, & a bots.ddf
file would be very fun to mess around with indeed! Anyway, happy new year,
& somebody make a resolution to do a bot for DosDoom.
-
If you haven't noticed from watching my demos
in the arena, I am not the most adept dm'er. :-) Therefore,
I found myself encouraged by Ugwad's demos of him getting 29 & 33 frags
the hard way in gothic2.wad map 30. While he disparages his lack of finesse,
I think he makes up for it with insight.
-
On another note, I happened upon celebrity
Quaker Killcreek in Efnet #doom2 last night. For those of you who don't
know, she is a fierce player who beat John Romero in Quake dm. Anyway,
I invited her to try out Doombot & post some
demos for the arena. Things are pretty busy for her
at Ion Storm, as she has moved from testing to map editing (& we all
know how much pressure they are under to get Diakatana finished) but we'll
see if she gets a chance to join us in the arena.
-
Yoghurt's Bot is currently called the Ungood
Gluteus Maximus Bot. ;-) He is still taking name suggestions. Seriously,
though, the bots are using skins & chatting, but Yoghurt is still working
on the roaming algorithms.
-
Aurican has some bugs to squash in his N bot.
Read here.
-
With all the rants about religion (Ola/Duk/Justin
et. al.), I figured I'd tell you a little story.
Don't read it while you're tripping!
-
Fly has been tinkering around with his Doombot...
& he finally gave me the go-ahead to spill the beans about his planned
Team
Fortress support. This was discussed back when I first started this
bot page, but he wanted me to keep quiet about it. With the other
TF buzz going on over at Gokuma's, & the continuing development of
Doombot's CTF abilities, it seemed like a good time to talk about it. Anyway,
here's a few things about the bot's current condition:
A. Jumping has been implemented since
2.29, which also has the ctf support. This is the one I have been playing
with.
B. Version 2.3 has the movement code fixed.
The bot used to have to finish moving to a desired point before it would
look around for targets. If it was running a long ways, this meant that
the thing would run right past you. Map 13 in Surge vividly demonstrates
this bug. According to Fly, the 2.3 bot is a lot tougher with the improved
movement code.
C. He is working on keeping the bot from
strafing into corners & getting stuck. One fix stopped it from getting
stuck, but caused other problems with crossing certain linedefs.
-
Aurican is gearing up for the release of the
N Bot for MBF. Bots in Gothic98--sweet. He has gone into great detail about
it at his page.
-
I've added an area on
hacking your own "helper bots".
-
Gokuma
has a new TF patch that looks like it may be cool with bots.
-
2 new Arenas: GothicDM2
has been great, but there are some new maps coming out that are a nice
change of pace. These maps are from the newly released Surge.
Map
23, "Top of the World", is hands down the best looking map in Surge. The
wintery, outdoor look fits right into the winter season that we in the
northern hemisphere are experiencing. Perhaps Yasher was inspired by the
scenery of his area of Norway. Map 28, "Head Rush", has a great look &
gameplay. (BTW, the screenshots are taken from DosDoom 0.65, because the
texture smoothing makes for great screenshots.) I'll try to post a few
demos of my own to get the ball rolling until the true pros join in.
-
Arena: Fly has beat down
his own bots in gothic2.wad map30 again in 3 new demos--44, 45 & 48
frags. I've also changed the layout a bit in there, & adopted a pass/fail
botworthiness rating for maps.
-
I
was kindly referred to dgdm3.wad
by its author, Dagger, as a good map for bots. This is a great example
of a theme that has been overlooked lately--E1 DM. Simple design, but a
great looking layout. The bots loved it, too--no doors. The only snag was
in a side hall by a sg shelf, it seems. There definitely seems to be a
backlash lately against some of the bloated, ornate maps that have come
out in the gothic2.wad style. There is a trade-off when you add lots of
aesthetic touches. Mappers need to strike a balance between framerate &
aesthetics. Levelord is one who stresses the importance of framerate, &
we would all do well to heed his advice. We aren't doing the Doom community
any favors by making maps that don't run well on lower end machines. I
believe that some of the counter-gothic sentiment that is surfacing may
lead to a reemergence of the E1 Dm style, which is cool with me.
-
If you have looked around in Gothic98.wad,
you will notice that function follows form--i.e. aesthetics prevail mightily
over gameplay. DM in this map will be a slideshow, I'm afraid, unless you
have a raging fast machine, or if you shrink the window size down to credit
card dimensions. The closest I came to DM in this map was blowing away
the MBF dogs, which are suprisingly tough, BTW. :-) This map is the
most extreme example I have seen so far of the sluggish, bloated, gothic-style
maps, even exceeding Pixel's Simply Evil, which at least was playable under
Boom. Maybe this map would be sweet if you have the horsepower to run it--it
does look like the map flows very well, & it is a breathtaking map
to behold, at any framerate (especially in MBF's hi-res mode).
-
Sir
Robin's new ice
castle dm map has a problem with bots--the moat. If you put pits in
a map, the bots get stuck in them, which detracts from the gameplay. Also,
I would have liked to be able to snipe from the towers & jump down
on either side of the wall--it would have really opened up the level.
-
I just reviewed all 32
maps in Surge for Bot-worthiness.
=
bot-worthy
= bots choke.
Please note that bots can choke on an otherwise excellent map, & a
crummy map could be bot-worthy, so the botworthiness rating is not entirely
contingent upon the quality of the map.
-
Gothic98 is Boom only! Ack--we'll have to
wait until the MBF-based N Bot comes out to try this one. Let's go, Andy!
-
Looks like Aurican is gearing up for a release
of the N Bot by New Year's. The release won't have shooting implemented
yet, but will do all the f12 keypress spawning, nodeplacing, DM respawning,
& movement from node to node, as well as some aesthetic touches like
a title page.
-
I have just tried out the beta of Fly's CTFbot.
Yes, it is pretty much functional, though the nodes are visible (for testing
reasons) as those candles like Nexus bot has. Don't worry--the nodes will
be invisible in the public release. Fly actually said that the bots aren't
using the nodes yet, so what is working as of this writing is the flag
capturing, the teamplay, & the scoring. This means that the bots aren't
finding those flags just yet. It will need the nodes for that. But I swear,
they will chase you when you get their flag! Maybe it's just my imagination.
The ctf map is nice & big, & has a surprise that you will have
to discover on your own. >:-)
Anyway, there is a new -ctf parameter
in the doombot.exe. Ctfbot.bat takes care of the whole command line. When
I started it up, I spawned into ctflevel.wad, which has a good layout for
the most part. I was on the red team with another bot against the blue
team, which had 2 bots. The red flag room had some armor, sg's, ssg's,
& health/armor bonuses, which I of course gathered before going downstairs
to a semcircular hallway which went to a big open lava area with ledges
on all sides. This was a big problem for the bots, as they cannot activate
the lifts/ledges to get out of the lava pit. Any bot map should have no
doors or lifts, because the bot cannot use them--yet, anyway. Anyway, I
ran past the open area to the other end. It's a big oval--the lava pit's
in the middle, & the stairs to the team's flag room are at either end.
It took a few tries to get past the blue team in the flag room, & my
first capture of the blue flag (which triggers the sound made by Quake's
ogre!) lasted only a moment as I was fragged by a blue bot. I was able
to reenter the blue flag room, found the flag where I had dropped it, &
took it back to the red base for a touchdown worth 10 frags for each team
member, which triggered a fanfare sound & the "touchdown!" message.
Very cool. It will be good when the bots begin using nodes, & can find
the flag. They also need to be able to pick up & return their own flag.
& the flag rooms need some kind of back door to them--having only the
stairs as an entrance makes them too easy for a camper to defend. But all
in all, a very fun new development for Fly's bot!
Bots
for Doom have been fairly recent in development, since it has been almost
a year since the release of the Doom source code. The gaming community
first saw bots in the form of QuakeC mods, & they have since also been
found in Quake2, Unreal, & now Doom.
Bots
are, for those of you who don't know, a simulation of the multiplayer (hereafter
referred to as MP) opponents/companions you would normally find in a network
or modem game of Doom, Quake, et. al. They are very popular because many
people don't like the lag that the internet causes in MP games, or they
can't find someone to hook up with, or they can't find a server with low
enough ping. For whatever reason, they just want some MP action without
all the concomitant hassle.
Deathmatch
Bots: There are currently 3 "real" DM bots. There have been some fake
bots that are simply hacks of monster ai to simulate a bot, but IMHO an
ideal
DM bot should have the following characteristics:
-
the player
should be able to spawn them at will by pressing a key
-
the player
should be able to record demos of bot matches
-
ability
to respawn using the deathmatch respawn points
-
ability
to pick up & use player weapons, ammo, & powerups
-
ability
to rack up frags in the frag score display
-
a way
to navigate the levels like a player can
-
the ability
to operate switches, lifts, doors, etc. like a player can
In other
words: the bot should behave like a human player! Here are the 3 current
DM bots, at varying levels of completion:
-
Nexus
Bot, by Aurican (released May 24, 1998)
-
Doombot,
by Fly (released October 31, 1998)
-
Doombot,
by Yoghurt (released December 5, 1998)
Co-Op
Bots: A few ports have their own Cooperative bots. This example of
bot behavior has been available only recently with the release of Lee Killough's
Marine's Best Friend, which features helpful dogs, of course. Thrust will
feature cooperative player bots. Desireable co-op bot characteristics would
include:
-
bots spawn
at the beginning of the map, using the co-op starting points
-
bots shoot
monsters
-
bots can
be ordered to either roam or follow
-
bots use
powerups, health, ammo
-
bots activate
switches, lifts, doors
There
are currently 2 ports that have, or will have, co-op bots:
-
Marine's
Best Friend, by Lee Killough (released December 17, 1998)
-
Thrust,
by Darkfang (release pending)
Hack
Your Own Monster Bots
There are also some little
hacks that can be done to create some friendly monsters that could be considered
co-op bots to some extent.
Here's the text file that
comes with my team's friendly
imp ddf hack for DosDoom 0.65:
Marine's
Second-Best Friend
These
friendly imps are definitely not as smart as the dogs of Lee's MBF, but
it is an
example
of how easy it is to change things with ddf.
The
enclosed creature.ddf file is just a simple ddf hack of the imp behavior
to make it
friendly,
if not very smart. You can just unzip it into your dosdoom dir & overwrite
your
existing
creature.ddf if you want. You can always restore the original setting by
adding
&
removing a few sets of {} brackets to comment out & un-comment the
affected items.
In
the [IMP] section, you will see the following commented-out section
(Everything
enclosed within the {} brackets is commented out.):
{SPAWN_STATES=TROO:A:10:NORMAL:LOOKOUT,
TROO:B:10:NORMAL:LOOKOUT; }
That
is the original code. It has been replaced by:
SPAWN_STATES=TROO:A:10:NORMAL:SUPPORT_LOOKOUT,
TROO:B:10:NORMAL:SUPPORT_LOOKOUT;
&
the following was added:
MEANDER_STATES=TROO:A:3:NORMAL:SUPPORT_MEANDER,
TROO:A:3:NORMAL:SUPPORT_MEANDER,
TROO:B:3:NORMAL:SUPPORT_MEANDER,
TROO:B:3:NORMAL:SUPPORT_MEANDER,
TROO:C:3:NORMAL:SUPPORT_MEANDER,
TROO:C:3:NORMAL:SUPPORT_MEANDER,
TROO:D:3:NORMAL:SUPPORT_MEANDER,
TROO:D:3:NORMAL:SUPPORT_MEANDER;
Which
will make the imp behave quite differently. It will attack monsters, &
unfortunately
barrels
as well, resulting in suicide. It will also wander around aimlessly instead
of
chasing
you around.
As you can imagine, you
can make any monster friendly using the same method. The only trouble is
that they aren't really smart, they don't follow you around, & the
change affects the entire species i.e. all imps will be friendly. I'm sure
there will be better ways developed, as ddf is very new & very powerful.
MBF has an easier,
better way of making friendly monsters, though. In
an editor like Deth, just select the monster you want to be friendly &
set its flag to include the "no co-op" setting, in addition to the easy-med-hard
settings. These friendly monsters are smarter, they follow you around,
& they will attack other monsters of the same species.
TOP
Coded in Moscow, Fly's
Doombot has been developed extensively, & it is the most capable bot
currently available. It uses player weapons, & its frags show up in
the scores (except in the intermission screen). It can jump off ledges.
The latest version can predict player movement (no, silly, it's not psychic,
that means that it will lead its shots with the rl, more like a smart
human player would). Hitting "B" will spawn one bot, or you can use the
command line parameter "-add2bots" to have the game start up with 2 bots
right away, although the conjoined respawning bug may occur (as is commonly
the case in gothic2.wad map 30). 2.0a was the last version to use the old
DosDoom 0.47 code. From 2.1 onward, this bot has been Legacy 1.25-based.
Usage:
There is a doombot.exe
(which you will use in a command line for recording demos) & a doombot.bat
(which you will use in other instances).
Doombot.bat goes
like this: @doombot.exe -skill
5 -deathmatch 1 -warp 7 -nomonsters %1 %2 %3 %4 %5 %6 %7
See the -warp parameter?
Change that to go to the map# you want. DO NOT use idclev or even the exit
from one map to the next, because it will usually crash the Doombot (though
you may get lucky on occasion).
To load an external
map, use the -file parameter, but with doombot.bat instead of doombot.exe
(example doombot.bat -file gothic2.wad).
To record a demo,
use the following command line:
doombot.exe
-timer 5 -skill 5 -deathmatch 1 -warp 11 -file gothic2.wad -record m11
-add2bots
This will record
a 5-minute demo for an arena competition.
To play the demo
you would type: doombot -playdemo
m11 -add2bots -file gothic2.wad
Movement:
The bot will roam
around maps, pretty much feeling its way. Early versions of this bot would
just bounce off the walls like a pong blip, & it would get stuck on
ledges or walls. The movement code has since been modified so that it can
jump off ledges, & it will change direction independently of hitting
walls. It doesn't set off "open door" linedefs, so it will get stuck in
areas like the BFG room in gothic2.wad map 30. Also, it won't open doors
or use switches, so avoid using maps that have doors.
Combat:
This bot will strafe
side to side when attacking, keeping an appropriate distance. However,
sometimes it will strafe itself into a corner & get stuck, making it
an easy target. It picks up weapons & uses them, & it respawns
with the pistol, just like a player. It can lead its shots with the rl
by predicting the player's trajectory. It does not pick up health, though,
so use this to your advantage.
Future Plans:
-
In the next release,
Fly plans to make the bots jump.
-
In a future release
(~1999), Fly plans to implement a new movement code that will be nodetable-based,
but not player-generated like Yoghurt's bot or the Omicron. Fly compares
it more to the Reaperbot.
-

CTF! Yes, very cool.
It will be designed around the nodetable movement code, but the immediate
release will require maps that Fly has placed nodes into. He will be working
on having the bots place their own nodes later, but they will need more
smarts for that. Fly needs to place the nodes himself, because if just
anybody slaps nodes into their maps without understanding the ai, the bots
may get stuck. Maybe he'll share this pathnoding info later, as Randar
has done with Unreal bots, so the rest of the community can help with the
pathnoding chore.
-
Team Fortress support!
Well, Fly says that CTF is being ditched in favor of TF, but in my mind
they are pretty much intertwined.
TOP
From Sweden comes another Doombot, though
the name will change soon to avoid confusion with Fly's bot. This bot is
very new, & consequently isn't up to full running speed. However, it
has some very interesting features that show great promise. Like Fly's
Doombot, this bot is for Legacy. Just unzip this bot into your Legacy dir,
but be warned that it will overwrite Fly's doombot.exe & doombot.wad.
Usage:
To start it up, type: Doombot
-warp (Mapnumber) -deathmatch -(Any other parameter)
Everything else is done from the console.
addbot
<name> adds a bot by its name. Look in the bots subdir
for their names. You can edit the bot files to change the following:
aiming
0-90 : The only skill that currently has much value..
perfection
0-100 : How clumsy the bot is. In use. Doesn't got much effect yet
but...
reaction
0-100 : Guess what, Now in use!
isp
0-100 : Instinct of Self Preservation, Determines how brave/crazy
the bot is, Not used yet.
team
string : The bots teamname, have no effect yet.
color
0-9 : Determines the color of the bot.
Movement:
This bot uses nodes to calculate movement,
& it builds its nodetable from the player's movement through the level
(much like Quake's Omicron bot). You can make it stop building its nodelist
by using node_calc 0/1 in
the console. You can save & load these nodetables by using console
commands save <filename>
& load <filename>.
stat
lets you see the current number of nodes. This early bot has a few weaknesses,
like the undeveloped roaming, but after it sees you, it will follow
you all over the place & even activate switches, which is
very exciting. Because of the undeveloped roaming ai, Yoghurt recommends
spawning at least 6 bots.
Combat:
The bot doesn't strafe yet, & it will
charge blindly towards you, with no regard for self preservation (but of
course--isp isn't used yet in the bot file!). It reportedly uses all weapons
except the chainsaw. weapondrop 0/1
will cause bots & players to drop their weapons upon being fragged.
The official word from Yoghurt on powerups is: the
bots pick up most items, health, soulspheres, armour helmuts... Not invis
item, megasphere (dunno why i didn't add that).
Maybe in a future release, Yoghurt? That would be cool.
Future Plans:
-
making the bot fire on monsters
-
isp (instinct of self preservation)
-
team names (which of course implies team play
support)
-
further develop the roaming ai
-
skins support
TOP
Thrust is an exciting new port which is
being worked on by Darkfang. If you have tried the beta, then you know
first-hand that it has very cool features like colored lighting, ambient
sound, fog, rain, gibbable bodies, & a great railgun-like weapon that
replaces the plasma gun which will knock a target back about 20-30 feet.
A very satisfying weapon to use, trust me. But perhaps its most exciting
feature is yet to be experienced--its bots.
Darkfang & Fly have collaborated to
make these bots possible by sharing Fly's Doombot code & Darkfang's
Thrust code to create the helper bots for Thrust. Darkfang describes his
plans for these bots:
In
the game, they are called Lost Troopers and they are the remaining survivors
from the previous squad that attempted the mission before you that got
slaughtered. But yet, some remain and they are eagr and willing to help
you in your quests. Some might posess keys, a new weapon, health,
etc... in which they will give you when you rescue them.
Until
they are rescued, they remain idle in hope that someone(like yourself will
come along and rescue them). But, while they are idle, they will
fire apon any enemys they might see, they will just hold their position
and not move while attempting to kill anyone that is not here to help is
only part of the problem.
Once
rescued, they will give you whatever it is to be given and also sometimes
thank you (these bots talk alot somtimes) and offer to joinup. Once this
has happened, they follow you around and almost duplicate your moves as
you move about the map. But, this quickly changed if any enemy(s)
come into sight. If this happens, they will quickly do their own
moves and do the crazy strafing and will fire apon will on the enemy.
If you get in the way of the bots fire, you take the damage he dishes out.
But, if he gets in the way of yours, he'll be nice and won't get mad and
start going postal on you :)
Also,
to sum it up, they are very interesting as they will yell during a battle
"We got company!!". Or, after a battle "See? They ain't so tough". Thats
only a few instances. But, they are alot of other things.
Also,
I do plan on adding hero bots kinda like starcraft, heros that have beefed
up weapons and health and that you must keep alive until you take the hero
to a certain point.
According to Darkfang,
these bots are currently about 80% done. I am looking forward to Thrust--it
really sounds like it will have a lot of depth with these npc-type companion
bots. I am reminded of Romero's ideas for Daikatana!
TOP
| Marine's Best Friend, by Lee Killough |
Lee's parting gift to the Doom community is
a truly remarkable port, which is based on Boom. It adds many features,
including hi-res graphics, pre-beta Doom emulation (including a very cool
BFG that spews a massive swarm of plasma balls), & some great SP helper
dogs, the Marine's Best Friend referred to in the title. Yes, they are
dogs, which use the german shepherd graphics ripped from Wolfenstein 3d.
They will follow you around & attack enemies, much like the Cujo bot
for Quake. So if you want co-op with dogs, this is for you!
*
Friendly Monster AI
+ Friends attack enemies like players
+ Friendliness is a mobj property, like NOGRAVITY or SOLID
+ Friendly single-player helpers (dogs) can fill in coop starts
+ Friendliness is transferred by Arch-Vile, Pain Elemental, and Boss Spawner
+ Player autoaiming avoids friends if enemies are in range
+ Friends with missiles return one shot if shot by friends
+ Friends stay a "comfortable distance" away from players
+ Friends indicated by different color in automap
Usage:
In the options
menu, go to setup,
then enemies. There you
can change the following features, as explained by Lee:
*
Number of single-player helper dogs
This
option allows anywhere from 0 to 3 player starts to be filled with
friendly dogs in single-player games. These might be considered co-op bots,
although they cannot pick up items or operate keyed doors or the like.
*
Distance friends stay away
This
option sets a "comfort distance", which is the distance friends of the
player try to stay away from the player, to avoid getting in your feet.
Under
reasonable circumstances, such as on a crowded lift, or if the friend is
attacking an enemy that's close by, this distance constraint will sometimes
be violated.
*
Allow dogs to jump down
If
this option is set to YES, dogs will jump down from taller ledges towards
their owner. If this option is set to NO, dogs cannot jump down from ledges
taller than 24 (unless deh-modified, perhaps).
The command line mbf
-dogs # will start you with # of dogs. This will override
the # of SP helper dogs setting found in the options-setup-enemies menu.
TOP
Aurican's Nexus Bot was the first serious
attempt at a bot for Doom, but due to Aurican's busy schedule, development
on this bot has been delayed for a looooong time. The current release is
still in very experimental stages, & uses DosDoom v.47 as a
base. Aurican is rewriting this bot from scratch, using the MBF codebase.
Usage:
This bot needs special maps, which are
included, so type the following: bot.exe
-file dm3.wad or whatever of the other 2 maps you want. Changing
the skill level to 1-4 will spawn 1-4 bots. You can view a demo of the
bot by typing bot.exe -file dm5.wad
-playdemo botfun.
Use -bothurt
to turn on bot's damaging each other, & use -botkill
to have the bots fight each other to the death when they hurt each other.
Movement:
At this point, it merely runs like a train
through a circuit of 9 nodes that are edited into the map (they appear
as black candles) as specific entities (or at least that is how I remember
him explaining it to me back in the day). If you stand between it &
the next node, it will back up & try to come towards you again. It
doesn't try going around you. Kind of funny, actually. Says Aurican: The
movement code was written totally from scratch, and is actually very similar
to the player's code. The bot is allowed to move in 2 directions
at the same time: parallel to it's view angle (same as using forward/back)
and perpendicular to it's view angle (strafing), at the same maximum speed
as the player. The bot automatically calculates the angle it should
turn in order to head straight towards it's target node, in order to get
maximum speed along the straight line.
Combat:
The Nexus bot can shoot plasma.
You can be mowed down by a conga line of plasma-spewing bots as they run
together from node to node! Says Aurican: At
the moment, the firing code is implemented wrong, so that the bot is allowed
to shoot out of the back of it's head, but that will be fixed when
i
get a second (the solution is very easy actually...that hardest part will
be getting the bot to un-optimise its running angle in order to look and
shoot at the player) The bot is also programmed to lead the player
with its shots, but in the latest release, that code was commented out
because of a bug in the algorithm. His
most recent release (0.25) has fixed the aiming already. No more Stoogebot-like
aiming.
Future Plans:
-
rewrite the bot for
Marine's Best Friend
-
Says Aurican: The
bot will spawn in spawn-spots, place his own nodes, pick up weapons, etc.
TOP
Doombot 2.21 is used
for these 5 minute demos:
Quake
3:16 Shrouded Ground
Top of the World Head
Rush
TOP
Surge
is somewhat of a paradox. Extremely simple layouts (too simple sometimes,
IMO) like you find in Horizon, but with that Gothic DM2 feel in the attention
to detail. These maps are almost entirely based upon the tried-&-true
square-with-crossovers layout, like what you see in GothicDM2 map01. In
testimony to their small size & simple layouts, they were all cranked
in a couple hours apiece. With a few exceptions, these maps are about total
carnage for 2 players, not hide-& seek. BTW, do you like the face that
Ricrob has on his rants page? Well, you'll be seeing a lot of it on just
about every map in this wad. :-P Of course, I only care about how they
handle bots, so here goes:
MAP01
The
bot moves well, & doesn't get stuck.
MAP02
The
bot gets stuck every time, like it was told to go stand in the corner--weird.
MAP03
The
bot moves well, doesn't get stuck--& when it gets ahold of the bfg,
look out. Lots of pillars by the alcoves get you hung up & cause rl
suicides sometimes. Once you get the feel for it, I'm sure it's cake.
MAP04
The
same corner sticking as in map02--too bad, because this is a nice looking
level.
MAP05
The
bot moves well, & uses plasma to good effect. Take him out with a shotgun.
MAP06
Hey,
the bot jumps now! Oh, yeah, I have the beta w/ ctf support...sorry. The
bot strafes against the walls in the narrow side passages & gets hung
up. It stands a better chance fighting in the open area.
MAP07
The
bot gets stuck every time at the foot of the stairs in the middle--forget
this one.
MAP08
A
good, point-blank, shotgun dance. The bot does well.
MAP09
Do
you like to respawn facing a wall & get shot in the back before you
can turn around? Then this map is for you. The bot does a great job of
shooting you in the back again & again, & it does move well, I
guess--I saw the wall mostly.
MAP10
Another
good shotgun dance, with more elbow room. The bot does well.
MAP11
This
map looks very cool, but it has doors over the respawns, which automatically
makes this map a no-go for the non-door-opening Doombot.
MAP12
This
one is a good chase, though the bot moves very predictably. A nice variety
of weapons.
MAP13
The
biggest map so far--lots of open space makes for some good chases, though
this big map needs more than 2 players The bot is pretty predictable &
easy to pick off in the open. The lack of crossover in the central tower
seemed kind of frustrating, but overall well done.
MAP14
A
big square room, the BFG is in the center. Other weapons in the corners.
No cover. If it weren't for the lighting, which is very well done, I would
guess that this level took about 2 minutes to make. The bot of course does
well in a layout this simple.
MAP15
This
is a good-looking level. The bot navigates it very well, jumping up onto
ledges (oops--sorry) & such.
MAP16
This
level looks good, but the bot quickly gets stuck on the pillars.
MAP17
This
level looks good, but the bot quickly gets stuck at the foot of the stairs.
MAP18
This
level looks good, but the bot occasionally gets stuck in the corners. But
it can go a while without getting stuck, & this level has a good layout
for more players.
MAP19
A
square with a crossover, but replacing the interior walls with lava pits.
The fiery lava is cool (heheh oxymoron), & the bot moves well, but
the fighting gets routine pretty quickly.
MAP20
Pretty
fast, & the bot loves to loop through those teleporters. I personally
found the teleporters to be pretty disorienting until I went with the flow,
ran through the loop, & keep firing. There's a rhythm to this one that
is set to the beat of the teleporter metronome.
MAP21
This
level was like shooting fish in a barrel. The bot will spawn, make a beeline
to the waffle, & get stuck.
MAP22
Plasma
o'plenty & fast action in this one. The bot moves well, & the locations
of many of the respawns are pretty cool (quite hot actually).
MAP23
Beautiful,
just beautiful. It's a fun level, with some realistic snow on the ground.
The bot does just fine, & jumps over the fence quite ably (soon he
will for you, too).
MAP24
Another
shotgun dance, with a rl in the middle. The bot occasionally gets stuck
against a pillar, but it does well otherwise. The layout looked good, but
was a bit too simple for my tastes
MAP25
The
bot moves well through this good-looking level, but it can't get at the
BFG or the secrets, which detracts from this map for bot use.
MAP26
The
classic square with a crossover--again. It works great, though.
MAP27
A
bizarre combination of catwalks & ladders that will make you feel like
a frog hopping over those walls. Not surprisingly, the bot gets stuck on
the catwalks, but it hops over the ladders pretty well.
MAP28
Looks
great, & the bot plays well. Unfortunately, the switch & lift guarantee
that you will be the only one using the plasma gun.
MAP29
The
classic square with a crossover, opened up a bit, with a few height changes.
The bot does great.
MAP30
Another
square with a crossover, but stretched out & made to look like sewer
pipes. Looks quite good, & the bot does well.
MAP31
The
best square with a crossover of this bunch IMO. The textures & lava
are well done, & the bot plays it great.
MAP32
Looks
great, but the pit & lifts really limit the bot to running around in
the pit. Too bad.
TOP
Bot Navigation for the Layman by
Captain Mellow
A bot's navigation is extremely
important. If a bot cannot move effectively around the level, then it cannot
locate & use weapons & powerups, & it cannot find the player.
This can make the bot the worst kind of camper, & makes for extremely
boring DM.
Roaming AI
A bot must be able to roam the level, to feel its way around. How well
does it roam? Does it bounce around from wall to wall? Does it get stuck
in corners? Can it find its way up stairs? Can it walk along a ledge or
ride up a lift, or will it fall off? Can it see items & players? How
well does it decide where to go next? It all depends on how well a bot's
ai has been coded.
Nodes
Most bots orient themselves
by dropping "bread crumbs" as they explore a level using their roaming
ai. These bread crumbs are called nodes.
Placing Nodes
Now, how the nodes
are placed into the bot's awareness is handled differently from bot to
bot, with mixed results:
-
Via Roaming AI: In this case, of which
the Reaper bot for Quake is a good example, the bot places its own nodes
as it explores a map using its own ai. This works well, but only as well
as the ai can explore a map. Some powerups & weapons might be placed
in an area that the bot's roaming ai cannot get to. A BFG may be located
on a ledge that the bot will jump off of before it reaches the item, or
behind a door, or on a lift, which it may not be able to operate. Map layout
can make or break the success of this type of bot, unless the roaming ai
is further developed, which unfortunately can lead to more CPU overhead.
-
Via Player RI: That stands for Real
Intelligence, as opposed to Artificial Intelligence, & what better
base for navigation than a real human player? The Omicron for Quake is
the prime example of this approach. This type of bot will cause the player
to place nodes as he plays the level, & the bot may be able to save
this info for later use. This has some major advantages, because
by using the player's movement to learn a map, it will learn of areas &
items that an ai would not be able to find, & its movement will of
course be much more like a human player. Once it has sufficiently learned
a map, its node-placing mode can be turned off to free up CPU overhead.
-
Via Static Nodes: The Frogbot for Quake
doesn't learn maps. It can only play on certain maps which its programmer
has taught it by coding the nodes into the bot. This results in less CPU
overhead than the previous two methods, because the bot is not learning
anything new. It's not placing nodes, or causing the player to place nodes.
& its roaming ai is much simpler. Also, this type of bot will already
know everything it needs to know to play the level like a pro--location
of powerups/secrets/weapons, prime sniping locations, etc. This results
in a very lean & mean bot that is limited to a few maps, but plays
them extremely well.
Following the Nodes
After placing the nodes,
the bots then find their way around by going from node to node. Depending
on how smart the bot is, it will determine the shortest path to take by
calculating the shortest number of nodes between it & its goal. A really
smart bot will also take into account the different heights & ledges
of a map, so it doesn't try to go to a node that is inaccessible &
then get stuck. Some bots will even follow sound cues to determine where
the player is & track him down, or make an educated guess as to where
a player is going & take a shortcut to head him off!
TOP