knorke wrote:the entire affair can be conducted with a copy of 7zip and a text editor
Thats like saying all you need to build a space shuttle is metal, some wires and a screwdriver...
modify CT so that a gadget responds with the necessary information ( or executes the desired action ).
Not much modifying required, if any at all.
(At least I don't remember anybody saying "this needs to be added.", imo CT is ai-playable if somebody bothers to try)
The two main problems to make CT playable by AI
are: 1) morphing cruisers & 2) mining.
1) The morph gadget is already useable by AIs. (at least there is some AICallin() thing and afaik its some custom command which AIs can already send anyway.)
Would need logic as when and where to use cruisers as factories and when to use them as fighting units.
There are some other units that can morph between two forms (ie flak truck) but thats not necessarily needed.
2) Mining is just building miners and then
doing nothing or giving them a command
once to start mining. (vs sending them back to the rocks when they want to go to the dropoff, like shard/other AIs currently seem to do)
Next stop would be a logic where to mine, where to place new dropoff depots, when to momentary move miners out of the way of attacks etc.
Not so easy imo, surely not as trivial as "make mex on all free spots."
The only other Lua thing are jumpjets but only ~3 units have them.
The drones faction would probally be simpler to make an AI with btw.
tl;dr:
yanom: to avoid confusion...are you even interessted in AI making or do you just want to play?

AF: if anybody was to ever to make shard play ct, it would most likely be you.
Building Miners and making them do nothing
I have explained on these forums more than once how to do that.
- Make a new behaviour that does absolutely nothing.
- Assign it to the miners
- Tell builders to build miners
- Load game
Morph
Your implementation of morphing isnt th eonly one out there, nor does it provide a way of telling the AI if A can morph or not, and if it will morph into B C or D.
But having said that, if one off morphing of a single unit is all that's needed then:
Code: Select all
game:sendtocontent("ok morph that command cruiser now please")
And since there's an AICallin thing then that's your job made even easier. Make a behaviour, assign it to the cruisers, and make it send a message in the first frame, hey presto.
Tools
7Zip is to extract the game files and repackage them. A tetx editor is to modify the lua code.
You do not need anything more, and fi what you have told me about the AI Callin is correct, then you don't even need 7zip.
I'm not going to be able to hold your hand, and while I can help on the Shard side, I don't know the intimate details of your game, and to expect me to is unrealistic. The days of an AI programmer knowing the full scope of the domain is over unless you want hefty specialisation.
It doesn't matter if the AI is C++/Java/lua/Python/Lua widget, game developer involvement is necessary.
What strikes me is that your willing to have a go at me for saying a text editor is all that's needed, when your admitting there's an AICallin that I was not aware of. As far as I knew, I and oksnoop looked into it but he didn't know what to do and I didn't have enough time to investigate myself.
So as the core developer, I am telling you:
- This is not a complicated thing to do
- Shard was designed for this to be easy
- Shards entire goal was to be easy to extend
- Since Shards release I have made this even easier
- Shard itself is small and light, and is probably dwarfed by the code you've written in gadgets
If you dig back Im sure I even posted an example of a NullBehaviour that did nothing ( or maybe it was just sendign hello world to the console, or maybe I sent it in a pastebin message to oksnoop ).
I went to great lengths to make sure that the worst case scenario was my C++ portion failing to compile, and if that happened, it would be very easy to fix as its merely a wrapper, something that any C++ developer here of novice ability could fix easily, and something the engine developers do already for the old AIs.
There is no AI logic of any kind in the C++ portion, and the logic in the lua portion is not dependant on it for structure, and can be ported to a completely different engine if needs be with no changes. I know I'm not going to be here forever, and I know that no single AI developer could ever fulfill the demands of an entire community as it stands today.
Put quite simply, you expect me to do all the work given a nod int eh right direction, when you could have had it all done months ago if a barely competent lua coder had spent 30 minutes.