alright well. good points made. ill try to clarify what i mean. really, all im doing at this point is brainstorming possibilities.
-
my first reason for an external config file that was someone mentioned that some values simply cant be found/calculated anywhere in the game, and so AI usually doesnt use them. i figured, if we want a really smart AI, it SHOULD use them, and if the only way to do so is to simply tell them to it, then so be it.
the next reason is that you can change the way the AI acts without recompiling. ALSO, if you stored actual game rules such as how much of an effect a certain building has, or other things that are subject to change, then if that ever changes in a patch, you can reflect that change in the config file, and not have to recompile at all. ive heard from some people that having to re-make your AI every version can be very annoying and restricting.
the final advantage i saw of an external config file was configurability. potentially, this could let the user configure the AI very accurately to play however they wanted it to play. i see this only as an advantage. i can think of several ways of implimenting this, using priorities and/or personalities as i mentioned before. it is just an idea at the moment of course. i did forget certain things (such as building maintenance costs), because i was just focused on getting the idea across, to see if people thought it might work. if it seems like a good possibility, then ill go into more detail and start thinking about how it actually will work.
by the way, i was implying that this be used in conjunction with situational-awareness. for things like barracks as i mentioned, it was fairly simple, just a preset value, then modified by situational things like enemy units. for things like a library, you would first have to calculate the benefit of it, based on the effect it would have, then modify that benefit taking into acount the priorities/personality of the AI, and THEN modify that, taking into account other factors like enemy units, to figure out whether it really is worth building a library. so the end result is taken from situational calculations within the ai, but also taking into account things expressed in the external configuration.
--
i guess the point im getting at is that even if this kind of thing is alot of extra work and the file ends up being several pages long, listing all sorts of different data, im perfectly happy to do it all, if it means that the AI will be BETTER.
i dont really know how its coded into the AI because ive never done it before, so im only postulating, i dont know how much of what ive mentioned is possible. if theres anything ive mentioned that simply cant be done, then point it out.
hopefully that clarifies things.
on another note, we have a forum on sourceforge.net now, perhaps we should migrate there?
Posted 5-Nov-05 03:19 by Dragonfly
