With cordite in the air, splintered steel, shell casings and powder burns, there’s only one explanation...
Can we educate our bots please??

Moderator: Aerasol

Bot-Tuning

Postby RailedRobin » Tue Jun 30, 2009 4:35 pm

Hi y'all. I've been playing around with modifying the bots a bit, trying to give them a little bit more personality. I've been doing this since I noticed that all bots use the same file for which weapon they prefer and how agressive thay should be and similar.
Now don't take me wrong, I like the bots and they usually behave different from each other, it's just that I would like to see a little more personality in their behaviour.
So, while modding away I've noticed three things I'd like to share/ask, now this might be that it's just me having a problem with these things, but then maybe someone can shed a little light.

The first is that the bots don't chat. They've got a chatfile but still they're not saying anything. Before the SA they spoke quite a lot if I remeber correctly. Has this been removed from the SA? 'Cause I've been trying a lot of different things to make them talk, but no.

Secondly, the bots don't use dynamite. I've read that the bots in Q3 won't use weapons if it means that they will get hurt too, maybe this is the same in SG? Is it possible to make them throw dynamites?

The third thing I noticed while trying to bystep the second, and that is that the molotov cocktail isn't available to the bots? It doesn't show in the items of weapons weight files. Could it be that the dynamite and molotov somehow are connected and using the same "spot" or similar, and that's why the bots won't use them?

So, you can find the bots I'm working on here
For starters please check the following: (thanks to Lucky Bro for the suggestions)

1. Which bot is tough and which is not?
-Should they all be "equal" in skill or is it better if some bots are more powerful than others, and how much so?
2. What weapon does bot use?
-Should all bots use all weapons or should they favour some over others?

As of now, some of "my" bots will favour some weapons over others, just to ensure some variety in gameplay against bots.
And since variety was my main concern when starting this, please check if I've managed that or if you think that it's too much of the same.
Some bots will crouch more than others, some will jump a little more and hopefully they'll behave a little different in comparison to each other.

But feel free to comment on anything you'll find that makes you wonder or think or just anything :wink:
I won't be able to revolutionize the bots, since I'm not really a coder, but I'll do what little I can to help improve them.
Last edited by RailedRobin on Fri Jul 10, 2009 7:47 pm, edited 2 times in total.
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Re: Things I've noticed

Postby Sucalakafufu » Wed Jul 01, 2009 2:10 am

RailedRobin wrote:The third thing I noticed while trying to bystep the second, and that is that the molotov cocktail isn't available to the bots? It doesn't show in the items of weapons weight files. Could it be that the dynamite and molotov somehow are connected and using the same "spot" or similar, and that's why the bots won't use them?

well with the current configurations. the bots don't recognize to avoid fire. haha. so im guessing if molotovs were turned off for the bots its a good thing. cuz its already easy enough to kill a bot with a molotov ;)
SG Name: Sucalakafufu
Clan: [CWNN] - Clan With No Name
User avatar
Sucalakafufu
Gunslinger
 
Posts: 239
Joined: Thu Apr 16, 2009 8:59 am



Postby ReD NeCKersoN » Wed Jul 01, 2009 3:43 am

Thanks for posting & welcome to the forum!
The bot chat can be enabled in the q3config.cfg (or server.cfg for server admins) with seta bot_nochat "0"
As for the rest of your questions, the original creators of Western Quake3 designed all of the bot behaviour. We haven't touched it in favor of spending our time with more pressing matters. Having said that, I think I speak for most everyone when I say it would be refreshing to see someone improve the bots if possible. Just be careful you don't break anything. :wink:
Any improvements you can show us would obviously have to pass our quality tests before including them in future releases of the game. But if your stuff makes it in, you'll certainly get credit for it.
Image
User avatar
ReD NeCKersoN
SG Team
 
Posts: 3245
Joined: Wed Mar 27, 2002 6:22 am
Location: VA, USA



Postby RailedRobin » Wed Jul 01, 2009 2:05 pm

Thanks for the welcoming!

I'm not as much improving the AI as changing the general behaviour of the bots betwen themselves, ie making one of them jump more than the others or similar. It won't be any mayor differences, I'm just trying to make them a tad bit more personalized. I'm changing the weapon weights for some of them, so that they'll favour different weapons.
I'm also planning to change the chat-files, make them more wild west-like :wink: so thanks for telling me how to active the chatting!

