A new NullBot based AI personality

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!
Post Reply
User avatar
Berserk Cyborg
Code contributor
Code contributor
Posts: 938
Joined: 26 Sep 2016, 19:56

A new NullBot based AI personality

Post by Berserk Cyborg »

I discovered Warzone 2100 around the 3.2.1 release and am enjoying it ever since. I decided to create this mod in order to give something unique to the community that I think is lacking in the base game.

I would like to present a small AI modification I have been working on lately to which I am calling AirBot. It is simply a NullBot based personality with a couple of new features to suite its needs. It is my hope it will introduce a new aspect of battle and curve your normal research path and strategies.


What it does:
AirBot has an accelerated research path to achieve VTOL production early in a no bases and T1 technology level skirmish. Often times being able to produce VTOLs within about thirty-forty minutes with the above scenario (with the maps I have tested anyway).

It has two distinct personalities which include AC and AR. AC focuses on cannon upgrades and is the more aggressive version and is better suited for smaller maps. AR focuses on flamers and is better suited for distant battle. I designed them to counter each other at different stages of the game. AC will likely overwhelm AR early game, but if AR lasts long enough then AC will not even have a chance against it.


What is new:
standard.js:
weaponStats.AA – replaces useless_AA with a working set of AA specific weapons/structures /upgrades.
weaponStats.bombs – Enables the use of VTOL bombs and accuracy upgrades.

Build.js: Added a function that enables AA emplacement defenses to be built.

***An experimental feature I added was the ability to place hurricane, whirlwind, and stormbringer onto tanks. Just for those moments you need to protect your ground support from VTOLs on the go. This may be a bit controversial so I would like your opinion on whether I keep this or not.

***Since AirBot is part of the NullBot family, you can still use the chat commands listed here
here.

***Primarily meant for high power levels and maps were each player can own about 7-8 derricks at the start of a match.

I ask only for a small portion of your time to test this.
Feedback I want:
1. How would you judge its current difficulty? (specifically hard or insane modes)
2. How well does it fight other AI that you tested? (I know Nexus and NullBot generic can defeat it)
3. Did it steal a lot of oil derricks? Is it too aggressive?
4. Opinion on AA turrets on tanks. Did you need to use them or is it just nice to have?
5 Did I do everything correctly in WeaponStats.AA and weaponStats.bombs? (optional)
6. Better name? (optional)
7. Other suggestions? (optional)

Above all else I hope you enjoy battling it.

***I still have more to do(especially with research paths and weapons) and there does not seem to be any major game breaking bugs at the moment. I do not guarantee AirBot will be a challenge for skilled players.

Current known bugs:
1. none

***You do not have to report map out of bounds warnings in map.cpp as it is caused by VTOLs when they attack something near the border of the map. This happens due to them needing to fly forward a bit to turn around and can sometimes leave the map temporarily. This is a greater warzone2100 problem and occurs without this mod anyway.

TL;DR: Created a new NullBot personality that focuses on VTOLs.

Special thanks:
NoQ for creating NullBot and subsequently for making AirBot possible.
Per, Duha, aubergine, and Shadow Wolf TJC for their contributions for making NullBot possible and/or aiding in its development.


AirBot.wz
License: Image
Last edited by Berserk Cyborg on 28 Sep 2016, 01:24, edited 1 time in total.
User avatar
NoQ
Special
Special
Posts: 6226
Joined: 24 Dec 2009, 11:35
Location: /var/zone

Re: A new NullBot based AI personality

Post by NoQ »

Wow, that's great. Would you like to push your core fixes back to the standard NullBot package, so that everybody could benefit from them? Do you use github, so that you could make a pull request for that?

Sorry, i don't have much time at the moment to actually test... but i'm deeply touched that this kind of stuff is going on.
Berserk Cyborg wrote: What is new:
standard.js:
weaponStats.AA – replaces useless_AA with a working set of AA specific weapons/structures /upgrades.
Cool, if your personality uses hurricane and whirlwind this is great, keep in mind that in order to obtain whirlwind you need a lot of machinegun upgrades, which most likely aren't helpful to your personality otherwise (machineguns aren't superb as VTOL weapons - though sometimes we see machinegun VTOLs when a player has nothing but machineguns around).
Berserk Cyborg wrote: weaponStats.bombs – Enables the use of VTOL bombs and accuracy upgrades.
Bombs were present as air weapons of the mortars section. Flame bombs were present as air weapons of the flamers section. It's ok to split them out, though, if you want a personality that focuses on bombs without picking the otherwise closely related ground weapon.
Berserk Cyborg wrote: Build.js: Added a function that enables AA emplacement defenses to be built. (From what I have seen, only Nexus uses these).
buildTowers() will build AA as long as the adaptation mechanism suggests that AA is useful (that is, when anybody actually makes VTOLs), and i remember it worked well.
Berserk Cyborg wrote: Standard_build_order.js: Testing out a different build order specifically for AirBot.
You don't need to update standard_build_order.js, the whole point of this file is that it's a fallback that's not necessarily useful for everyone. It's natural to write your own build order function directly in the personality file.
Berserk Cyborg wrote:1. If an AI researches one of the AA turrets before any opponent has VTOLS, a warning along the lines of not being able to guess the role of the weapon will be output and subsequently not use said turret on tanks.
This shouldn't depend of who researches what, the stats are always available. If there's an error of not being able to guess weapon role, then most likely there's a typo somewhere in the stats.
Berserk Cyborg wrote:2. on occasion AirBot may build a base structure like a command center or whatever in a dangerous place. This occurs mostly in maps with small bases such as those in sk-rush. (probably just need to change its build order)
This is a very painful matter, because definition of a dangerous place is really vague. In some cases, when there's a single scavenger trike straight in your base, you'd prefer to build a factory and produce a tank and kill it to outright dying by doing nothing. Any solution better than the current one is warmly welcome, however i think i tried all simple modifications of this behavior and the current behavior is kind of best of them for most cases.
Berserk Cyborg wrote:3. Not AirBot specific, but a trivial bug exists with anything NullBot related where the AI will destroy its own (and allies) oil derricks and factories after winning a skirmish. Only VTOLs exhibit this behavior (Turtle and NullBot do have this; have not tested Hover).
Yep, noticed this but didn't care enough. Funny bug.
Post Reply