lexa Posted September 7, 2011 Report Share Posted September 7, 2011 (edited) 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/listbug report:http://code.google.com/p/split-bot/issues/list1.0alpha2 change log: * 2 teams of builders * teams of warrior agents * attack units and structures * attack closest from the attacker agent, not from the CCTo do for alpha3:http://code.google.c...t/wiki/ToDoListRoad map for beta1:http://code.google.c...ot/wiki/RoadMap Edited September 7, 2011 by lexa Quote Link to comment Share on other sites More sharing options...
Mythos_Ruler Posted September 7, 2011 Report Share Posted September 7, 2011 Nice. I would recommend that the buildings all face the bottom right corner. This is the default "front" for all of the buildings. It may (or may not) also help pathing if all buildings faced the same direction. Just an observation.I'm glad you're still working on this! Can't wait to try it out. Quote Link to comment Share on other sites More sharing options...
Pureon Posted September 7, 2011 Report Share Posted September 7, 2011 Brilliant, I'll test it out this evening when i finish work edit: BTW i agree with Mythos_Ruler regarding building rotation Quote Link to comment Share on other sites More sharing options...
JuliusColtranePille Posted September 7, 2011 Report Share Posted September 7, 2011 how can i integrate this (it sounds formidable) bot into the mac-version of the game?thx! Quote Link to comment Share on other sites More sharing options...
feneur Posted September 7, 2011 Report Share Posted September 7, 2011 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 valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 57 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 84 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 88 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 100 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 104 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 116 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 120 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 132 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 136 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 148 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 152 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 164 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 168 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 185 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 189 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 205 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 209 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 270 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 278 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 286 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 294 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 321 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 337 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 371 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 399 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 441 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 446 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 472 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 481 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 524 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 540 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 587 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 625 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 640 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 654 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 683 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 691 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 699 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 715 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 728 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 740 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 754 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 771 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 775 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 792 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 800 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 810 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 828 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 838 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 852 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 876 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 912 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 934 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 945 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 977 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1012 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1031 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1067 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1093 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1102 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1115 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1123 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1173 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1181 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1203 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1316 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1324 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1337 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1351 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1359 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1367 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1449 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1476 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1499 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1521 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1538 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1570 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1576 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1670 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1698 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1755 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1780 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1796 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1807 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1814 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1818 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1831 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1849 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1903 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1935 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1944 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1974 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 1988 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 2018 anonymous function does not always return a valueWARNING: JavaScript warning: simulation/ai/Splitbot/SplitBot.js line 2026 anonymous function does not always return a valueBtw, 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 Quote Link to comment Share on other sites More sharing options...
lexa Posted September 7, 2011 Author Report Share Posted September 7, 2011 HelloThank 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 Quote Link to comment Share on other sites More sharing options...
JuliusColtranePille Posted September 7, 2011 Report Share Posted September 7, 2011 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 Quote Link to comment Share on other sites More sharing options...
feneur Posted September 7, 2011 Report Share Posted September 7, 2011 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 regardsThis 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 Quote Link to comment Share on other sites More sharing options...
lexa Posted September 7, 2011 Author Report Share Posted September 7, 2011 (edited) 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 September 7, 2011 by lexa Quote Link to comment Share on other sites More sharing options...
gudo Posted September 9, 2011 Report Share Posted September 9, 2011 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. Quote Link to comment Share on other sites More sharing options...
lexa Posted September 10, 2011 Author Report Share Posted September 10, 2011 hey gudo, thanks for the tip and for the feed back Quote Link to comment Share on other sites More sharing options...
lexa Posted September 10, 2011 Author Report Share Posted September 10, 2011 helloam i supposed to uninstall the game before installing the svn version?and is it normal that pyrogenesis.exe is not commited in github repository? i am supposed to compile the c code? Quote Link to comment Share on other sites More sharing options...
feneur Posted September 10, 2011 Report Share Posted September 10, 2011 There's no need to uninstall the release version before installing the SVN version.And it is normal afaik, they're not included in the GIT repository, so if you want to use that rather than SVN you'll have to compile the game yourself yeah. Quote Link to comment Share on other sites More sharing options...
quantumstate Posted September 10, 2011 Report Share Posted September 10, 2011 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. Quote Link to comment Share on other sites More sharing options...
feneur Posted September 10, 2011 Report Share Posted September 10, 2011 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 Quote Link to comment Share on other sites More sharing options...
lexa Posted September 10, 2011 Author Report Share Posted September 10, 2011 Thanks a lotI will go for svn, but I did not find the repositury URL. I looked on sourceforge but there is no svn there, can you tell me where it is? Quote Link to comment Share on other sites More sharing options...
feneur Posted September 10, 2011 Report Share Posted September 10, 2011 This page should have all the required info: http://trac.wildfiregames.com/wiki/BuildInstructions (the URL is listed under acquiring the code, I could paste it here, but it's better that you have that page open to be sure you know where to find out further steps if you run into problems ). Quote Link to comment Share on other sites More sharing options...
Linux_Eki Posted September 12, 2011 Report Share Posted September 12, 2011 I must test this tonight. Last version was bugged for me or it was just too lame to threaten my base. Quote Link to comment Share on other sites More sharing options...
lexa Posted September 12, 2011 Author Report Share Posted September 12, 2011 Ok, thank youI'll test the bot with the svn version next w-eBye Quote Link to comment Share on other sites More sharing options...
lexa Posted September 14, 2011 Author Report Share Posted September 14, 2011 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 communityBye ! Quote Link to comment Share on other sites More sharing options...
Ykkrosh Posted September 14, 2011 Report Share Posted September 14, 2011 is SpiderMonkey up to date in 0ad ?It's the latest standalone release (1.8.5), which is equivalent to Firefox 4.is it possible to run it without strict mode ?No - the game forces ES5 strict mode and SpiderMonkey's strict warnings on all scripts it runs, to help find bugs and improve code quality. Quote Link to comment Share on other sites More sharing options...
historic_bruno Posted September 15, 2011 Report Share Posted September 15, 2011 Meanwhile I keep searching and asking in the haxe communityBye !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). Quote Link to comment Share on other sites More sharing options...
lexa Posted September 15, 2011 Author Report Share Posted September 15, 2011 Ok, thank u Philip and Bruno I have got it : I was compiling with haxe debug optionNow it is fine with this $s.pop(); at the end of every function (this was about stack and debug) Quote Link to comment Share on other sites More sharing options...
JuliusColtranePille Posted September 15, 2011 Report Share Posted September 15, 2011 HelloThank 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 alpha3somehow, 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...) :/ Quote Link to comment Share on other sites More sharing options...
fcxSanya Posted September 15, 2011 Report Share Posted September 15, 2011 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.