Unfortunately, I'm not that much of a programmer, which means I probably won't be able to change their behaviour in a bigger scale, ie making them use dynamites, avoiding fire etc. I remember that there were a website describing how to work with the Q3 source in Visual Basic, but I seem to have lost it and can't find it again. Maybe I'd been able to change some things to the better if I'd still had those documents. As of now, I'll keep to the small adjustments, and if I like them I'll post them here for you to see.
A bullet may have your name on it, but dynamite is addressed "to whom it may concern."
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Postby Tequila » Fri Jul 03, 2009 3:59 pm

Hi & welcome,
great news someone wants to tune that bots ;)

If I can I'll try to fix any bug you noticed and having bots playing with matches can be awesome :D ... I think they don't use gatling too... I know thoru noticed also such kind of bug, like they don't use ladders. I think I fixed the bug where they can be stuck behind a breakable entity, but I need to test it a little more.

We're waiting/wanting your work.
;)
User avatar
Tequila
SG Team
 
Posts: 1100
Joined: Thu Nov 15, 2007 11:33 pm
Location: Montpellier, France



Postby RailedRobin » Fri Jul 03, 2009 7:21 pm

Thank you!

In one word (tune) you managed to explain exactly what I'm doing, and much better than me too :D
It would be great if you could fix the bugs, I tried to make a bot a dynamite throwing maniac (just for the heck of it), but he ended up just using the Remington 1858.

I'll try to work fast but thourough. I'm currently concentrating on tuning the "characteristics", and not creating chat-files, that I'll do later, since there's a lot to do in that department :?

If anyone got any suggestions on which weapons a certan bot should favour of similar, I'd be glad to know. :)


Edit: I just noticed that the winchester 1897 is missing in the bots weapon weights and inventory-files.
I tried to implement the gun, but I must've made something wrong, because the game couldn't find the weight for it.
A bullet may have your name on it, but dynamite is addressed "to whom it may concern."
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Postby RailedRobin » Wed Jul 08, 2009 5:04 pm

So, thought I should give you a quick update.
So far, I've made 14 bot characteristic files (15 including the original which I haven't touch), and I will now start working on the weaponweights.

I noticed that the bots use the Winchester -97 even though it's not in their file, so everythings good there I guess, but is it possible to make the bots use the buy menu only at when they've been respawned? It's not a problem in BR or Round Team Play, but in FFA they will buy equipment as soon as they've got the money for it, which generally means that they will buy a second revolver or boiler plate, and when they die and respawn they don't have any money left and do the same thing over and over again. This results in the bots seldom using anything other than revolvers (although not the Peacemaker) in FFA games.

The bots seems to be balanced, and it's a little bit more variety now, altough nothing groundbreaking, but I think that's hard to achieve through what I'm doing.
A bullet may have your name on it, but dynamite is addressed "to whom it may concern."
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Postby RailedRobin » Wed Jul 08, 2009 11:06 pm

Hello again. For startes, I changed the name of the topic, since this thread now more or less is me ranting about the bot-tuning :wink:
Secondly, I've got a "beta test" of the bots now, which can be found here:
tuned bots

I would really like it if you would take a look at what I've done and say what you think about it. There is a possibility that the bots are too easy on medium now, but I've tried to mix the difficulties so that there are some bots better than others and all that, I did this with the people not as good as others in mind :wink: , but please tell me what you think.

It can seem a bit messy at the moment, since they're all named Male1 or Male6 or Female3 or so, but this is to make it easier to know which bot that does something. So if you find that Male10 is really crappy, then it's something about that particular bots configuration, and it will be easier for me to fix it.

I haven't changed the chat files, but everything else.
Enjoy!
A bullet may have your name on it, but dynamite is addressed "to whom it may concern."
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Postby Lucky Bro » Thu Jul 09, 2009 7:35 pm

