sanderd17 Posted December 27, 2012 Report Share Posted December 27, 2012 Is it possible to watch a game of bots against each other?I'm thinking about the map creator, there you can do a simulation, but the players don't move. It would be nice if we can make bots play against each other, so we can test if the map is in balance (if there are enough resources on both sides, if crossing the mountains isn't too hard for one side etc).It would be nice if I could create unequal maps with equal chances (like one player has all metal resources, while the other has all stone resources). But it's hard to test the equal chances if you can't let it play by bots.0AD is a great game btw. Thanks for your work. Quote Link to comment Share on other sites More sharing options...
idanwin Posted December 27, 2012 Report Share Posted December 27, 2012 Yeah, this is something I've wondered about as well. What I did was put one unit of player 3 on the map, make it unreachable for the AI (in the middle of the water xD) then load the map, make myself player 3 and both player 1 and 2 Aegis bots. Then open developer menu, set reveal map and watch the two AI battle ... however, this does not reflect well whether the map is balanced since the AI does 1) not use water, 2) doesn't have really much tactics and probably points 3, 4, 5 and so on as well, even though I don't know what they are xDBut it is nice to watch the two bots fight each other :-)There must be a better way to do this, but I don't know it. Quote Link to comment Share on other sites More sharing options...
Mythos_Ruler Posted December 27, 2012 Report Share Posted December 27, 2012 Is it possible to watch a game of bots against each other?I'm thinking about the map creator, there you can do a simulation, but the players don't move. It would be nice if we can make bots play against each other, so we can test if the map is in balance (if there are enough resources on both sides, if crossing the mountains isn't too hard for one side etc).It would be nice if I could create unequal maps with equal chances (like one player has all metal resources, while the other has all stone resources). But it's hard to test the equal chances if you can't let it play by bots.0AD is a great game btw. Thanks for your work.Perhaps the ability to set all players to bots in singleplayer (currently, if you set all players to bots, it will kick you to the next player). Quote Link to comment Share on other sites More sharing options...
Aurium Posted December 27, 2012 Report Share Posted December 27, 2012 Step 1: allow all players as botsStep 2: add a game velocity control, allowing us to test that fast. Quote Link to comment Share on other sites More sharing options...
Pedro Falcão Posted December 27, 2012 Report Share Posted December 27, 2012 IIRC there is a way to do this via command line, i can't remember the command, though. I think Alexander (fcxSanya) said somewhere how to do it. Quote Link to comment Share on other sites More sharing options...
Yves Posted December 27, 2012 Report Share Posted December 27, 2012 Yes you can do something like that:./pyrogenesis -quickstart -autostart="Oasis" -autostart-ai=1:qbot -autostart-ai=2:qbotCheck: http://trac.wildfiregames.com/browser/ps/trunk/binaries/system/readme.txtHowever as far as I know you won't be able to watch the game in this case. Quote Link to comment Share on other sites More sharing options...
gudo Posted December 27, 2012 Report Share Posted December 27, 2012 You can watch the game in progress in that case. I did that to test out AI's. You also share control w/AI 1. Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted December 28, 2012 Author Report Share Posted December 28, 2012 (edited) Yes you can do something like that:./pyrogenesis -quickstart -autostart="Oasis" -autostart-ai=1:qbot -autostart-ai=2:qbotCheck: http://trac.wildfire...stem/readme.txtHowever as far as I know you won't be able to watch the game in this case.Well, the UI does start with this, but I get the following errors:[sander@ArchingFar ~]$ 0ad -quickstart -autostart="Gold_Rush" -autostart-ai=1:qbot -autostart-ai=2:qbot -autostart-ai=3:qbot -autostart-ai=4:qbotCache: 200 (total: 2832) MiBTIMER| InitVfs: 448.408 usSound: AlcInit success, using OpenAL SoftTIMER| InitScripting: 6.62087 msTIMER| CONFIG_Init: 130.766 msATTENTION: default value of option force_s3tc_enable overridden by environment.TIMER| RunHardwareDetection: 28.1899 msTIMER| InitRenderer: 2.16348 msGAME STARTED, ALL INIT COMPLETETIMER| ps_console: 2.59458 msTIMER| ps_lang_hotkeys: 911.876 usTIMER| common/setup.xml: 1.1542 msTIMER| common/styles.xml: 64.895 usTIMER| common/sprite1.xml: 2.48124 msTIMER| common/icon_sprites.xml: 118.493 usTIMER| common/common_sprites.xml: 2.84009 msTIMER| common/common_styles.xml: 341.498 usTIMER| session/sprites.xml: 3.8518 msTIMER| session/setup.xml: 96.43 usTIMER| session/styles.xml: 298.386 usTIMER| session/session.xml: 107.577 msTIMER| common/global.xml: 1.62091 msWARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)Using Xcursor to sys_cursor_create 32 x 32 cursorWARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 446Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 447Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 448Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: JavaScript warning: gui/session/session.js line 449Script value conversion check failed: JSVAL_IS_STRING(v) || JSVAL_IS_NUMBER(v) (got type undefined)WARNING: QueueManager received bad priorities, please report this error: ({house:500, citizenSoldier:1, villager:100, economicBuilding:30, field:20, advancedSoldier:NaN, siege:10, militaryBuilding:50, defenceBuilding:17, civilCentre:1000})WARNING: QueueManager received bad priorities, please report this error: ({house:500, citizenSoldier:1, villager:100, economicBuilding:30, field:20, advancedSoldier:1, siege:10, militaryBuilding:50, defenceBuilding:17, civilCentre:1000})I got this with my own map, so I tried it with one of the default maps, and it's the same.Setting another, unreachable, player on the map is clever though. I'll try that once. Edited December 28, 2012 by sanderd17 Quote Link to comment Share on other sites More sharing options...
quantumstate Posted December 28, 2012 Report Share Posted December 28, 2012 I saw this problem just before we released Alpha 12 but didn't consider it significant enough to risk changing things for. The game will still work fine, you can just ignore the error messages. Also you can use F9 and then type Engine.SetSimRate(5) to set the game speed to be 5 times faster.Edit: The last error is interesting, I am guessing this only happens on your map? Could you upload the map somewhere since this is a new AI bug. Quote Link to comment Share on other sites More sharing options...
Yves Posted December 28, 2012 Report Share Posted December 28, 2012 Hmm the game seems to be frozen when I try this.EDIT: It works with qbot-wc../pyrogenesis -quickstart -autostart="Isthmus" -autostart-ai=1:qbot-wc -autostart-ai=2:qbot-wcEDIT2: But it freezes later Quote Link to comment Share on other sites More sharing options...
quantumstate Posted December 28, 2012 Report Share Posted December 28, 2012 That is odd, I was using this feature for my balance tester recently without any problems (except for those warning messages). Quote Link to comment Share on other sites More sharing options...
Yves Posted December 28, 2012 Report Share Posted December 28, 2012 It always happens on Laconia in turn 239 (-quickstart -autostart="Laconia 01" -autostart-ai=1:qbot-wc -autostart-ai=2:qbot-wc)You can set a conditional breakpoint for the condition "n == 239" on line 85 of Replay.cpp.I've lost the trace at a call to JS_CallFunctionName with the function name "HandleMessage" for player 2.Now I'm searching for a way to debug JS code properly (like singlestepping and such). Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted December 29, 2012 Author Report Share Posted December 29, 2012 Edit: The last error is interesting, I am guessing this only happens on your map? Could you upload the map somewhere since this is a new AI bug.It happened with my map, so I tried one of the default maps (you may notice I call "Gold Rush" in my command), and it still happens.I'm on Arch, the default binary packages of the distribution. On a 32-bit system. Quote Link to comment Share on other sites More sharing options...
Not a Spartan Posted December 29, 2012 Report Share Posted December 29, 2012 Hmm. It wasn't that way last version- as an Atlas junkie I used bots there a lot. Though it would get unbearably slow after a while with both sides at a stalemate, with units trapped behind other units and all that... Quote Link to comment Share on other sites More sharing options...
Almin Posted January 4, 2013 Report Share Posted January 4, 2013 Naaah, AI-Bot-Testing right from the console, where are you? I need it and don't know what to do! Quote Link to comment Share on other sites More sharing options...
quantumstate Posted January 4, 2013 Report Share Posted January 4, 2013 The bug should be fixed by revision 13044. Quote Link to comment Share on other sites More sharing options...
Almin Posted January 5, 2013 Report Share Posted January 5, 2013 The bug should be fixed by revision 13044.Indeed, you are great! Quote Link to comment Share on other sites More sharing options...
sanderd17 Posted January 5, 2013 Author Report Share Posted January 5, 2013 The bug should be fixed by revision 13044.great, thanks a lot. 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.