I watched it play CA, it tries to cover map with random mix of structures, bulilds factories with blocked entrances and keeps units sitting idle around.
Carpet mix consist of HLT, defenders, winds and other things - it builds it everywhere, i saw this mix extend from water to steep hills around :)
Because this mix also contains pylons, it sometimes manages to connect mex.
Its a crude means but yes thats how pylons in kerrs current shard work. Thats not to say Kerr couldnt write pylon placement code in Shard.
I'd also mention that latest shard has modified minimum distancing code, after I noticed it built things way too close together in evo, resulting in as you said, the factory opening blockage issue
Cool an AI that works. Just played a game of BA against it, it surprised me that it actually did stuff instead of just being idle the whole game, spamming Solars and Jethro or making labs everywhere.
I'm willing to help you as much as you like from a players perspective to help you to make this AI 1337 in terms of BA.
I know nothing of AI coding, but I can at least express a few simple formulas I think a good AI should follow for BA.
Here's one messy diagram I threw together for just a small particular example:
Azaremoth has sent me a pm with updates for The Cursed, and thanks Jazcash, that little diagram should have been posted a long time ago!
As for morphing, (as asked by a few), Shard does not natively support morphing at the moment, BUT this can easily be added in overrides.
How would this be added?
Shard supports communication with lua gadgets via a callout named SendToContent (I think, but its something that sounds like that, refer to api.lua). Thus, one can communicate directly with the morphing gadget using it!!
Code:
local replyString = game:SendToContent("OHAI DER, JOO CAN HAS MESSAGE, JOO IS GADGET YAH? O RLY?")
So far Im unaware of the measures and steps necessary to contact the morphing gadget, especially since the CA gadget doesnt have the necessary callins implemented to react to AI queries. That and there are various implementations that do it differently from CA.
Also if you're using that api method, refer to class.lua where I have included a handy helper method to serialize a lua table, so implementing a SendTableToContent() should be easy, and will probably be done in class.lua in the next release if I can remember.
If anybody needs examples, refer to the bundled overrides, or if anybody has any improvements, feel free to send me the new versions so long as you tell me what you changed so that I can document and reference it in my report correctly.
Sorry, I went for that lay down and fell asleep and woke up with the most horrible head cold, Im dosed up on paracetamol now. Ill sort out a quick release in an hour or two.
Most notably, I've added a behaviours.lua so that adding new behaviours doesn't require overriding the entire behaviour factory, or endless if else statements per unit.
That and I modified attack behaviour as it wasnt erroring but it wasnt attacking either.
That and a tonne of other changes and API additions
On the bright side, it didn't crash, and instead of staying idle, it build some stuff, including two sockets, kept all factories busy, and tried to attack. Which is way better than the vast majority of Spring's AI.
On the greyer side:
KP shortname is not anymore KP.n, just KP now.
Any way to make Shard keep quiet? As a user I don't need to be told ten times a second the AI found a function.
The Shard AI build two sockets fairly quickly, then it let assemblers idle for the rest of the game. Needless to say, it lost the match.
You're going to hate me for not being more specific, but I felt the CPU drain was huge, despite the low unit count.
I tried with Network and Shard did nothing. I looked into the .lua configs and saw only tasklists for System and Hacker faction. I know I wrote support for every faction (even some hidden ones) in my NTai config. Here's it in case you missed it: http://pastebin.org/139838 Btw, do you have automated tools to convert NTai's tdf into Shard's lua, or must it be done by hand?
Can I configure Shard to tell it to use custom commands when using some units? Would help with KP's Network's dispatch, but would also help with the morphing support that was mentionned few posts ago: Instead of requesting every morphing gadget to be modified to add a new interface specifically for your Shard AI, the AI should be able to issue any custom command, and so it'd morph using the same interfacing as a player.
So, overall, Shard's not as good as NTai. Then NTai was broken most of the times. But when it wasn't, NTai could play KP pretty well, including beating KP's Lua AI. Shard's not there yet. Then I don't know, maybe a couple bugfixes and it will? Or if you feel my post is too negative, then I could just shut up and ignore Shard altogether. Having more AI able to play KP would be nice, but I don't need it as desperatly now.
Edit: Ported KP 4.0 NTai XE10.1 config to Shard, but I still need a way to issue custom commands in taskqueues.
Eh I'm sorry but your going to have to go down the modifying gadget route. Being able to assemble commands from scratch would be a rather large implementation detail to have to account for which would then need to be explained in the write up, and so onandon etc etc
I've a version with a tonne of debug messages removed, and Ill look into the other problems after I've had some sleep.
And there's no conversion utility, I converted them by hand!
It's like Shard is shy and only build on datavents close to already built ones, and would rather let cons idle than move them to unclaimed far datavents.
Attached below are more complete KP configs, to be put into \AI\Skirmish\Shard\0.21\ai\KP\
Joined: 17 Nov 2005, 02:43 Location: Raegquitting Spring on 04/24/12
The orb is still reclaiming everything in sight as of the latest dev build that I got. I have removed ally reclaiming again (the way it was for a loooong time until I tried to help the orbs in shard out a bit -- failed miserably), so at least now they won't be reclaiming my units. However, I would recommend figuring out a way for shard to figure out if something is a unit or a feature, and only reclaim features.
Additionally, units should be given a move order a little ways away from the factory before being assigned any tasks. The reason for this is that orbs for example, get created and don't move, thereby blocking the factory so that it cannot build.
Users browsing this forum: Google [Bot] and 0 guests
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum