Age of Chivalry |
Age of Chivalry |
Enra |
Apr 26 2009, 10:17 AM
Post
#1
|
Newbie Group: Members Posts: 6 Joined: 26-April 09 Member No.: 1,530 |
I have started to evaluate RCBot2 to see if we can use it as a bot for Age of Chivalry. So far it looks very promising, I used the TF2 code baseline and added a new bot type and got them to spawn and wander around.
For us to use Rcbot2 as our main bot we also need to control the deployment. We want to bundle a standard, tested version of the bot with our releases. I only looked briefly at the waypoint and ini files and they are stored relative to the steam and mod folder, is there some support to select another folder that is relative to the addons folder? We also need to have a Linux version, what are the status for Linux builds? The GPL license makes the source code handling a bit special, how should we handle that? I need to have the code within our own repo for daily work but then we should make it publicly avaiable at releases, should we update the Rcbot2 repo or is sufficient just to create a zip file of the code and publish that? |
Cheeseh |
Apr 26 2009, 12:22 PM
Post
#2
|
Admin Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 |
All the files use the filename building code in "CBotGlobals :: buildFileName"
I'd guess you'd want to change this code: CODE strcat(szOutput,".."); addDirectoryDelimiter(szOutput); strcat(szOutput,BOT_FOLDER); addDirectoryDelimiter(szOutput); to something like CODE addDirectoryDelimiter(szOutput); strcat(szOutput,"addons"); addDirectoryDelimiter(szOutput); though, not sure. I haven't tried any linux development with the bot, that's really up to anyone with the hardware and the knowledge to be able to try it out, and make it compatible, as its open source. with regard to GPL, Any way of displaying the source with your changes is appropriate, although it is best to use SVN or something similar since this does it for you. |
Enra |
Apr 29 2009, 06:28 PM
Post
#3
|
Newbie Group: Members Posts: 6 Joined: 26-April 09 Member No.: 1,530 |
For the GPL part I think we will start with just publishing a zip file with our changes. Giving public access to our SVN repo is not something I would like to do right now.
I fixed all the problems with Linux so now it runs fine on a dedicated server as well. To make it possible to bundle with a specific mod I also started to add some compile-time settings to simplify deployment. Setting up the bots_mod.ini file was a bitch as I needed to add 6 entries that pointed to our mod to cover all paths so I removed the need to have a bots_mod.ini .ini files for the case when you compile it for a specific mod. Looking good so far |
Cheeseh |
Apr 29 2009, 07:19 PM
Post
#4
|
Admin Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 |
For the purpose of only one mod , you can just remove the bot mod stuff and just keep one mod in the code which is for your own mod.
|
Enra |
May 18 2009, 05:29 PM
Post
#5
|
Newbie Group: Members Posts: 6 Joined: 26-April 09 Member No.: 1,530 |
For the purpose of only one mod , you can just remove the bot mod stuff and just keep one mod in the code which is for your own mod. I started out with the ambition to keep our bot code compatible with TF2 but the more I dig into the code the harder it gets. Some parts of the base classes are very entangled with functions only available in TF2. So I am going to do as you suggest and remove or disable the TF2 stuff. What about naming and license? Can we rename it freely to say "AOC_Bot" and remove the console license printout about HPB bot? |
Cheeseh |
May 18 2009, 05:37 PM
Post
#6
|
Admin Group: Admin Posts: 3,066 Joined: 11-September 03 From: uk Member No.: 1 |
I started out with the ambition to keep our bot code compatible with TF2 but the more I dig into the code the harder it gets. Some parts of the base classes are very entangled with functions only available in TF2. So I am going to do as you suggest and remove or disable the TF2 stuff. What about naming and license? Can we rename it freely to say "AOC_Bot" and remove the console license printout about HPB bot? I would keep the print out as that is a requirement of any GPL mod. I thought you would just need to create a new bot class called "class AOCBot : public CBot" which overrides the bot stuff and make a new AOCBot array in CBots::init ? CODE CBots::init() { m_Bots = (CBot**)malloc(sizeof(CBot*) * MAX_PLAYERS); for ( i = 0; i < MAX_PLAYERS; i ++ ) { // THIS IS AOC SO ALWAYS MAKE AOCBot m_Bots[i] = new AOCBot(); } |
Lo-Fi Version | Time is now: 9th September 2024 - 04:52 AM |