Loading...
 

PogamutUT2004


Selecting a better weapon

Hi,

I have been using the weapon descriptor's getPriDamage() function to determine how good my bot's current weapon is, and whether it should switch to a better one. However, I noticed that I kept getting 0 as primary damage value, so included a few calls to retrieve the getPriDamage() results for a number of weapons... as it turns out, only a few of them have a value other than 0.

These are the results I got back:
Assault Rifle damage: 0.0
Minigun damage: 0.0
Bio Rifle damage: 19.0
Flak Cannon damage: 13.0
Link Gun damage: 30.0
Shock Rifle damage: 0.0
Lighting Gun damage: 0.0


Is this correct, and if so, is there another value I could use to get my bot to switch to a better weapon?
Yes this is ok, the others are exporting damage through getPriDamageMin() and getPriDamageMax() attributes.

The other thing is for example that Flak cannon chunk damage is only 13, but you fire 6 chunks at once. Another thing is that lighting gun has high damage, but does fire only once in 1 second. With minigun you have really good DPS (damage per second), but it is accurate only at short distances.
To summarize each weapon is good in different circumstances. Look at WeaponPreferences class that enables to define your custom weapon preferences for different ranges and also general weapon preferences. To decide which weapon is better is a complex problem and you cannot do it just by sorting them by damage output. You should also take in account range, accuracy and refire rate. Also some weapons requires complex AI in order to be used effectively (for example bio rifle can be deadly when retreating, etc).

Some general ut weapon guide (in my opinion):
Flak cannon - deadly at close distance
Minigun - good at short distance with prim. firing mode, reasonable choice at mid to long range with sec. firing mode
Shock rifle - overally good for bots, good at distance (pri mode)
Lighting gun - good at medium to long distance. usable also at short distance. You can score insta kill with this (headshot)
Rocket Launcher - very good damage output. Problem is that it may kill the bot himself when rocket explodes near him. Better at closer ranges.
Link gun - not very good for bots.

Best,
Michal
Ah, thanks for the explanation - was a bit surpised to see getPriDamage() return 0 for a number of them.

Will check out those other attributes for my weapon selector - thanks :-)
Hi rowan!

Are you preparing bot for BotPrize? Or why are you using WeaponDescriptor?

We have never experimented with different weapons / weapon settings in UT2004 thus behavior of WeaponDescriptor might be "fuzzy".

If your work involves some 3rd party that will be giving you different numbers in WeaponDescriptor there should be some explicit
agreement between you and them how are you interpreting respective fields of WeaponDescriptor (namely ITC message from GB2004)
in order to have expected results. There *might be* some other caveats as well (naturally we hope there isn't but...).

If you are just trying to determine which weapon is better than it is might more useful to think about triples range, weapon, preference score
and according to current range of target pick weapon of highest preference that is available to you. Using such formulation you may
easily adapt your bot during runtime (i.e., perform learning of weapons' usefulness by trying them out in different ranges balancing between
exploration / exploitation of your knowledge).

Best,
Jimmy
Hi,

I am working on a university project about bots and learning, not on a bot for the botprize, sadly.
The idea about the weapon selection is that the bot should learn to pick the best weapon for the current circumstances, based on its previous experience.

Instead of using WeaponDescriptor I am experimenting with a custom class that uses a distance factor, damage factors over short and long distances, and also the bot's success rate with the weapon.

I am hoping that this will provide some interesting results :-)

Rowan
Cool :-)

Keep us informed how it is going!

Cheers!
Jimmy
 

News

News RSS RSS feed for News link



Pogamut

Quarterly RSS RSS feed for quarterly reports

Acknowledgement

This work is supported by GA UK 1053/2007/A-INF/MFF (2007-8), GA UK 351/2006/A-INF/MFF (2006-8), the Ministry of Education of the Czech Republic (grant MSM0021620838) (2008-9), by the Program "Information Society" under project 1ET100300517 (2006-9), and the project Integration of IT Tools into Education of Humanities (2006-8) and by the project CZ.2.17/3.1.00/31162, which are financed by the European Social Fund, the state budget of the Czech Republic, and by the budget of Municipal House Prague.