Jump to content

New Split Bot release


Recommended Posts

Hello,

Here is the 1.0alpha2 version of Split Bot.

It is more aggressive since it builds strong soldiers now, and attacks use much less CPU because it attacks in waves of 30 to 40 soldiers.

The defense is still hazardous since there is no Defense Agent yet and it does not detect that it is under attack, but it builds defense towers and keeps men for defense.

download:

http://code.google.c.../downloads/list

bug report:

http://code.google.com/p/split-bot/issues/list

1.0alpha2 change log:

* 2 teams of builders

* teams of warrior agents

* attack units and structures

* attack closest from the attacker agent, not from the CC

To do for alpha3:

http://code.google.c...t/wiki/ToDoList

Road map for beta1:

http://code.google.c...ot/wiki/RoadMap

post-12863-0-31327400-1315357101_thumb.j

Edited by lexa
Link to comment
Share on other sites

  • Replies 84
  • Created
  • Last Reply

Top Posters In This Topic

Nice to see another update. I have to ask whether you've tested this in the SVN version of the game? I just tested on Acropolis II using the latest SVN version and it didn't do well at all. It basically just built a house, then it built a bunch of farms and only gathered wood. (Also tested on Oasis II and there it didn't even build any farms. I didn't play for as long there though, but it certainly had the resources to as it had over 3000 wood iirc. It was a lot more than it needed to stockpile in any case.)

Also, I got the below error:

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 49 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 57 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 84 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 88 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 100 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 104 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 116 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 120 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 132 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 136 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 148 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 152 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 164 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 168 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 185 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 189 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 205 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 209 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 270 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 278 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 286 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 294 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 321 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 337 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 371 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 399 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 441 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 446 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 472 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 481 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 524 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 540 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 587 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 625 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 640 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 654 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 683 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 691 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 699 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 715 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 728 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 740 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 754 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 771 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 775 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 792 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 800 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 810 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 828 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 838 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 852 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 876 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 912 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 934 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 945 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 977 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1012 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1031 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1067 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1093 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1102 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1115 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1123 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1173 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1181 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1203 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1316 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1324 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1337 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1351 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1359 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1367 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1449 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1476 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1499 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1521 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1538 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1570 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1576 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1670 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1698 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1755 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1780 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1796 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1807 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1814 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1818 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1831 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1849 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1903 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1935 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1944 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1974 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1988 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 2018 anonymous function does not always return a value

WARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 2026 anonymous function does not always return a value

Btw, would you please add an option to turn off the "I've got this and this" message? It's interesting to see, but kinda takes away the fun from playing against it :) I'm guessing it's only meant to be there during the development, but even now it would be nice to be able to turn it off :) (You could leave something similar for later and have the bot sometimes tell the truth and sometimes lie, to confuse the player ;)

Link to comment
Share on other sites

Hello

Thank you very much for these remarks, I will definitely integrate them for alpha3

@JuliusColtranePille I am not sure, but there should be the 0ad application in /Applications, and then you can paste the splitbot/ folder in 0 A.D./binaries/data/mods/public/simulation/ai/splitbot/

@feneur I use the official stable release downloaded from the site... I'll check this with svn for alpha3

Link to comment
Share on other sites

hey guys,

it would be really really cool, if you could implement this new bot (or maybe even more, i don't know at all how difficult it is/ how much workt it is) in the alpha 7 release.

are there any bots which also build up a naval-force and know how to use it?

warm regards

This bot will not be included in the Alpha 7 release. Most importantly because it has not been developed for it and with the Alpha 7 release just about a week away (depends on how much time it takes to fix a few remaining things and if there are any new showstopping bugs) it's too late to include major new things anyway.

As far as I know no bots are programmed to handle naval battles etc, and I'm thinking it's probably not a good idea to spend too much time implementing it at this stage as naval battles etc has a lot still to be implemented so any work now would most likely have to be redone once things like ramming are implemented.

On a related note: AIs are likely to "be behind" in terms of new features and might not take advantage of/react to new gameplay features until the next Alpha version or so. Of course AI developers can (and if I may be bold enough to offer my opinion are encouraged to) use the SVN version and thus develop their AIs to take advantage of new features as soon as they are implemented. However, say that a major gameplay feature is not finished until a week or two before the Alpha release, then the AI programmer/s might not have time to make their AI take advantage of it. That's of course different from case to case and from developer to developer, but I think it's wise to have that at the back of ones mind when trying out a new release :)

