Register    Login    Forum    Search    FAQ Awesomenauts



Post new topic This topic is locked, you cannot edit posts or make further replies.

Author Message
 Post subject: AI modding guide
 Post Posted: Fri May 23, 2014 4:19 pm 
Offline
Ronimo Team Member
User avatar

Joined: Thu Apr 23, 2009 5:45 pm
Posts: 8955
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\ExampleAIs

Controls 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 state

Buttons top row, from left to right:
-Pause button: doh!
-Step button: steps to the next AI tick for the currently selected character
-Follow button: keeps the camera centred on the selected character
-Clear log button: clears to log for this character
-Kill button: kills the currently selected character
-Reload button: reload all AI files from disc. Characters will not use the new AI until they are respawned/killed

Buttons second row, from left to right:
-Step new button: opens the AI for the selected character in a new AI editor for step-by-step debugging
-Step existing button: same, but in an existing editor
-NamedAreas button: shows all named areas in the level
-PathGraph button: shows all path finding nodes in the level

Keys 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 zoom

Keys 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:

Ayla: Vampire
Chucho: Hyper
Clunk: Tank
Coco: Blazer
Derpl: Heavy
Froggy G: Dasher
Genji: Butterfly
Gnaw: Maw
Jimmy: Warrior
Ksenia: Crawler
Leon: Chameleon
Lonestar: Cowboy
Nibbs: Blinker
Penny Fox: Assassin
Professor Yoolip: Ellipto
Raelynn: Hunter
Rocco: Wozzle
Scoop: Paladin
Sentry X-58: Spy
Skolldir: Brute
Skree: Shaman
Swiggins: Captain
Ted McPain: Commando
Vinnie & Spike: Bird
Voltar: Summoner
Yuri: Jetter

And these are a bunch of other classes you can have a fun with that may or may not do something:

CreepCritterRibbit4
CreepCritterSorona
CreepCritterAIStation404
CreepSolarboss
CreepDroidMelee
CreepDroidFlying
CreepDroidSuper
CreepCowboyBull
CreepChameleonClone
CreepSummonerDrone
CreepSummonerHealtotem
CreepMawTurret
CreepCritterCrab
CreepCaptainChain
CreepCommandoAirstrike
CreepShamanWall
CreepSpyBooth
CreepSpy

Questions?

Please create separate topics in the modding subforum for further questions and discussion. Use this thread for various smallish questions.


Top 
 Profile  
 
 Post subject: Re: AI modding guide
 Post Posted: Wed Feb 08, 2017 4:02 pm 
Offline
Ronimo Team Member
User avatar

Joined: Thu Apr 23, 2009 5:45 pm
Posts: 8955
I've moved the contents of this topic to the Awesomenauts Gamepedia, so I'm unstickying this topic. The things in this topic are now here:

http://awesomenauts.gamepedia.com/AI_Editor_Guide

More modding documentation can be found here:

http://awesomenauts.gamepedia.com/Modding

Please feel free to extend this documentation with further guides and information! :ayla:


Top 
 Profile  
 
Display posts from previous:  Sort by  
 
Post new topic This topic is locked, you cannot edit posts or make further replies.