PS: I'm usually anti-spam, but what can I say. I'm anxious.
Skirmishment!
Moderator: Moderators
Skirmishment!
Hey, I haven't been able to get the code to compile at all. Is there any way somone could just put in a temporary "skirmish" mode that just randomly spawns low-level attack units occasionaly and sends them at the player? Just a thought; somthing easy to do.
PS: I'm usually anti-spam, but what can I say. I'm anxious.
PS: I'm usually anti-spam, but what can I say. I'm anxious.
Let me put it this way.
Napalm got the AI interface from SJ a few weeks ago before spring was released but it didnt have everythign eneded.
Working with the interface as it is there is no way to do a proper skirmish AI because there is no Building or construction interfaces available.
Now though we have source code. But Jouninkomiko is working on skirmish interface and AI etc. I think ti is best that The skirmish project underway use the official SY interfaces and not use a seperate fork from the Spring source with our own AI interface, nto to mention I have A levels soon and the others ahve other thgins so there's no room for such changes when an SY is doing them for us.
However when asked for information Jouninkomiko replied "you'll get it when everyone else gets it", which means that untill Jounin is finished I wont know what form the itnerface will take and what he intends on doing which is a problem that needs addressing. Untill then the skirmish AI as it stands will continue development, but leaving the bits we cant do out as pseudo code untill Jounin provides the necessary info to fill them in.
Untill then I will not be posting my AI thoughts on this forum, I've set aside somewhere else for me and the rest to collaborate on an invite only basis.
If you want to conribute PM and you'll be handed access but only if you have ideas or experience, and not simply to look and do nothing or moa that you dont have time to read everything
Napalm got the AI interface from SJ a few weeks ago before spring was released but it didnt have everythign eneded.
Working with the interface as it is there is no way to do a proper skirmish AI because there is no Building or construction interfaces available.
Now though we have source code. But Jouninkomiko is working on skirmish interface and AI etc. I think ti is best that The skirmish project underway use the official SY interfaces and not use a seperate fork from the Spring source with our own AI interface, nto to mention I have A levels soon and the others ahve other thgins so there's no room for such changes when an SY is doing them for us.
However when asked for information Jouninkomiko replied "you'll get it when everyone else gets it", which means that untill Jounin is finished I wont know what form the itnerface will take and what he intends on doing which is a problem that needs addressing. Untill then the skirmish AI as it stands will continue development, but leaving the bits we cant do out as pseudo code untill Jounin provides the necessary info to fill them in.
Untill then I will not be posting my AI thoughts on this forum, I've set aside somewhere else for me and the rest to collaborate on an invite only basis.
If you want to conribute PM and you'll be handed access but only if you have ideas or experience, and not simply to look and do nothing or moa that you dont have time to read everything
- [K.B.] Napalm Cobra
- Posts: 1222
- Joined: 16 Aug 2004, 06:15
-
Anonymous Joe
- Posts: 21
- Joined: 01 Nov 2004, 03:33
Ahhh... well I aought to start looking into that.
I think a .DLL baised Lua/Python engine would make an ideal choice.
(as in everyone who can read code can make their own AI...)
although I don't think much can be done atm, as springs code is still in flux.
a AI fork at this point would only hurt future development. so I'll wait for now.
I think a .DLL baised Lua/Python engine would make an ideal choice.
(as in everyone who can read code can make their own AI...)
although I don't think much can be done atm, as springs code is still in flux.
a AI fork at this point would only hurt future development. so I'll wait for now.
-
jouninkomiko
- Posts: 436
- Joined: 26 Aug 2004, 08:11
basically, the first job is to write an interface to spring for an AI to get information and make commands. here is where ideas are welcome, and if someone could compile ideas, that would be greatly appreciated. things im looking for are:
1. What information an AI should have access to
1a. Cheating based information (info a normal player wouldn't have access to)
1b. Non-cheating information
2. What kind of commands should it be able to make.
3. Helper functionality
The actual implementation can then be left to a coder writing the AI. the ideal would be to put a script engine on top of this interface so that people can simply write AI scripts and mess with their own AI creations. regardless, i want to try my hand at making an unbeatable, non-cheating AI.
1. What information an AI should have access to
1a. Cheating based information (info a normal player wouldn't have access to)
1b. Non-cheating information
2. What kind of commands should it be able to make.
3. Helper functionality
The actual implementation can then be left to a coder writing the AI. the ideal would be to put a script engine on top of this interface so that people can simply write AI scripts and mess with their own AI creations. regardless, i want to try my hand at making an unbeatable, non-cheating AI.
Jounin, we already have the AI callback interface for the dll's.
Make ti so that every unit built is autoadded and provide a method of accessing build queues, build menus and actually constructing things and we ahve everything for a basic AI to fill the gap in.
As for lua, people keep going on about it, POST EXAMPLES or at least a link to soemwhere where I can get a quick primer.
The dll's and the callback inplemented are already capable fo being 'helpers' though more informtion about building and commands would help that a lot aswell as the ability to change the GUI.
Triaxx and I both seem to have ideas and a general schema and numerous scribble of pseudocode and actual code for an AI that does NOT cheat. Such a thign would violate the 'Sun Tzu' objective
As for what commands it hould eb able to make. I demand full cotnrol fo every command that can be issued in the game to be included.
And making your own AI? Keep us posted on it as much as possible.
Make ti so that every unit built is autoadded and provide a method of accessing build queues, build menus and actually constructing things and we ahve everything for a basic AI to fill the gap in.
As for lua, people keep going on about it, POST EXAMPLES or at least a link to soemwhere where I can get a quick primer.
The dll's and the callback inplemented are already capable fo being 'helpers' though more informtion about building and commands would help that a lot aswell as the ability to change the GUI.
Triaxx and I both seem to have ideas and a general schema and numerous scribble of pseudocode and actual code for an AI that does NOT cheat. Such a thign would violate the 'Sun Tzu' objective
As for what commands it hould eb able to make. I demand full cotnrol fo every command that can be issued in the game to be included.
And making your own AI? Keep us posted on it as much as possible.
-
jouninkomiko
- Posts: 436
- Joined: 26 Aug 2004, 08:11
KOOL!
Yes! Go for it!jouninkomiko: i want to try my hand at making an unbeatable, non-cheating AI.
I'm mostly interested in creating AI helper for the player.
It would be really good to have a scripting language in which everyone could define their AI behaviour, but implementing the AI interface in C++ would be also OK.
The AI interface should make possible to define all-level AI behaviour, add new commands to GUI (like "Go to the nearest metal site and build Mex on it!), also new behaviour commands (like maneuver), communicate with other group AIs.
AI should be able to acess all non-cheating info a player could: it includes the number and position of dots on the radar, resources, metal patches locations, markers set by players (so you could draw an "avoid" marker, and your unit AI would avoid stepping into this territory!), and maybe also info on what you saw in the enemy's base(your peeper saw a Nuke building in enemy's base and your AI warns you that Antinuke is needed;)
AI should certainly have access to all possible commands in game, and it should be possible to create high level commands based on the low level commands.
Lastly the AI should be able to control units and build buildings based on the whole information a real player could gather. (Calculate how to get the resources up the fastest way, what units to build, where to put defences).
So go for creating a global AI interface in C++ first with methods to access to GUI commands, game info, defining AI behaviours and creating new commands.
It's great jouninkomiko and others are working on this topic, I already see a great and customizable deadly AI being born
Well
Well I looked through the code, GroupAI and AICallback methods and have to say that it's quite possible to create a global helper AI but:
1)What happens if I select a group inside my global helper AI and assign it a second AI? Will it automatically depend only on the second AI?
2)AICallback provides only very basic methods and doesn't provide a way for AI to actually build stuff (code for that could be copied from another place but I'm lazy...), though autoadding new units to AI and acessing build ques should be easy.
Also I would like a method for acessing marker info (pos), adding totaly new commands to GUI, and having GUI commands available when none units are selected.
3)I wonder, does
gets all enemy units in your LOS? What about radar?
I'll do some experimenting but mostly I think I'll wait a bit for jouninkomiko to write a more extended AIcallback interface with more methods for the global AI, as he should know the Spring code better;)
AND AI battles would indeed be cool- Programmer's minds batlles;)
1)What happens if I select a group inside my global helper AI and assign it a second AI? Will it automatically depend only on the second AI?
2)AICallback provides only very basic methods and doesn't provide a way for AI to actually build stuff (code for that could be copied from another place but I'm lazy...), though autoadding new units to AI and acessing build ques should be easy.
Also I would like a method for acessing marker info (pos), adding totaly new commands to GUI, and having GUI commands available when none units are selected.
3)I wonder, does
Code: Select all
GetEnemyUnits(int *units)=0; //returns all known enemy unitsI'll do some experimenting but mostly I think I'll wait a bit for jouninkomiko to write a more extended AIcallback interface with more methods for the global AI, as he should know the Spring code better;)
AND AI battles would indeed be cool- Programmer's minds batlles;)
-
jouninkomiko
- Posts: 436
- Joined: 26 Aug 2004, 08:11
- [K.B.] Napalm Cobra
- Posts: 1222
- Joined: 16 Aug 2004, 06:15
