Unreal Tournament 3 Bots for .NET
If you're interested in contributing (or just reading) the source for UT3 bots this is the place to be! If you're just looking to code some bots or get help with one you're best bet is
there you'll find a live version of the Visualizer and all the starter kits and documentation, plus UT3 server :-). A public UT3 server with the mutator is running at ut.utbots.com (18.104.22.168)
which any bot can join, if you want to join from UT3 the password is UT3Bots. From the console (~):
or as a spectator: open ut.utbots.com?password=UT3Bots?spectatoronly=1
Since you're still reading this that probably means you're interested in reading more about how this all works. Well basically there is a custom Game Type for UT3 that listens on a socket and when a client is connected it pumps down information about
the game state the server also spawns a player into the UT3 game. The client controls this player by sending up messages to the server which are them parsed and acted upon. All pretty straightforward, the source code here is broken into different projects
as listed below:
This is the (C#) source code for the web site at
nothing too special here just some pages with help and files as well as a compiled version of the Visualizer.
This is the (UT Script) source for the UT3 mutator that renders path nodes visible in the game. This allows you to see what your bot can see, which will help you debug and complete your bot.
This is the (UT Script) source for the UT3 Game Type and is the heart and soul of this project. This little box of magic is what interupts the commands sent by the clients and pumps out the game state for the visualizer to use.
This is the (C#) source code for the .net assembly that acts as a go between for the ServerMutator and UT3UserBot, it handles all the boring work of parsing messages and building up object graphs which are easy to develop against.
This is the (C#) source code for the .net console application that is a sample of how to build a bot, this project gets exported to a starter kit and is used as a handy way to test the project out.
This is the (C#) source code for the Silverlight 2 app that shows the current state of a UT3 game.