[3.1+] NullBot: an adaptive skirmish AI

Did you create a mod, map, music, or a tool? Present them here and earn feedback!
Note: addon requests do not belong here.
Note, everything uploaded to this forum, MUST have a license!
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Goth Zagog-Thou » 28 Dec 2012, 13:10

Yes, 3.1_RC3. I had just finished researching something when it occurred, crashed right to desktop.

User avatar
Shadow Wolf TJC
Regular
Regular
Posts: 1047
Joined: 16 Apr 2011, 05:12
Location: Raleigh, NC

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Shadow Wolf TJC » 29 Dec 2012, 03:55

NoQ: While checking out NullBot Contingency's personality-specific definitions, I noticed some things about it that seem to indicate that it's using data from Contingency that is questionable or vastly outdated:

1. Why does NullBot seem to use the Hijacker turrets for combat when they were designed more for capturing unattended structures? Their range is roughly comparable to a Flamer (though the NEXUS Link Turret is more viable in combat due to its much greater range).
2. I noticed that the cannon personality still has the Leadsprayer ("Railgun-Gattling") and Sandstorm AA ("Railgun-GattlingAA") listed as research topics, when they were moved to the Machinegun line since Contingency v0.2 in an effort to strengthen the Machinegun line.
3. Speaking of, the Machinegun line was strengthened in T3 with the addition of the Hellfury Gauss Minigun (and twin-barreled variants of it and the Vulcan and Punisher Gattling Guns) since Contingency v0.2. Also, the Proto-Railgun was recently made more independent of cannon research, so that other weapon lines could benefit from the Proto-Railgun's high damage-per-shot against not only bunkers and fortresses, but also tanks and hardcrete (albeit with a meager 25% damage penalty). It might be worth listing the Proto-Railgun as one of the machinegun personality's anti-structure weapons, since the Machinegun line currently lacks a strong anti-bunker weapon.
4. The MRA and Ripple Rockets were recently made easier to research for non-rocket specialists. While non-rocket specialists would still find these weapons less useful, this was done in order to make the Tactical Ballistic Missile launchers more accessible to players, regardless of which weapon lines they're specializing in. Perhaps it may be worth adding them to various personalities, especially since the Oblivion TBM (which was added in Contingency v0.3.2, and improved in Contingency v0.7.2) is especially potent against fortresses and heavy tanks?
5. Since Contingency v0.4.3, Tankbuster Cannons, Railguns, and Lasers were added so that lighter vehicles could mount weapons with a damage-per-shot that's comparable to a Heavy Cannon, Gauss Cannon, Heavy Laser Cannon, etc. (though they suffer from a low rate-of-fire as a result). It might be worth adding them to NullBot's cannon and laser personalities.
6. Also, since v0.4.3, more multi-turret bodies, such as the Couatl, Abaddon, and Sabretooth, were added.
7. Heavier versions of Lancers, Tank Killers, Scourge Missiles, Flamers, Infernoes, Plasmite Flamers, MRAs, Rocket Assault Arrays, and Seraph Missile Arrays were introduced in an effort to provide the Flamer and Rocket lines with more viable turret choices for their heavy tanks to use. Also, a few new anti-air weapons, such as the Tornado AA, Cyclone AA, Dust Devil AA, Sunstorm SAM, and Avenger SAM were added.
8. You may want to consider having NullBot use Mini-Rocket Pods, Rocket Assault Pods, and Erinyes Missile Pods more frequently as anti-personnel weapons due to the fact that, as all-rounder weapons, they only have a damage penalty of 25% against Cyborgs, and due to the fact that accuracy (which these weapons typically lack) wouldn't matter as much when used against a crowd (and given how cheap Cyborgs are in Contingency, I wouldn't be surprised if they were often sent en-masse).
9. You may want to reconsider listing weapons that require research into more than 1 weapon line (such as Incendiary Mortars, Incendiary Cannons, Incendiary Machineguns, Gattling Cannons, Rocketstorms, and Plasma Cannons to name a few) as research choices for various NullBot personalities, or at least assign them as lower-priority research targets (unless an ally has already researched most of the necessary techs). On the other hand, since one of the NullBot personalities seems to specialize in both Flamers and Lasers, it might be worth having it research and use the Plasma Laser. Also, if the rocket personality is devoting some research to Mortars and Howitzers, then it may be worth looking into researching the anti-tank Sureshot Mortars and Sureshot Howitzers.
10. It seems as if NullBot has trouble adjusting to when the starting truck turret is made obsolete by more advanced truck turrets. You may want to look into fixing that. (You may also want to consider having NullBot use heavier truck turrets, either if it reaches its construction unit limit, or if it needs to build stuff in places where ordinary trucks are too vulnerable to ambushes.)

