Shard 0.4/dev - Page 10

Shard 0.4/dev

Here is where ideas can be collected for the skirmish AI in development

Moderators: hoijui, Moderators

slogic
AI Developer
Posts: 626
Joined: 17 Mar 2008, 19:03

Re: Shard

Post by slogic » 15 Aug 2010, 11:33

Forboding Angel, here it is.

AF, don't ever put _full_ (with D:\...) build paths into config/project files if you're going to publish smth, please.

PS. I'm getting this in infolog.txt:

Code: Select all

[   2976] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.19099426269531
[   2991] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.16600036621094
[   3626] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.12699890136719
[   4166] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.22299957275391
[   5305] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.22599792480469
Each time this text is printed a small game slowdown occurred.
Attachments
SkirmishAI.zip
Shard 0.29 DLL for Spring 0.82.x
(252.78 KiB) Downloaded 20 times
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 15 Aug 2010, 21:38

the text is printed because the timer says Shard took too long.

Hoijui, you've been caught telling people that I am deliberately holding back and know how to fix cmake with Shard. Sure I could have looked again through the cmake files but its a build system I'm unfamiliar with.

Whatsmore stating that Im trying to do a double standard switch on linux is irresponsible and insulting. I have always maintained the line that I if made aware of an issue I will fix it if I know how, and try not to render the AI platform dependant, but that I only have the means to test and develop on one Operating system, and if someone wants to maintain linux support theyre welcome to.

Right now I don't even have the hard drive space for a Linux OS with a spring install, I'm struggling with an overloaded PSU and a C drive that has less than 1% free space while I use a 30GB ipod and FTP space to tide me over till I get a job.

When faced with the demands of an empty bank account and no foreseeable income and bills to pay, I do not think that spending several days juggling things around and getting spring downloaded built and tested with Shard and debugging things because 1 spring developer couldn't be arsed taking 10 lines of code and shoving them in the CPP Test AI to fix the AI <-> Gadget API, and would rather sit in my release thread and lobby channels telling me and my users Im too bored to bother, is a reasonable use of my time.
0 x

User avatar
hoijui
Former Engine Dev
Posts: 4342
Joined: 22 Sep 2007, 09:51

Re: Shard

Post by hoijui » 15 Aug 2010, 23:52

this story reminds me on an occasion where someone told me how to do spring source package releases.

it is not my duty to fix your AI, and what OS you do run or not is not my problem... or should not be, i feel. that you are a poor child with no time, money for rent or food does not change that fact.
if people come whining at me cause your AI is not working on linux, i will redirect them to you, as i did. you can tell your story to them, and they should accept it (and i guess they will).
if i feel like fixing this, i will do it. i do not feel like it now, and pretty sure neither will tomorrow. thing is, my mummy did not let me out to play with the other kids in summer, and ... long story short, i got issues with doing work in summer.
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 16 Aug 2010, 01:23

You've known I had this issue for a while, I even talked about the problem with you when you were trying out Shard on Linux after I put it up in github, why wait till now to reveal the 1 liner fix and paint me as a petulant child for admitting I didn't know what to do and prioritised other things?
0 x

User avatar
Forboding Angel
Evolution RTS Developer
Posts: 14550
Joined: 17 Nov 2005, 02:43

Re: Shard

Post by Forboding Angel » 16 Aug 2010, 09:08

slogic wrote:Forboding Angel, here it is.

AF, don't ever put _full_ (with D:\...) build paths into config/project files if you're going to publish smth, please.

PS. I'm getting this in infolog.txt:

Code: Select all

[   2976] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.19099426269531
[   2991] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.16600036621094
[   3626] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.12699890136719
[   4166] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.22299957275391
[   5305] <SkirmishAI: Shard dev (team 0)>: unithandler update time: 0.22599792480469
Each time this text is printed a small game slowdown occurred.
Thank you slogic!
0 x

slogic
AI Developer
Posts: 626
Joined: 17 Mar 2008, 19:03

Re: Shard

Post by slogic » 16 Aug 2010, 10:44

AF wrote:the text is printed because the timer says Shard took too long...
I understood this that time. I was hoping you'll fix this soon. By the way, i was playing BA.
0 x

User avatar
hoijui
Former Engine Dev
Posts: 4342
Joined: 22 Sep 2007, 09:51

Re: Shard

Post by hoijui » 16 Aug 2010, 13:49

shard on linux does not work, cause it uses springs Lua, instead of shards own -> not true, it only uses the engines Lua headers.
When setting it to use the Shard headers, it failed to compile or something (yes, i remember we have talked, i also remember that i did actually commit some fixes already. seems like you forgot the important outcomes of our talks). you said you changed some things when importing Lua sources, cause it did not compile for you, and might know what to do, and will do that later ... bla
(you have crippled Lua, basically, and to uncripple it for you -> again not my business)

stop totally out of reality drama reigning, k?

you all say is wrong. all is your wrong.
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 16 Aug 2010, 20:49

Nor do you it appears, I set up my visual studio files to use springs headers for lua and removed my own, the result was having to include a tonne of springs headers and then failing to compile because of streflop
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 24 Aug 2010, 22:36

Apologies on getting Shard out the door, my PSU on my main machine is driving me mad, having issues staying connected to wifi, and I just started a new job today =]
0 x

