AwateBot - Never be lonely again.

AWATEBOT

I am sure many of you know you can enter the “bot” command and it makes a dummy player that sits there and does nothing. What this mod does is searches through the game for those players who are bots and takes control of them. This allows you to use this addon with any gamemode.

Control
The addon does not set the velocity or angle of the bot, it actualy sends inputs to it. putting it on the same playing field as the rest of the players. Also any code that changes players movement will also effect the bot since it too is a player.

Pathing
Originally i had a dynamic path network generation system but, as its observable in my video, it became unstable when the network got larger. Newer versions were more stable but fell apart when on some larger maps such as gm_atomic or gm_butes. The newest now requires you to create the pathing map using a special gamemode. it will save the pathing map to a txt file and load it when starting the map.

Entity Relationship and Information Propagation Systems.
There is a list of entitys that the bot should interact with and what kind of response it should have and how strong that relationship is. The flag in a CTF game would have a very high positive relationship while a mine sitting on the ground would have an extremely high negitive relationship.
The bot itself does not look around for entitys to interact with. The bot itself is not in charge of finding paths to anything either. Entitys themselves send a signal out to the nearest node that in turn sends it to every node it can connect to and so on. The whole concept is very similar to the RIP networking protocol if anyone is familiar.

Personality Profiles
The game will come with a couple of example personality profiles but it will be easy to make your own. with the personality profile you can change things like:
Weapon preferences.
Fighting Style.
Entity Relationship Mutators.
Other stuff as well.

Interface and SWep/Gamemode Integration.
So you have a sniper rifle swep that you created but the bot is running around with it like its a machinegun from quake 3? you can do a simple call in your sweps code to tell the bot how to use your swep. Same with your gamemode. You can create custom entity relationships for your new entitys. You can also create new personalitys if necessary. Say you made a TF2 Gametype you would create some personality profiles for each class. You wouldnt want a sniper to go running in like a scout would you? You would also need to create new entity relationships so that they know to capture the flag or stand on CPS.

Right now the only footage i have is old stuff but i after many requests and seeing some similar things start to pop up i decided to not wait any longer and finish this project.

OLD OLD OLD video. Once i fix a few things ill post a new video.

Very cool. Will keep an eye on your progress…

This is for the win.

Perhaps, If it may help, you could take some cues from the pathing method and bots from the Omni-Bot mod for Enemy Territory and TF2: http://www.omni-bot.de/e107/news.php

Ive writen many bots before. AI is my specialty. This is actualy very similiar to my first bot for quake 1 only now i can use tables and arrays rather then complex entitys for tables

awate what did you so with the smexy traffic cone nodes ;_;

Cool, i should try it when its realesed:)
some day.

the nodes are no longer entitys, it was helpful to have them as ents to debug the addon but now that the pathing works i dont need the representation anymore. it runs WAY faster as a table rather then a bunch of ents.

This is really, REALLY cool.

Estimated Release Date?

Looks very promising, keep it up.

Might it be possible to also throw in a remote control for bots? 'twould be particularly useful for gamemode testing.

bot_mimic?

Looks great! I’m looking forward to a release!

If it’s remotely usable, could you please set up an SVN for us?

Eh, bot_mimic is ok but has a few drawbacks (particularly in that you must do whatever you want the bot to do.) A proper remote for movement, attacking, and console commands would be nice.

Any way of making bots learn from humans? Similar to how the brain works. A human will go down a path and the results will be positive(more kills, longer life, captures, etc.), or negative(killed a lot, no kills, etc.) That path will either strengthen or weaken depending on what happened along it. Now bots will more likely try to follow a popular and better path than randomly trying to find an area. Having it all class specific will make it so snipers don’t learn scout tactics and such.

Come to think of it, they could even teach themselves with this method, they would gradually learn which way gets them killed and which don’t.

Damn I want this! Can’t wait for release!

Awesome, bots that actually do stuff!

Yeah. It would be nice if you could have the outcome of the game have an effect on the relationship of the path.

However, don’t make it always choose that path, make sure it will always have slight mutations in it, so that just like in natural selection, there is always room for change.

I can’t wait to try this out.

I will prove this isnt bot mimic in a bit. whoever wants to witness the bots add me on steam. my steamID is awatemonosan

[editline]07:50AM[/editline]

Your talking about artificial neural networks. Yes, i could do that and i have done that before but i wont. for this i prefer the direct control personalities give.

Maybe eventualy ill release a ANN personality.

[editline]07:54AM[/editline]

Yeah, the personality profiles will have both a base mutator and a “fuzzy” value.
Pseudo:
base-fuzzy/2+random(fuzzy)

Added. :3 .