Good evening Robin :)
Good start! This is a very beginning, but a really good beginning :)
Now to business :)
First of all: How do I to perform testing?
My suggestion would be the following:
1. Start the game
2. In console:
/devmap "dm_alamo_tiny"
(that was my choice.. actually all maps should be checked, but that one seems to be balanced and we may spectate almost whole field)
devmap because I want to use cheat-protected feature timescale
3. In console:
/timescale 4
This was my value, I think other values are fine too
4. Join to spectators
5. Add required bots for testing
6. Watch them fight. Check the results column and other things you want to test.
Of course that way you'll test only bots without player, but that should be enough to find top bots :)
With player you may just start the game, but that is too long when we just want to know what is happening.

And.. Just try at least once the actions I've described above. Watching them makes me think that we may have even a nice strategy game :) The bots are so fun :) And Alamo does impress me :)

Secondly:To what am I paying attention while testing?
What about the following things:
1. Which bot is tough and which is not?
2. What weapon does bot use?
3. Bot tactics. (I don't know if it should be there - have you changed something in it?)
..other things. Actually, I hope you'll finish the list better than me :)

Now to results I have achieved with such strategy (yeah, I wasn't only watching :)).
I tested only Male characters (I started server with 9 open slots - so I had only 9 Male bots). I think that is enough for first step of testing :) Sorry girls, we'll test you later ;)
Male5 and Male4 (especially on medium and easy levels) are dominant ones. They had been all the time on top. Others had 10 frags difference with 25 frags limit. And Male7 are weakest one. That is just first impression, may be more tests are required, but seems it is so.
So, check those guys and if it is not because of good aim only - take a notice and make others a bit deadly too.
Now to weapons.. Some of them were using shotguns (no one with rifle), but very rare..
And I can't say who exactly..
So, here are few questions and suggestions to you:
1. The skins.. I forgot to turn off force models while I was performing main testing, but I did one while was typing that post and seems some of them have the same skin. Yeah, I understand that we may have only 8 different skins, but may be not all 8 are used there? Just check this, please.
I'm not sure, but if it is easy to do - can we make a few custom skins just for your tests by copying the main ones? Like to copy Clint skin and then just pull it all with red color. To clearly see him on the field. And place those skins in your package as well..
If you'll get any trouble with it - post here, I hope someone of devs will help you. As from my side - I'll try to do it in weekend.

2. To rifles&shotguns. I don't want bots to collect money.. Actually I never wait when I'll be killed to get a new weapon.. It is not realistic :)
I got another idea - may be you may do their priorities so that they will try to buy a rifle & shotgun instead of pistols and armor? (sure they can't do it at a very beginning of the round, but may be they will be lucky enough to kill someone or to collect some money) Like did someone with name Ramon in some unknown movie :)
(I'm kidding, I'm talking about "A fistful of dollars")

At least can you try that behavior? May be it will be good one too.

Ok, that is all about small testing I've done.
Sure we have to check/fix other things (like their priorities and weights in actual game code).. And fix other than DeathMatch game types.. But for a start your job is very good! (haven't I said that before?)

And last one.. Not concerning my testing at all: I want to ask you to edit your first post to keep it up-to-date. Place there some short description of what you have done and the actual packages/patch(if you'll fix any game code) file. And may be some kind of instruction and major points of what we should test will be good ones too.
(just my advice, you don't have to follow it - it is not a strict rule)

P.S. Nice to know that you have some acknowlegement about alfa&beta versions/testing :)
"You should know that the lies won't hide your flaws/No sense in hiding all of yours/You gave up on your dreams along the way" (c) "Fake it" by Seether
P.S. English isn't my native language.
User avatar
Lucky Bro
Gunslinger
 
Posts: 143
Joined: Mon Mar 09, 2009 4:12 pm



Postby RailedRobin » Fri Jul 10, 2009 7:30 pm

Thank you for you c & c Bro! :)
Your 3 points of what to check is good, it narrows it down somewhat more than just "test the bots please". At the moment I don't know what more to add, but it'll come I guess.

As to how to test the bots is something I prefer to leave to the players, since I've mostly been testing them in BR and TDM, and you've been testing them in DM, right? Maybe a much more thourough test is needed, in all the different modes and settings? Or should we just stick to the smaller things, like just checking if the bots are good in comparison to the original bots?
Edit: Or did you just mean how to test them, to start a map and all that? I'm a bit tired right now, not thinking straight, sorry :|


I've not paid much attention to skins, but what you're saying would be good, even though I think it could be too much work for anyone to make temporary skins for every bot. But it would be nice.
I would try to make some new skins, not just for testing bots, but I've never really skinned and the computer I'm using now has a little bit strange color profile or similar. So for now I'll leave it to those more skilled.

On to the other points. (I'll try posting these in the first post too :wink: )

1. What does everyone think about the bots, should they all be similar in strength and skill, or should some bots be better than others? This was part of why I decided to make some additional bots, so that they would be different in skill/behaviour amongst themselves. Maybe they should be more equal, so that one bot won't have 25 frags and another just 3...

2. I've fixed this for some of them now, the using of rifles and shotguns that is. I noticed that the weigths for some where far too narrow, so Male2 is now told to almost only use rifles. I've also tuned some of the others so that the difference between the weigths are mor obvious.
One problem is the Winchester 1897, since there's no weigth for this the bots get it either way and use it instead of the rifles, I can't really do anything about that.
As to making them buy rifles instead of protection and pistols. This should be possible, but I don't know if it would be good, and this is related to my problem with them buying weapon in mid-fight. See, as soon as the bot's got enough money for something in its weigth, it will buy it. This I think is from the hard code (the one I can't change), where the bots are told to get their hands on what they can. This can result in a bot killing an enemy and receiving enough gold for a new weapon, and in the next moment be killed due to low health from the previous fight, thus starting with only $20 and buying pistol or boiler plate. Do you see me worries with this?
This is the problem in regular DM, that the bots buy things when they're at low health and whenever they get money. I'll try to make a bot only use one or two weapons, to see what happens.

3. I can't really do much about this, since again it's in the hard code, and by hard code I mean the code our dear coders are dealing with. I'm just a simple amateur :|
A bullet may have your name on it, but dynamite is addressed "to whom it may concern."
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Postby /dev/random » Fri Jul 10, 2009 8:19 pm

inv.h wrote:#define INVENTORY_WINCH97 8


It is there, but I didn't check whether it's used at all.
User avatar
/dev/random
Smokin' Amigo!
 
Posts: 410
Joined: Thu Jan 22, 2009 1:58 pm



Postby RailedRobin » Fri Jul 10, 2009 8:33 pm

/dev/random wrote:
inv.h wrote:#define INVENTORY_WINCH97 8


It is there, but I didn't check whether it's used at all.


That's odd, I can't find it in my inv.h-file, even when I extract it from sgpak0.pk3, and I haven't modified this file...
That line (the one with an 8, under the //weapons) reads INVENTORY_REMGAUGE.

I also got all the weapons from Quake 3 in my inv.h-file.
A bullet may have your name on it, but dynamite is addressed "to whom it may concern."
User avatar
RailedRobin
Quick Draw
 
Posts: 54
Joined: Tue Jul 18, 2006 9:57 pm
Location: The frozen north



Postby ReD NeCKersoN » Fri Jul 10, 2009 9:12 pm

RailedRobin wrote:I also got all the weapons from Quake 3 in my inv.h-file.

Would you experimentally remove those please & see if it breaks anything? As far as I know, none of the Q3 weapon stuff should be needed & that's simply residue from the WQ3 days.
User avatar
ReD NeCKersoN
SG Team
 
Posts: 3245
Joined: Wed Mar 27, 2002 6:22 am
Location: VA, USA



Postby /dev/random » Fri Jul 10, 2009 9:20 pm

I prefer to grab my source files from the latest SVN release ;)
User avatar
/dev/random
Smokin' Amigo!
 
Posts: 410
Joined: Thu Jan 22, 2009 1:58 pm



Postby torhu » Sat Jul 11, 2009 3:08 am

RailedRobin wrote:1. What does everyone think about the bots, should they all be similar in strength and skill, or should some bots be better than others? This was part of why I decided to make some additional bots, so that they would be different in skill/behaviour amongst themselves. Maybe they should be more equal, so that one bot won't have 25 frags and another just


Their skill levels should be about the same for each value of g_spSkill. Of course, if you can get them to use different tactics and weapons within those boundaries that would be great. :)
In game: =SG=monSter
Monster Browser
User avatar
torhu
SG Team
 
Posts: 1125
Joined: Thu Jan 06, 2005 8:12 pm
Location: Norway



Next

Return to Artificial Intelligence

Show Sidebar
Show Sidebar

User Control Panel