Jump to content

lexa

Community Members
  • Posts

    79
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by lexa

  1. Hi,

    I open this thread because 2 interesting questions came out of discussions about Split Bot, which are more about AIs in general

    Out of interest, how does it compare to qBot and Jubot?

    and

    Just did some testing, and SplitBot is the "best" of the bots. Despite a whole bunch of building placement crazyness that causes it to waste considerable time, it still grows in population faster than the other bots, builds siege sooner and attacks in larger waves.

    Though an interesting idea occurred to me, perhaps it grows so fast because it builds slowly. Sure, it wastes resources when it puts the foundation down, but that blocks the builder agent from building and placing more buildings, freeing up more resources for spawning units. Plus, it gets those resources right back when it cancels the stuck structure. Essentially, the delay in building means an acceleration in spawning.

    So, AI developers and others, what do you think ?
  2. Hello

    Thank you for your comments.

    Though an interesting idea occurred to me, perhaps it grows so fast because it builds slowly. Sure, it wastes resources when it puts the foundation down, but that blocks the builder agent from building and placing more buildings, freeing up more resources for spawning units. Plus, it gets those resources right back when it cancels the stuck structure. Essentially, the delay in building means an acceleration in spawning.

    Edit: I was playing some more 4 way FFA, when SplitBot started throwing errors.

    I'll chek the problem with the error messages.... I opened an issue here.

    For the "theory" about building slowly, I have made several tests, and it seams that it is even faster when it builds faster, because of the max pop count. We should open a thread about AI strategy, don't you think?

    I can't get Splitbot to attack me. I simulated many battles and no attacks in 20 minutes. I am not attacking it. It builds base quite quickly and has much workers. Of course building placement bug slows it down a little. I am playing on build 10359 and alpha3 release of SplitBot.

    arghthank you for the bug report, I have opened an issue here

    but if i see this right... the split alpha 3 still does not work on the territorial system of alpha 7 G, right?

    i tried the new version and the bot does not build up anything ... ;(

    still,

    keep up the great work

    Hmmm, not normal, it is supposed to work... Can you tell me more about your version of the game?

  3. Ok, thank you for your answer, I'll try to figure out what to do...

    meanwhile, I just reached the alpha3 stage. I still have this bug in the svn version, with the structures which builds at a wrong place sometime...

    In the stable version of the game, the bot starts to be really good. At least it is better than me :)

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

    == Development status ==

    Currently the bot builds a village quickly, defends itself and attacks in teams, but do not split yet.

    Split Bot builds strong soldiers, and attacks in waves of 15 soldiers.

    The defense is quite efficient since it does detect that it is under attack, and counter-attacks. It also builds defense towers.

    See RoadMap and ToDoList for more info.

    == change log ==

    * I would recommend that the buildings all face the bottom right corner.

    * defend when attacked

    * handle fortress and machines

    * higher limit to stop attacking

    * cleanup debug and messages

    * cartesian's structures (to be tested)

    == Use ==

    Paste SplitBot.js and data.json to 0 A.D./binaries/data/mods/public/simulation/ai/splitbot/

    And choose "AI - Split Bot" as the AI of your oponent

  4. Oh ninja'd. I was getting a screencap of this. But yeah, try a constant orientation. I believe the angle that Mythos recommends and Jubot uses is 3/4*pi (.75pi).

    Ok, I did this. It looks cleaner :)

    In my previous post I was trying to say that the rounding problem can move the position literally halfway across the map (in the horizontal direction). Could you try this fix:


    var scaledX:Int = Math.round(x / MapHelper.TILE_SIZE);
    var scaledY:Int = Math.round(y / MapHelper.TILE_SIZE);
    var position1D:Int = scaledX + MapHelper.map.width * scaledY;

    In MapHelper.hx line 138.

    Yeah !! This is much much better..

    Still I do not understand how it is possible that the case in the attached screen shot can happen

    The isObstructed method should have returned true... Instead it returned false, the bot started to build and failed after a while.

    Can you explain me?

    post-12863-0-93889900-1317328109_thumb.p

  5. Hello

    Thank you for these clues

    But I guess the error comes from somewhere else

    - the bot has all buildings with an angle of 0

    - the error I see is much much bigger than an approximation, since it is allowed to build (but not finish, only the foundations) over the civic center - see the attached screenshot (look closely, there are 2 different foundations under the CC)

    - it did not do that with alpha 6

    Still I will look in that direction, adding a 5th point (the center) . Do you think it is a good idea ?

    PS : I worked on the defense tonight and now SplitBot detects when it is under attack :) I also got rid of this "field building craziness"

  6. Splitbot, for some reason or another, places foundations in locations where they can't actually be constructed (i.e. trying to build a house that is half inside a stone mine.) I think SplitBot may not actually consult the collision map when deciding where to place structures.

    Yes it does consult the collision map. Look at the MapHelper::isObstructed method, it checks the obstruction for the 4 corners of the building.

    I suspect that this is because with the new house building logic jubot now tries to build multiple buildings per turn. With qBot I found that when you try and do this, because the build commands are not instantly executed the new foundation doesn't affect the obstruction map (since the foundation doesn't exist yet) so the building placement puts another on top of it. The easiest fix is to just limit your AI to one building placement per turn which works fine since you couldn't build that fast.

    I am afraid it is not a problem of timing because I even saw it building a field over the CC !

  7. Interesting. I don't think the current AIs use that array which may explain why we haven't noticed this.

    It's a short-term hack to make AI usable until they and the interface can be rewritten :) The alternative was no AI or let the game be extremely slow when they repeatedly fail to build without knowing it (as I understand, they would send a "construct" message and hope that it works).

    Do you think I should/could open a ticket for this ?

  8. lexa have you managed to work out either of the problems you listed above? Sorry we've been a little busy releasing the new alpha :)

    No I did not. I opened a bug for the 1st one in track

    I don't understand, are you saying the CC doesn't train your unit?

    No, I am saying ir does train units normally, but the trainingQueue array behaves differently and has a strange behavior.

    The obstruction map shouldn't be any different, but building restrictions are too advanced now for the AIs to understand given the information they have, especially since we added territories. So yes the build restrictions are disabled for AI players, but they wouldn't have any way to know even if they weren't. This is one of the reasons why I hope we completely overhaul the AI system.

    wow, this is weird, you disabled the build restrictions ?!

    I do not understand this

    - "are too advanced now for the AIs to understand"

    - "but they wouldn't have any way to know even if they weren't"

  9. Hi Gamers !

    Now I have the svn version of the game and I have some strange behaviour wacko.gif

    But first let me tell you that I like very much what I saw, I will comment on other thread !!! banana.gif

    So the 1st problem I have is with the civic center trainingQueue, wich starts empty, then I fill it up with 1 entity to build, and it never gets empty anymore. I have traced the element 0 in the queue and it has a progress property which is always 0 during the training of the unit and then it goes straight to a number close to 1.

    The 2nd problem is with the obstruction map. It seems my bot can build anywhere, even over an existing building. Did you change something ?

    Tell me if I should report this somewhere, or is it the right place ?

  10. 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 :)

  11. 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

  12. 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

×
×
  • Create New...