echoone
AI Developer
Posts: 150
Joined: 16 Nov 2009, 18:26

Re: Shard

Post by echoone » 25 Aug 2010, 06:11

AF wrote:I just started a new job today =]
Congrats!!! I know that was hanging heavy for you and must surely be a relief.
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 25 Aug 2010, 21:38

=) Im lucky lol, I reckon I will have time at the weekend for Shard, Im just adjusting to going back to a 9-5 routine again
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 30 Aug 2010, 23:49

If anyone has time to give feedback, ehres a replacement skirmishai.dll for Shard

http://darkstars.co.uk/ahem/ShardNewspringtest.rar
0 x

slogic
AI Developer
Posts: 626
Joined: 17 Mar 2008, 19:03

Re: Shard

Post by slogic » 31 Aug 2010, 12:12

Why aren't you updating info at github? It is very convenient to monitor changes.
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 31 Aug 2010, 19:40

Because a recompile using spring sources does not require any changes to github other than adding 1 file to the Visual Studio project which I forgot to commit and push with it being so late and having work the next day

Your lucky I got that file on to my FTP at all, my wifi & PSU issuesmean its a nightmare to do anything on this machine save for the odd times when things are quiet (eg when I'm asleep or at work ).

So be patient while I sort things out (and please, please, avoid moaning and groaning about source code and the like)
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 11 Sep 2010, 14:14

Success! I have a 30m LAN cable running up the side of my house and a brand new PSU!

Failure =( I had to remove the cpu fan to get the old PSU out and put a replacement in, only I need to sort out thermal paste as I get CPU Temp warnings when I try to enter BIOS/Boot
0 x

elias79
Posts: 57
Joined: 11 May 2008, 23:29

Re: Shard

Post by elias79 » 11 Sep 2010, 20:56

How do i prioritize the taskque ?
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 11 Sep 2010, 23:28

How do you mean? As in you want a unit to randomly pick one of 5 task queues or some other number but make them more likely to pick one? Or make sure the first task queue is always a specific task queue? Weights?

Instead of specifying the name of a task queue table, instead specify the name of a lua function that returns a task queue table. This gives you far more control, and lets you return different task queues depending on the current context, or just randomly.
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 13 Sep 2010, 00:17

0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 13 Sep 2010, 13:52

The next few versions of Shard I want to focus on the architecture and maintenance improvements. Things that won't so much affect its gameplay, but rather open up the possibilities in what can be scripted in the framework. It must be said I'm not doing a major rewrite NTai style, these changes are evolutionary and obvious additions.

0.31 Ballsey
Mid October-Mid November
  • A Shard logo
  • Basic Module support, think gadgets, so global systems that apply to multiple units. A simple but very useful structural change
0.32 Jolly Roger
December
  • Initial basic Load balancing architecture
  • Wordpress style action hooks and filters
I'm being conservative with what Im planning and when I deliver it, and I expect to add extra things as I go along.

I'll also be building a jquery style documentation setup on darkstars under the Shard project section. If I want people to make the most out of Shard they need to know the API methods, what the parameters are, and example usage. Not too hard, it's just time consuming, but I feel it has to be done if I'm to be a responsible developer.

I could do this within a week, but given my job and other commitments, I estimate this will take 3-4 months. Completion of the documentation of the API is unlikely to be complete by christmas due to additions, and will be an ongoing project.

Other ideas I'm weighing up for the feature expansion following the completion of the above include:
  • Unit Taxonomies
    Think about it this way, you have a weapons taxonomy with a list of 'flamers' a list of 'Artillery' and 'LRPC', then a type taxonomy with a list of 'vehicles' a list of 'kbots' a list of 'aircraft' etc or even a 'Canon' taxonomy with a list for 'fodder' and a list for 'command', and a list for 'heroes'
  • Water body detection
    No shipyards trapped in those ponds
  • Resource map APIs
    Heightmaps, metalmaps, etc
  • AI Option support
    Primarily for people working in Shard to add AI custom options for their games without it drawing in all the others
What do people think?
0 x

User avatar
AF
AI Developer
Posts: 20667
Joined: 14 Sep 2004, 11:32

Re: Shard

Post by AF » 13 Sep 2010, 23:32

Shard AI customisation for noobs

In Shard builders have task lists/build order lists. Shard starts at the beginning of a list, and works its way to the end skipping any it cant do, then repeats. Build orders are lists of unit names

Code: Select all

commanderlist = {
	"corsolar", -- build a solar
	"cormex", -- build a mex
	"cormex", -- then build a second mex
}
taskqueues = {
	corcom = commanderlist,
}
This is a list of things to build called commanderlist. At the end your telling Shard, that the 'corcom' unit type, is to follow the 'commanderlist' taskqueue. This will make a 'corcom' or core commander unit build a solar then 2 metal extractors over and over again.

That is all you need to know to get started. That inside:

<yourSpringfolder>\AI\Skirmish\Shard\0.3-Hairy\ai\<gameshortname>\taskqueues.lua

Shard will print out the 'shortname' in the console at startup if you don't already know it, and if the folder and file don't exist, just create a new folder and a new file and paste that in there.

For inspiration look in the other game folders to see what other people did.
0 x

Post Reply

Return to “AI”

cron