Link to comment
Share on other sites

Hey JuliusColtranePille

Thank you for your enthusiasm, it makes my day ;)

And one day maybe that SplitBot will be ready for an integration, but I would not expect it too soon

Or maybe we could set up a very simple mechanism to distribute and auto-install/update maps and bots ? I did it for another project, and it was really not that much work. I also developed a small wordpress plugin in order to use wordpress as a back end for plugins developers to distribute and document their plugins... You can see it here on wordpress and we use it here on silex labs exchange platform to distribute themes and plugins which can be installed automatically from within Silex and amfPHP...

All this will take time anyway since this is community driven, it will not move fast - and it is not a critic :)

Edited by lexa
Link to comment
Share on other sites

Nice bot, I spectated a Split vs Root vs Ju match and Splitbot won :) Keep up the good work. Also, that Wordpress plugin sounds pretty nice.

Just a heads up, Ticket #951 makes max pop avaliable to an AI player. Now you can teach SplitBot to stop building houses when it's pop limit = max pop :)

Credits to quantumstate.

Link to comment
Share on other sites

am i supposed to uninstall the game before installing the svn version?

Nope, the svn version can be run out of the directory you download it to. You don't need to install it at all.

and is it normal that pyrogenesis.exe is not commited in github repository? i am supposed to compile the c code?

That is what I did, it was pretty straightforward, I used visual studio 2008 express edition then you go to the build/workspaces/vc2008 folder and open the pyrogenesis.sln then pick Build Solution (F7). Then after a while it is done. There are some more detailed build instructions somewhere though.

Link to comment
Share on other sites

That is what I did, it was pretty straightforward, I used visual studio 2008 express edition then you go to the build/workspaces/vc2008 folder and open the pyrogenesis.sln then pick Build Solution (F7). Then after a while it is done. There are some more detailed build instructions somewhere though.

http://trac.wildfiregames.com/wiki/BuildInstructions :)

Link to comment
Share on other sites

Hello,

I have hard times with the javascript warnings. I believe it is due to 2 bugs, one from haxe and one from SpiderMonkey.

I have 2 questions :

- is SpiderMonkey up to date in 0ad ?

- is it possible to run it without strict mode ?

Meanwhile I keep searching and asking in the haxe community

Bye !

Link to comment
Share on other sites

Meanwhile I keep searching and asking in the haxe community

Bye !

For one thing, there's no point having code after a return statement (haXe seems to be including $s.pop(); at the end of every function). I think that's what the warning is about: a code path that doesn't return a value (even though it's not reachable in the first place, it could indicate a logic bug).

Link to comment
Share on other sites

Hello

Thank you very much for these remarks, I will definitely integrate them for alpha3

@JuliusColtranePille I am not sure, but there should be the 0ad application in /Applications, and then you can paste the splitbot/ folder in 0 A.D./binaries/data/mods/public/simulation/ai/splitbot/

@feneur I use the official stable release downloaded from the site... I'll check this with svn for alpha3

somehow, this did not work.

since most mac-users here use the alpha 6 compiled by a neat guy who runs the cider-website, we open the game in a pre-composed and than unzipped alpha6-directory in which there has not been the public-directory already but there was just a public.zip (so i guess, the mac-version gets the AIs from elsewhere, but i couldn't find this directory till now...) :/

Link to comment
Share on other sites

we open the game in a pre-composed and than unzipped alpha6-directory in which there has not been the public-directory already but there was just a public.zip (so i guess, the mac-version gets the AIs from elsewhere, but i couldn't find this directory till now...) :/

Game loads data from either public.zip or public directory, you can extract public.zip where it is placed, you should get public directory, then you can modify something inside this directory (add new bot in this case) and this should affect 0ad.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share


×
×
  • Create New...