Finally, and this is a suggestion for improving NullBot in general, it may be a good idea to group weapons based on their damage-per-shot, so that NullBot can more effectively counter units that either have armor that's too heavy for NullBot's weapons to make a dent in, or are easily overkilled by NullBot's weapons. Many weapons in Contingency can easily overkill a Cyborg, light tank, or sometimes even a medium tank, and I wouldn't be surprised if the same could also be said for vanilla Warzone 2100.
Creator of Warzone 2100: Contingency!
Founder of Wikizone 2100: http://wikizone2100.wikia.com/wiki/Wikizone_2100

User avatar
Shadow Wolf TJC
Regular
Regular
Posts: 1047
Joined: 16 Apr 2011, 05:12
Location: Raleigh, NC

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Shadow Wolf TJC » 04 Jan 2013, 11:45

@NoQ: I've decided to take a break from developing ShadowBot in order to work on modifying NullBot so that it's a bit more flexible, competent, aggressive, and easier to incorporate into mods such as Contingency. (In the process, I'd hopefully be able to learn enough about how a .js AI is supposed to work.) You wouldn't mind if I posted the modified NullBot AI here later on, would you? ;)
Creator of Warzone 2100: Contingency!
Founder of Wikizone 2100: http://wikizone2100.wikia.com/wiki/Wikizone_2100

User avatar
NoQ
Special
Special
Posts: 6225
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by NoQ » 04 Jan 2013, 11:55

It's ok, and it'd be even more convenient if you make use of git and i just pull patches (:
I just didn't have time to look at the message above yet :(

User avatar
aubergine
Professional
Professional
Posts: 3459
Joined: 10 Oct 2010, 00:58
Contact:

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by aubergine » 04 Jan 2013, 17:19

+1 for getting it put on GitHub :)

I'd do much more with github if it wasn't for these pesky developers creating awesome WZ mods. Every time I go in to do some coding I end up spending hours skirmishing against nullbot. Grrr. :P
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO

User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Goth Zagog-Thou » 04 Jan 2013, 17:39

I feel your pain. :lol2:

User avatar
Shadow Wolf TJC
Regular
Regular
Posts: 1047
Joined: 16 Apr 2011, 05:12
Location: Raleigh, NC

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Shadow Wolf TJC » 10 Jan 2013, 22:48

I've hit a snag with developing NullBotSW.

Apparently, somewhere along the line, NullBotSW stopped sending the occasional harasser to hunt for enemy derricks. I've been trying to get NullBotSW to build and rely on dedicated "Harasser Tanks" to do the job, though for some reason, the tanks adamantly refuse to hunt for enemy derricks (and instead lump in with the main combat groups), while the regular NullBot 2.0 (whom I've been pitting NullBotSW against for testing purposes) continues to send harassers to hunt for oil just fine.

I've made quite a few improvements to NullBotSW in the past that have allowed it to dominate over NullBot 2.0 in various matches for the most part, but because NullBotSW no longer wants to hunt for enemy derricks, it now tends to perform worse than NullBot 2.0. I'll probably have to start over, and gradually reintroduce the various changes, in order to figure out what's causing this problem. :(
Creator of Warzone 2100: Contingency!
Founder of Wikizone 2100: http://wikizone2100.wikia.com/wiki/Wikizone_2100

