Patch 2.5 will bring the AI creator for Awesomenauts, allowing modders to create their own AIs. You can use this to create new AIs for classes that don't have an AI yet, to improve the existing AIs, or to do weird other stuff.
AI modding will already be possible in the beta of patch 2.5, which is out now.
We would of course prefer if the community would add a modding section to the Awesomenauts Wiki
and together create a good set of documentation there, but for the moment I'll put the basic information for how to create modded AIs here.Playing with custom AIs
Custom AIs needs to be put in the folder Awesomenauts\Data\BehavioursCustom
The filename needs to have a specific format. It needs to start with "Mod_", followed by the name of the class this AI is for. After that you can add a description. The className needs to be the game's internal name for the class. For example: "Mod_Hunter_myFirstKillerAI.xml
" or "Mod_Jetter_muchBetterAI.xml
". A list of the names can be found at the bottom of this post.
To make the game actually use your AIs, enable custom AIs in the Custom Games settings. The checkbox for that is at the very bottom.
When creating a bot, the game prefers using your own custom AIs, choosing them at random. If all of those are in your team already, it will randomly choose from the AIs that come with the game (Lonestar, Leon, Clunk and Froggy). If you enable allowSameClass in Custom Games, then you can also get teams with several of your own bots. If allowSameClass is set and there are custom bots, then the normal bots will not be used at all.
It is not
possible to use custom AIs in Practice mode or in public matches (Battle and Quick Match).Creating your own custom AIs
To create custom AIs, open the behaviour editor, which can be found in this folder: Awesomenauts\Data\BehaviourCreator\BehaviourTreeCreator.exe
The basic idea is that you combine Conditions and Actions. Shooting, jumping and using skills are done using PressButton with the FACE_* buttons. Walking is done using PressStick.
Execution begins at the Root node, so you need to connect your first blocks to that.
Conditions can be connected using an IF-connector and using an ELSE-connector. If a condition is true, all the IF-connections are executed. If a condition is false, all the ELSE-connections are executed.
AIs update only 10 times per second. This saves a lot of performance and is still fast enough for good reflexes. Keep this in mind when using the PressStick and PressButton actions: to make a character continuously walk, you should keep the button pressed for something like 0.14 seconds per AI tick (well above the 0.1 seconds per AI tick).
To make the character work you must include his gameplay behaviour. To do so add an ExecuteBehaviourTree block and type the className as the fileName, for example "Assassin" or "Dasher".
You can view the existing AIs by opening them using the BehaviourCreator. They are stored here: Awesomenauts\Data\BehaviourCreator\ExampleAIsControls and shortcuts for the BehaviourCreator
-Creating blocks: drag them from the list on the left to the big white area on the right
-Connecting if-blocks: right click on a condition and then right click on another block
-Connecting else-blocks: right click on a condition, press space, and then right click on another block
-Connecting sub-conditions to an OR or AND block: right clock on an OR or END block, press space twice, then right click on a condition
-Deleting a node: hoover over the node and press delete
-Zooming in/out: Shift + scrollwheel
-Press F1 for an overview of all shortcuts and keys
-Press B while hovering over a node in the behaviour creator to set a breakpoint (only works when connected to in-game AI Debugger).Debugging tools
-Press F4 in-game to open the AI Debugger.
-Click a character to see his current stateButtons top row, from left to right:
button: steps to the next AI tick for the currently selected character
button: keeps the camera centred on the selected character
button: clears to log for this character
button: kills the currently selected character
button: reload all AI files from disc. Characters will not use the new AI until they are respawned/killedButtons second row, from left to right:
button: opens the AI for the selected character in a new AI editor for step-by-step debugging
button: same, but in an existing editor
button: shows all named areas in the level
button: shows all path finding nodes in the levelKeys and shortcuts within AI debugger
-Mousewheel press: move camera around with mouse
-Arrow keys: move camera around
-Mousewheel up/down: zoom in/out
- keys: zoom camera in/out
-Shift+F9: Centre AI Debugger view on player character
-Alt+F9: Teleport player character to AI Debugger view
-Ctrl+F9: Reset AI Debugger view to standard zoomKeys and shortcuts everywhere in game with modded bots:
-Alt+F6: show AI log messages beneath the character
-Ctrl+F6: show AI area checks (only for selected character if a character is selected in the F4 editor, otherwise for everyone) (careful with epilepsy: flickers like crazy!)Class names
These are the names of the playable classes:
Froggy G: Dasher
Penny Fox: Assassin
Professor Yoolip: Ellipto
Sentry X-58: Spy
Ted McPain: Commando
Vinnie & Spike: Bird
And these are a bunch of other classes you can have a fun with that may or may not do something:
Please create separate topics in the modding subforum for further questions and discussion. Use this thread
for various smallish questions.