-
Posts
79 -
Joined
-
Last visited
-
Days Won
1
Posts posted by lexa
-
-
Ok, I got it: something went wrong when I packaged the file
Now it is ok
Sorry for this
-
Hi
Thank you for the test
The warnings are ok, I'll check it later, it is due to javascript strict mode and I should fix each error by hand
The error is a problem and I do not have this at home
Can you try wirth the latest release of 0ad ?
-
Here is the link to download the Split Bot alpha1
-
hey guys
maybe you could check it out, because the bot has beat me last time!
it does not build strong warriors or machines yet, but still is very quick to build an army and attack :-o
-
Ok, great tips guys !
Thanks
-
Hello
I am about to release the 1st alpha version of the SplitBot AI bot, in haxe here
It beats the other bots with 100% success (I tried about 5 times with each bot), but in fact the defense and attack are not implemented for now. It builds a decent village very quickly and grows a population of 200 workers before sending all "men" to the nearest enemy...
And now I have a question: is it possible to accelerate time for testing the bot? I do not need the rendering during the "acceleration"..
Thank you all,
lexa.
-
Hello
Just to let youknow that I am almost at the alpha1 and the bot seems to win against JuBot and RootBot together
I still have several things to package and optimize before the alpha1, see SplitBot short term road map for more details
-
So far no changes to the scripting API that I'm aware of. For a rough date see: http://trac.wildfiregames.com/roadmap
Great, thank you!
(joke)So you are not angry against me anymore? Remember I defeated you a few months ago!
I am working on a script debugger, but it turned out to be a HUGE task. I am still shooting for inclusion in Alpha 7, but it could possibly slip to Alpha 8. It will allow you to step through the AI scripts and look at variables, set breakpoints and watchpoints, etc. Standard debugger stuff.
This seems very interesting to me!!! That would have ease my work a lot
I felt like I almost had to reverse engineer some classes and types... And the debugging is a pain, but that is usual in js...
You do this in C++ right?
-
@Lexa Did you see our behaviour tree? I hope you can use some of our code so you don't have to start over
Thanks, I'll look at it closely.
I hope we will be able to do bot battles also
We do plan on finishing ours, so it hopefully will be finished before Alpha 7
Ah ok... Do you know if there are changes in the scripting API in th alpha 7 ? And when it is planned to be ready ?
-
Hello
Thank you very much for your encouragement. Back from vacation and back to 0ad.
I am not sure about the decision tree yet, I have several ideas which I am testing... Anyway, I have a clean fully typed classes which map all the classes and objects of the common api (externs in haxe)
I let you know when I have something serious to play with
Bye!
-
if (pop limit reached) -> build houses
if (need workers) -> create more workers
if (need resources) -> if (need food) -> if (domestic animal near) -> hunt
-> if (fruit tree near) -> forage
-> if (farm near) -> farm
-> else -> build farm
-> else -> if (resource site near) -> gather
-> else -> build dropsite
if (idle workers) -> give orders
else -> balance economy for higher level plansAlthough there may be a reason why the tree was arranged that way, this is just a programmer's point of view, and not an AI designer's
Hey, this is good, I take it for my bot
If you have other "trees" like that, please do not hesitate to add them here, we discuss it and I will implement it soon since I have all the structure almost set for my bot
http://code.google.com/p/split-bot/wiki/Behaviors
I will test the RootBot tonight
Bye!
-
Hi
Thank you very much for these tips! It seems ok to me the common-api for now... So far there is only one bug whoch is bothering me http://trac.wildfiregames.com/ticket/897
I would be glad to help improving it. I believe, the haxe "extern" classes are at least a fully typed version of the api. It is easyier to understand I guess.
http://code.google.com/p/split-bot/source/browse/#svn%2Ftrunk%2Fsrc%2Forg%2Fzeroad%2Fcommon_api
I will keep you informed, bye!
-
Hi gudo, thank you for your interest
If you want my two cents, I'd suggest avoiding modifying the common API files (common-api/base.js class.js, etc) You see, there's no way to be sure that your changes will make it into the source. There's a ton of problems with this. Mainly the risk that your changes will break other bots and incompatibility with other common-api changing bots (RootBot for example.)
I did not modify it, I did haXe extern classes, which is like an import at runtime, but it gives you auto completion and type checking.
Note though, those common-api's could still use a bit of development. If you want to make changes to the source, go ahead and register on trac and submit a ticket/patch.
I just did!
There is a mistake in the common api I think: http://trac.wildfire....com/ticket/897
Are there any pre-compiled files that I could just throw into my install so I can try your bot out?
It is just a bit too early, for now it only traces some data...
Thank you for your advice, bye!
And my question remains:
Do you know a place where these javascript classes are documented?
- Template
- State
- Player
- Map
-
Hi
Thank you for your answer
I am very happy with haxe. It is really something you know...
And I already have an AI Bot running. So now is the part where I am trying to look into Entity objects, I make them move or build and when I'll be comfortable, this will be the time to implement my logic!
Bye!
-
I feel a bit lonely here...
But here is the google code project for my AI Bot, which I have called the Split Bot, read the description to understand why.
I choose to develop in haXe which is a very structured language which can be "compiled" in javascript code.
Here are the javascript common-api classes in haXe :
http://code.google.com/p/split-bot/source/browse/#svn%2Ftrunk%2Fsrc%2Forg%2Fzeroad%2Fcommon_api
These are haXe "extern"s which will link to the actual javascript classes of 0 A.D. at runtime.
-
For example, how to access these methods and structures from javascript
- Player http://svn.wildfiregames.com/docs/classCCmpPlayerScripted.html
- Entity data struct http://svn.wildfiregames.com/docs/structEntityData.html
- Entity struct http://svn.wildfiregames.com/docs/structEntity.html
- Position http://svn.wildfiregames.com/docs/classICmpPosition.html
- distance ordering filter http://svn.wildfiregames.com/docs/structEntityDistanceOrdering.html
- Visual element http://svn.wildfiregames.com/docs/classICmpVisual.html
-
Hi
I try to make my 1st contribution in AI scripting.
- Would you have some tips and tricks? Especially for testing, reproducing scenarios?
- I am looking for more examples of use of all the methods of the Entity class
- And like to know more about the difference of the methods Entity:setMetaData and the methods like Entity::move
Thank you in advance,
Bye
-
Hi
I try to make my 1st contribution in AI scripting.
Would you have some tips and tricks? Especially for testing, reproducing scenarios?
And any clue about where to find the up to date API for javascript scripting? I still looking for all the methods of the Entity class, like move or setMetaData...
Thank you in advance,
Bye
Ai Bot
in Game Development & Technical Discussion
Posted
Héhéhé, I told you it was a nasty bot... I am not sure that you would have ended dead or not, but I think so because once it attacks you, it never stops building new units and sending them by group...
Anyway you are better than me because I can not keep my unit count above the AI's one
For the lag, I have a plan.
There will be another Agent class which is the AttackerAgent. The bot it will split in several attacker agents - that is why the bot is called Split Bot, it splits in many Agents, and each attacker will have something like 10 units. That is how we can avoid what happens now, which is an order to attack one building or go to one position, given to 150 units.
Thank you for the test