Most of the information here is for Warzone 3.1 and above.
AI Cheating
- Aubergine
Game Engine Cheats
Warzone itself applies some cheats to any AI player set to INSANE difficulty level:
- Oil production is doubled (on Warzone 3.2 and above)
- Fewer buildings are removed for the given baseType setting (see Player Initialisation for full details)
While these cheats are a standard part of the game, and as such are not controversial (the player chose "Insane" difficulty), it is still worth mentioning them in your AIs documentation so new players know what to expect.
AIs using this cheat: All of them
Deity Cheating
Human players can only see what's on their sensors, or buildings that they've previously scouted. As a result, the human reacts more slowly to the opponents research path and unit production choices.
An AI, however, can choose to see everything whenever it wants by using deity cheating. It allows the AI to find out what sort of forces it will be fighting against and adapt its research path and production orders to counter the threat much earlier than usual, giving it a fairly big advantage over the human players.
The cheat is implemented by not specifying a viewer filter on enumDroid(), enumStruct() and enumFeature() functions.
AIs should only use this form of cheat on HARD or INSANE difficulty settings. This cheat doesn't cause much controversy, but should always be detailed in your AIs documentation.
AIs using this cheat: Nexus (bundled with Warzone), NullBot (bundled with Warzone)
CB Cheating
CB cheating is a subset of Deity cheating.
In the early game, when human players come under attack from batteries (mortar, arty, rockets, missiles) they will be able to estimate the rough direction and range of the batteries, but they won't know exactly what or where they are and often it will be difficult to determine how many batteries there are. As battery ranges increase later in the game, it gets harder to determine where they are.
AIs, on the other hand, are told exactly where enemy batteries are via eventAttacked() – an object describing the attacking droid or structure provides verbose information including location, range, which player owns it, etc., even if the AI can't see it. With such information, AIs can more easily work out how to avoid a battery, defend against it or attack it. For example, an AI could instruct VTOLs to attack a troublesome battery even if the AI hasn't "seen" that battery.
The cheat is implemented by keeping track of the attacking object when eventAttacked() or eventAttackedUnthrottled() is triggered.
AIs should only use this form of cheat on MEDIUM or higher difficulty settings. This cheat doesn't cause any controversy that I know of and doesn't need mentioning in the documentation.
AIs using this cheat: Possibly NullBot?
Power Cheating
Humans can only get power in 4 ways: Building derricks, picking up oil barrels, recycling, or power transferred by other players.
Using the JS API, AIs have a 5th option: They can give themselves free power, and thus get a huge economic advantage.
The cheat is implemented by using hackNetOff(), then the setPower() function to give yourself power, then hackNetOn().
AIs should only use this cheat on HARD or INSANE difficulty settings (although on INSANE you already get double power so shouldn't need to). Power cheating is obviously controversial and must always be mentioned in the AIs documentation.
AIs using this cheat: Nexus (bundled with Warzone)
Tech Cheating
Humans can only make technologies available to research in 3 ways: They research the pre-requisite technologies, an ally researches the pre-requisites, or the human or ally picks up an artefact (making it available for research even if the pre-requisites aren't researched).
AIs, however, can choose to make any technology available for research and thus gain a strong tech lead.
The cheat is implemented by uing hackNetOff(), then enableResearch() to make the tech available for research, then hackNetOn().
AIs should only use this cheat on HARD or INSANE difficulty settings. While the AI would still need to spend power and time researching the tech, it's still a controversial cheat and as such should be mentioned in the AIs documentation.
AIs using this cheat: ?
Research Cheating
Humans, or one of their allies, have to research technologies at labs before they can use those technologies. This requires power and time, not to mention having a lab available to do the research.
AIs, however, can instantly give themselves a technology without having to research it, or just speed up the research process. This can result in a massive tech lead.
A technology is instantly researched by using hackNetOff(), then completeResearch() to instantly research a technology for free, then hackNetOn(). Currently it's not possible to speed up an existing research task using the JS API (it can only be done in the wzscript used by older AIs such as Nexus).
AIs should only use this cheat on INSANE difficulty setting. It is massively controversial and often despised (hence the suggestion that it should only be used on INSANE difficulty), so it must be mentioned in the AIs documentation.
AIs using this cheat: Nexus (bundled with Warzone)
Other Types of Cheat
There are a number of other types of cheat that an AI could possibly use, based on the following JS API features:
- enableStructure() – enable a certain structure to be built, even if not researched
- enableComponent() – enable a certain droid component to be used, even if not researched
- addStructure() – instantly add a structure to the map for free, even if not researched
At the time of writing, these types of cheat are not being used by any of the currently known AIs.
See also:
Related articles:
- Cheats - Warzone 2100 Cheat Codes – cheat codes that human players can use
- Player Initialisation – default set-up for all players