User avatar
aubergine
Professional
Professional
Posts: 3459
Joined: 10 Oct 2010, 00:58
Contact:

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by aubergine » 10 Jan 2013, 23:07

Can you upload code somewhere - maybe a fresh set of eyes will spot the problem? Did you get a github set-up yet?
"Dedicated to discovering Warzone artefacts, and sharing them freely for the benefit of the community."
-- https://warzone.atlassian.net/wiki/display/GO

User avatar
NoQ
Special
Special
Posts: 6225
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by NoQ » 11 Jan 2013, 06:11

The whole "how to use a tank" should be inside the addTankToSomeGroup. I will have a look if you post the code you have.
I'll probably have to start over, and gradually reintroduce the various changes, in order to figure out what's causing this problem.
Well, if you used git, just as a form of discipline, then it'd be much more trivial to do that: both for you to bisect the problem to a certain commit and for us to look at where to expect it from (:

User avatar
Shadow Wolf TJC
Regular
Regular
Posts: 1047
Joined: 16 Apr 2011, 05:12
Location: Raleigh, NC

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Shadow Wolf TJC » 11 Jan 2013, 19:56

Here's the 1st alpha version of NullBotSW in case anyone wants to see how it works now, and possibly figure out what's causing that problem with not sending harassers to harass enemy derricks.
nullbotsw-contingency-alpha1.wz
(43.06 KiB) Downloaded 185 times
Creator of Warzone 2100: Contingency!
Founder of Wikizone 2100: http://wikizone2100.wikia.com/wiki/Wikizone_2100

User avatar
Shadow Wolf TJC
Regular
Regular
Posts: 1047
Joined: 16 Apr 2011, 05:12
Location: Raleigh, NC

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Shadow Wolf TJC » 12 Jan 2013, 02:17

Good news: I've managed to get NullBotSW to harass enemy oil derricks again. Bad news is that it currently doesn't build dedicated harasser units to get the job done.
nullbotsw-contingency-alpha2.wz
(42.98 KiB) Downloaded 177 times
So far, only the Rocket AI is up and running, though I plan on adding the other AIs soon.
Creator of Warzone 2100: Contingency!
Founder of Wikizone 2100: http://wikizone2100.wikia.com/wiki/Wikizone_2100

User avatar
NoQ
Special
Special
Posts: 6225
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by NoQ » 12 Jan 2013, 10:00

I've added a branch called sw to the NullBot GIT. It is branched off from v2.0 [2fda18], since you seem to base your work on that (note: it doesn't have contingency easy difficulty support).

Will try to push your changes there, while i'm proceeding with understanding them.

Uhm, you have DOS-style EOLs, had to run dos2unix on your source (:

Am i right when i think that files without sw in their name are untouched?

User avatar
NoQ
Special
Special
Posts: 6225
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by NoQ » 12 Jan 2013, 10:12

Uhm, i really wish to meet you on IRC, cause there are a lot of things to talk about; forum talk would take months.

User avatar
Shadow Wolf TJC
Regular
Regular
Posts: 1047
Joined: 16 Apr 2011, 05:12
Location: Raleigh, NC

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by Shadow Wolf TJC » 12 Jan 2013, 14:01

Sadly, I've never used IRC before, and I'm having serious trouble figuring out how to use the Freenode IRC Network (as suggested in this place). I've used an instant messaging program before (specifically, AOL Instant Messenger), though I haven't used that for years, so it may take me a while to get used to again.

What exactly did you want to talk about by the way?
Creator of Warzone 2100: Contingency!
Founder of Wikizone 2100: http://wikizone2100.wikia.com/wiki/Wikizone_2100

User avatar
NoQ
Special
Special
Posts: 6225
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: [3.1+] NullBot: an adaptive skirmish AI

Post by NoQ » 12 Jan 2013, 14:09

You aren't saying the web interface mentioned on wz2100.net frontpage doesn't work for you? (:
I wanted to talk about co-operating, how to organize it so that it made sense.

Post Reply