Sign this plea to Firaxis -- open your AI APIs!

By far the biggest improvement in any version of Civilization would be improved intelligence in the AI. This is not meant as a criticism of the AI in civ 3. It's just a fact of life in any complex computerized strategy game.

A customized AI would not have to be any better than the existing AI, just use a significantly different strategy. Although the AI in civ does use different strategies, the similarities far outweigh the differences.

One of the more challenging and enjoyable aspects of playing a strategy game against a human is the fact that everyone has their own strategy. In my opinion, having 7 opponents using seven vastly different yet mediocre strategies is more enjoyable than having 7 opponents using the same good strategy.

At is simplest, an API for customizing the AI should have the following features:
- Ability to inherit all AI behaviors.
- Ability to override most AI behaviors.
- Access to most internal data structures.

The game would have to be modified to allow assigning a customized AI to an AI opponent. This would allow multiple different customized AI's in the same game.

With that, I'm sure a few users could create a customized AI.

Very few users would actually use the API and of those only a small percentage of customized AI's would be useable. However, just one quality customized AI would be of benefit to all.

Realistically, I don't expect Firaxis to release any kind of an API. The added work and support required is hard to justify for questionable returns. However, it sure would be nice and could make a great game even better
 
Originally posted by AtW
Mike, what you talking about? I can hack their EXE and DLLs and create my own API, just like HalfLife was hacked to allow bots. In fact external bots for CS were better than those built in Valve.

Oh, you want to hack it! [punch]

My miskate -- I just assumed you wanted a properly designed API. :jesus:

Sorry, occupational hazard. :blush:
 
"Hack" was meant to be "reverse engineer". Its possible to plug into pretty much any software, it just that would take a LOT more time.

Beard Rinker: I agree withyou, I dont think Firaxis would do it, but I have other options ;)

I will be back in 3-4 months on here ;-)
 
A proper API would be desirable, but simple release of a header file without the "reverse engineering" issue being raised might get an "Open Source Hacker" to create a usable 'freebee'. Most of us who would use it just piddle around anyway. It would be reinforcer to those who might be inclined to take the time-intensive effort to pull together a tight procedure for true scenario creation without the tedium of hex-editors or code-sweeping. Hell's Bell's, it almost sounds like I know what I'm talking about ;-). I'm in support of the effort.
 
sign
 
Im kind of an idiot at programming. I mena i can barely work Q-basic and u cant get any worse than that. I just see other peoples mods and I use them. So I wouldnt be able to change the AI and make it how I want it, but if people could post AIs that resemble the acting of real people, say a Napoleon AI, with all the Napoleon atitudes and things it be awsome so...where do I sign?:egypt:
 
SIGNED

Comments:
1. We're a long ways from 100.
2. At 100, I still don't think they'll give you what you're asking for.
3. I like you guys and all your EXTRAordinary efforts!

Good Luck
 
If Firaxis where to create a multi-player version it would presumably require the following:
- A data transfer protocol for passing player moves between all players.
- A multi player map format.

If these protocols where published they could be used program another AI. The AI could run as a separate process and make its moves using the multi player data transfer protocol.

A multi-player version in itself would provide a quality opponent. However, many users (myself included) would not be able to coordinate playing a 100 hour game with several other people and would still prefer an improved AI.
 
Hi folks,

Sorry to rain your parade, but as I would expect, your request probably will not be granted, and with a good reason, too.

The code in this game is pretty much all about AI - except the display and sound part, which means that if they want to give out headers so people can write their own AI with certain freedom, they have to give out every single header in the project - again maybe except the display and sound part. As an example, say you want to overwrite (fictional) ThisKnight.DetermineNextMove( ) function, you would likely have to know functions and data structures for following stuff:

1. nearby terrain info (passage, a/d/m bonuses, resources which might lead to trading considerations, etc.);
2. nearby units info (civ, hostility, a/d/m, bombardment, capturable, value, overall score influence, etc)
3. nearby city and culture info (need to garrison, happyness, police, improvement, defence, draft, etc.);
4. foreign relationship with civs related to previous items (a huge part);
5. task flow (how game arranges movement and turns and stuff, when to make a sound, center the screen of not, etc);
6. possibly memory and file management(?);
... and the list goes on.

Now think about it, you can see that that's almost the entire game mechanics. Granted if the game was properly coded in a very well modulized way, needs to some information can be eliminated, but that would still be a LOT. And their programmers are, ahem, not that good, IMHO. So there's the problem of giving headers out: by obtaining the headers for almost the whole game logic, a competitor can easily figure out how to write a similar game. They can top civ3 by keeping the good ideas and throwing out bad ones, based on feedbacks from our months of playing (or effectively beta testing), so they can end up with a better game logic. Maybe far better. As to the UI part, given Firaxis' primitive, sorry I mean simple and elegant, design, it's not hard to make a more attractive interface at all. The final situation: said competitor makes a good game and good amount of money; Firaxis loses in sales and reputation; most if not all user-created AI mods suck. And Firaxis can see this coming. And you don't get the AI header files. Period.

Of course those are just my speculations, and it was really too long already.

Cheers,
Cokal
 
Just so I may have the slimmest chance of helping such a great idea get off the ground, you can count this as a vote.


Lord Azreal
 
Top Bottom