-
- I have been working steadily on the Windows version of the source,
getting ready to release version 0.30 soon. It now compiles (with MSVC++ 4.0) and runs, but there
are still problems with the qacknowledge queue; it probably has to do with the fact
that the windows version has to communicate over a modem and I have never tested mikeBot with
a connection that slow ;)
-
- I am now working on floor-polygon-based navigation. The polygon class is done; I have just
have to integrate it with the current bspGraph class, determine links (no problem; just
have to see which polygons share a line and are the correct z distance apart) and voila,
navigation (hopefully).
Also, I have been working on the Windows version of the source, and hope
to have version 0.3 out within a month. (I know it's been a while, but hey...)
-
- Redoing navigation. The low-level stuff is now done (mikeBot will avoid walls and lava) so he can
run around the levels in a semi-intelligent fashion. I am working on a way to pre-process the links
into the graph. I need a way to determine which plane(s) divides two leaves in the BSP-tree and
also a way to determine if they are adjacent. Any help greatly appreciated.
-
- Got a crude version of navigation working. Check it out on the navigation,
fire summary page.
-
- Implemented somtimes-miss. What this does is if the fire target has less frags than mikeBot,
he calculates a probablity-of-hitting based on the hatelevel. So, if the target's hate is 100% (i.e.
he is the player mikeBot hates the most) then the bot won't miss. However, if player just
entered the game, mikeBot will not hate him right away and will have a probability of hitting of
50% (the minimum probability possible). This should appease complainers...
-
- Improved mbtalk with some canned phrases for when he is hurt by people. The name
of the offender is appended to the phrase (things like "That's all you can do, <name>).
proxyVision is now better (the bot-runner can talk to and kick clients, you connect on port 26000
instead of 25999 as before and he advertises the feature when he connects)
-
- nav code is improving; mikeBot now links new nodes together provided they both have a floor
face (a face on a z-facing plane) and are not above lava. Improved proxyVision allows the client
to turn status bar, particles and locked view on or off.
-
- proxyVision now works. This allows some number of clients (currently #defined as
4) to connect to mikeBot and watch what he's doing. Currently, the status bar and
particles are not sent (to reduce lag), but your view is locked to mikeBot's. Plans
include allowing the spectators to talk (amongst themselves), send impulses to change
their settings (particles, status bar, etc.) and sending the "say" messages reliably
so they actually get through ;)
-
- Whoa! big update gap...anyway, mikeBot is progressing again...i have implemented
leaf-link-learning, which means mikeBot is now manually learning the links between
BSP leaves; the preprocessing was taking too long (it's still being worked on, but
this will allow some nav progress in the meantime). Also, proxyVision(tm) is coming
along. This will allow a few clients to connect to mikeBot a watch what he is doing,
but not interfere in any way. The clients will be able to select either locked view
where they look where mikeBot is, or free view where they look around. Nav and fire particles
will be added, as will the status bar present in the .DEMos.
Also, i recommend checking out FAQ-proxy if you are interested in recording
demos or having observers watch you. Up to 30 observers can be tied to a single player and
talk amongst them selves...very cool.
-
- Pitch bug is fixed :) :) Also, lava avoidance works, as long as
mikeBot isn't "sliding" along a wall, and line-of-sight has been
slightly improved. Also, prediction code works for RL and SNG, and works
fairly well :) Also added the ability to record .DEMos starting anywhere in
the level (not just from the beginning as before)...
-
- mikeBot still has a pitch bug ... grrrr! But, line-of-sight
now works well; a new demo will be up soon. He only loads the DM levels (and e1m8)
so those are the only levels line-of-sight works in...
-
- Long update delay again...sorry. mikeBot now has the following additional
capabilities:
- loads DM (dm1.bsp ... dm6.bsp) and e1m8.bsp (I only have 12 megs of
space on my account at university, so these are the only maps i have
uploaded for know)
- determines which leaf he is in...and will swim up if in water and
not use the LG. Working fast on lava-avoidance; won't be too hard...
- Better navigation target selection formulas...can't wait 'till nav
is done and i can work on GA (genetic algorithm) for tuning the
target selection parameters.
- Added the disconnect packet at the end of .DEMos so the ``disconnected''
icon doesn't show up in quake at the end of the demos.
- will add some more .DEMos shortly demonstrating mikeBot's new-found
abilities.
-
- Long update delay again; mikeBot can now do the following:
- rates nav targets (more later)
- dodges missiles, grenades and spikes
- added more mbtalk words.
- selects weapons now, so no more killing himself with RL :)
-
- Woops; havn't been updating the update page ;) Client
server code was released, a new .DEMo was added
and mikeBot can now talk; he takes random verbs, nouns and adjectives (both
good and bad, depending on hate level of talk-target) and randomly combines
them. I just started, so there's only 5 of each noun and verb, but that leaves
25 possible insults :) mikeBot insluts people at random intervals, and
support for "Awww! you killed me" type sayings and "Bwaaaha!
I kicked your spodely ass" type things are planned.
-
- client-server code will be available very soon...
-
- BSP/PAK loading code released. Links fixed. Another .DEMo added.
-
- Big update to the web page. There will be some BSP code to download
real soon. (i.e. when it is 100% bug-free ;) )
-
- BSP loading code is coming along nicely; i may release it, too...look for the notes page soon, too
-
- mikeBot has finally seperated his navigation and firing systems
completely, with help from Iikka. I will be putting a "Notes"
page up in the near future.
-
- mikeBot successfully connects to a server (quake.oanet.com) and
kills the odd person. He only navigates by running straight at his firecontrol
target.
-
- mikeBot has been improving steadily -- he now runs after health, ammo, etc.
when there are no firecontrol targets around. He has
no concept of his own health, however, and will not give up on a target 'till
they leave or he dies. He also doesn't conceive of different weapons and simply
shoots whatever the server assigns. He has won a couple of levels, and can
record .DEM files.
-
- Lately, midterms have put a cramp in mikeBot development, and he has shown
little outward improvement. I have, however, been reorganizing the code a little
and contemplating releasing the client-server communication code when it is 100%
bug-free :) tell me what you think
about releasing code.
|
TO DO
- lava avoidance
- prediction code
- line-of-sight
- BSP loader code incorporation
- BSP-based navigation
- GA to tune target selection parameters
- fix pitch bug
- weapon selection
- improve projectile avoidance
- improve inter-bot communication
- improve talk module
- improve proxyVision
- polygon-based navigation
|
DONE
- BSP-based navigation (doesn't work too hot)
- sometimes-miss
- proxyVision
- arbitrary demo record start
- prediction code for rockets/nails
- lava avoidance
- weapon selection
- BSP loader code incorporation
- line-of-sight
- BSP leaf-type determination (eg I now know if im in water)
|
WORKING ON
polygon based navigation
|
|