![]() |
An AI question for a Dev
Since I've been talking about this so much I'd like to know if its even remotely feasable for you to do.
I'm talking about externalizing AI inputs and responses into text editable tables. This would allow Users to make tweeks and changes to try and build a better mousetrap... MoO3 did this extensively (if you have any knowledge of MoO3 that is). I think SEIV also allows for some form of this, and even SMAC and probably the CIVs let certain 'traits' be modified in text files, though I'm not sure how much impact they had on the AI. If you've been following the long AI thread you probably know better what I'm talking about, I've babbled about it in other threads as well http://forum.shrapnelgames.com/images/icons/icon7.gif |
Re: An AI question for a Dev
licker you think that the devs will care about the AI at all? I tend to think, that they are totally ignoring this topic. http://forum.shrapnelgames.com/images/icons/icon9.gif
|
Re: An AI question for a Dev
Quote:
|
Re: An AI question for a Dev
Quote:
One of the Devs has stated they are reading the threads and *are* looking for specific complaints and specific suggestions about how to improve the AI. So it is actually in their mind. If you want to get an improved AI, you might want to offer some constructive insights instead of *demanding* replies. If you're not part of the solution, you're part of the problem. von Schmidt |
Re: An AI question for a Dev
And you should keep in mind programming an efficient AI is said to be hard (and annoying as well, but I never tried my hand at doing such a thing) I don't believe there are ten people who only deal with the AI at Illwinter either. (It would be more like one who does other things as well) And a developer asked for input on the AI thread, about the problem of forts at the very least. (It is only my opinion, but I would also believe the full game is needed to have a clearer view of the AI)
To the topic, allowing people to tweak the behaviour of the AI (like in SEIV, where you can change the build priorities, reseach priorities, designs used by the AI among other things) would be nice, if it can be done without too much problem with quite comprehensible files. (When you do know how to tinker with AIs that is) That would also depend on who would like to tweak AIs. (and maybe who is able to do so as well. http://forum.shrapnelgames.com/images/icons/icon12.gif ) |
Re: An AI question for a Dev
Quote:
One of the Devs has stated they are reading the threads and *are* looking for specific complaints and specific suggestions about how to improve the AI. So it is actually in their mind. If you want to get an improved AI, you might want to offer some constructive insights instead of *demanding* replies. If you're not part of the solution, you're part of the problem. von Schmidt </font><hr /></blockquote><font size="2" face="sans-serif, arial, verdana">Actually there are lot of suggestions about the AI, and those suggestions ARE all good. All of those are about valid AI problems. I can understand if DFan is pissed, the devs made like 1 comment in that huge thread. </font><hr /></blockquote><font size="2" face="sans-serif, arial, verdana">What annoys me about DFan is: 1. His attitude: as if he has already bought and played the game, but there is a show-stopping bug which is completely ignored by the devs. Which is not the case. 2. Attitude2: as if the devs have a contractual obligation to actually react to each suggestion with indepth analysis. Give them some time to think and collect several ideas! 3. Posting habits: in how many threads has he now reiterated that the devs seem to ignore the AI? 4. Tone: that of a child demanding attention RIGHT NOW. I do agree that the AI issues and suggestions seem to be quite valid. But cut the devs some slack; that's all I'm saying. Especially since they seem quite reachable, open to suggestions and willing to make changes - defintely compared to 95% of the other game devs/companies out there. Cheers, von Schmidt |
Re: An AI question for a Dev
Quote:
|
Re: An AI question for a Dev
Children children... http://forum.shrapnelgames.com/images/icons/icon12.gif
Thanks for the post Kris, I hope that you are able to figure out some way to externalize some parameters without having to do too much new work. Anyway, the seed has now been planted, and maybe taken root in your mind, so for the next project perhaps you'll look in this direction. I think its a good direction to move in as it allows you to pull in the resources of the fan base for getting better settings. And the best thing is that at some point you can use different settings to actually make Easy, Normal, Difficult, Impossible, actually have more differences than just more or fewer resources for the computer players http://forum.shrapnelgames.com/images/icons/icon7.gif |
Re: An AI question for a Dev
I have taken a hand in externalizing AI. In a MUD game (which is a freely available option Id highly recomend to anyone interested) but the particulars would be much the same. I love games that provide it and do believe it would do much toward increasing the lifespan of this game. Im not sure how likely it would be to add it though.
The first thing needed would be recognizable tags for everything the AI would "see" and do. If those are not already in the game (which I dont know) then there would be ALOT of programming to put them in. If we pick one of the AI suggestions we could discuss it further as far as what info would have to be made avaiable, what actions would have to be made available, etc. |
Re: An AI question for a Dev
Ok, lets pick 'army composition' as the element to externalize. Lets ignore commanders and summons for now, focus just on balances with recruitable units.
First lets assume that the AI has a composite picture of its current nation every turn, that would be tresury, income, upkeep, resources (gotta break this one up a bit to capital, forts, and other) and existing army composition. Now the AI would have to have some default setting (this is the externalized part) that defines what ratio of different unit types it should strive for. This is further complicated by how many armies the AI will have, but lets just look at the national picture and worry about creating the armies later. So you would have a weighted list of unit types (could be all units in the game, but that seems like overkill). So to do this in a simple way... Militia LI LI-ranged MI MI-ranged HI HI-ranged Archers (short, long, comp, xbow) LC LC-ranged HC HC-ranged (does that even exist?) Flyers (perhaps light and heavy? how many differnet flyers are there outside of caelum) Aquatics would have a different list, but lets stick to the land for the time being. So from the above list of units types a check is made to see if the nation even has the posibility to recruit the unit type, followd by the amount of available resources to spend on each unit type. Then some algorythem dependant on other settings (national preferences, AI personalities, counter needs, ...) is applied and the existing %s are modified to new values (or left unchanged as needed). Finally, units are ordered to fit the new %s. That's how I'd probably approach army compostion anyway. Realize this is only part of the overall package, the location of the units recruitment and the recruitment of commanders would also have to be factored in somehow, but that should happen in another matrix I think, though the matricies should be tied together through the controling algorythem(s) that affect them. |
Re: An AI question for a Dev
Not bad. Not bad at all. You went a different direction than I thought you would. I must admit that I expected to do alot of "AH HA! but look at this" Posts but you cut me off.
So rather than a full scripting language with if-this then-this triggers and responses, you are looking more for external variables? Allowing the game to do the recognition and math? OK for troops that can work. And although I can see alot of "the AI did a stupid thing" it might also provide some intelligent moves. So how would you set the parameters for Ulm? |
Re: An AI question for a Dev
Quote:
I think that if the game is keeping track of all the information anyway, the AI might as well use it with some rules (the algorythems I speak of) to make 'better' decisions as to how to spend its resources. I admit this doesn't make the AI better strategically necessarilly, but it makes the AI have a better rounded (or focused) nation to use. I'm loathe to actually try and do this for any nation, as I am really quite new to Dominions, I was hoping that some of you vets, who know what works for you, would take a crack at it, then I can try to fill in the cracks or elaborate on the driving algorythems. But since you asked... First you have to determine what kind of pretender Ulm will have, and you have to decide on the theme. If we are using the 'personalities' that has to be taken into consideration as well. Anyway, Ulms strength would either be in its HI or blessed Knights (depending on pretneder). So I'd set up a generic table with 20% xbow, 20% LI/Militia 40% HI, and 20% HC. The numbers would then be effected on a per turn basis (not drasticly) as Ulm expands and the gold/resource ratio changes. The specific units within a class should probably be an equal mixture (for Ulm since the differnces arn't great). Those specific units (flail v. axe) can have their weights adjusted later on when (and or if) enemy forces are also considered. That's crude, and I'm no expert (especially not with Ulm), but does it give a decent example of what I'm after? I think you'd do better to set one up yourself and let me ask questions and comment on it http://forum.shrapnelgames.com/images/icons/icon7.gif |
Re: An AI question for a Dev
My $.02:
I don't know anything about the programming end of the AIs. Having said that -- I think it would be a good idea to enable a set of likes/dislikes, or attack priorities, for the AI players. For instance, Marignon should always attack Ermor in preference to any other neighbor. Abysia and Jotunheim would seem natural enemies, as well. Alliances between "enemy" nations would be disallowed. To extend this thought further -- nations that have similar requirements, Abysia/Machaka and Caelum/Jotunheim, would be least likely to attack one another. If their scales are going in the same direction, they're working toward the same end. This kind of grudging friendship would both help and hinder the human player, and increase the depth and personality of the separate nations. At the highest level of difficulty, all AI players would attack human players first, then neutral, and one another Last. I'm thinking of old Master of Orion, where all the races had separate personalities unless you played on the highest difficulty, when they all became Aggressive Xenophobes/John Ashcrofts. Having said all this -- thanks guys for the outstanding game. |
Re: An AI question for a Dev
We are beginning to see the level of what we are asking. OK let me push this ahead.
Ulm has 2 Versions of each unit, one cheap and one more expensive with better armor rating. So for Ulm you would get into hi-cheap and hi-expensive. Obviously the entire formula for Ulm wont work for any other AI. Ive heard in these conversations much mention of needing more heavy units. Personally I dont think the AI can buy enough hvy units as early in the game as people are talking about. More cheap units may be an advantage. But even then, what about races like Pangaea? In Dom1 I almost never bought hvy units for Pangaea. Their advantage was not in them as an army. That may have changed with Dom2 but Im suspecting that if the wonderful balance is still in place that there is no way to develop a "better AI" that will work for all races because each race has very definate pros and cons. Even if you do find a formula for one race it might work well for indep 2 but not for indep 6 and not for indep 9. Just one example of a game setting variable I do like the thing about racial preferences though. I agree that having things like Marignon attacking Ermor on sight would make sense. [ November 05, 2003, 22:09: Message edited by: Gandalf Parker ] |
Re: An AI question for a Dev
See the other AI thread for how to modify the matricies more quickly and easilly. Its not a perfect description, but I don't see why it wouldn't work. You can have different operators for different levels of indie strength, differnt levels of richness, different whatever you think you need an opeator for.
That operator then gets applied over the others, its pretty simple and stratforward matrix algebra. The difficulty comes in chosing the right values for the operators, but that's no different than we already have I'd guess. In fact using the operators gives the user a lot more flexibility in tweeking the AI preferences as they see fit. Well thats a no brainer statement, since the user currently has no way to do this (yes yes script up a map, but we're talking about general AI now http://forum.shrapnelgames.com/images/icons/icon7.gif ) |
Re: An AI question for a Dev
Quote:
One of the Devs has stated they are reading the threads and *are* looking for specific complaints and specific suggestions about how to improve the AI. So it is actually in their mind. If you want to get an improved AI, you might want to offer some constructive insights instead of *demanding* replies. If you're not part of the solution, you're part of the problem. von Schmidt </font><hr /></blockquote><font size="2" face="sans-serif, arial, verdana">Actually there are lot of suggestions about the AI, and those suggestions ARE all good. All of those are about valid AI problems. I can understand if DFan is pissed, the devs made like 1 comment in that huge thread. |
Re: An AI question for a Dev
Racial preferences sound especially nice if there will be a possibility of selecting random AI opponents. I'm not complaining, it's just a thought.
|
All times are GMT -4. The time now is 12:48 AM. |
Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.