Some questions regarding Freeciv ai development

Can you help improve your favourite game? Hardcore C mages, talented artists, and players with any level of experience are welcome!
Post Reply
wasili
Posts: 1
Joined: Fri Jan 13, 2017 6:51 pm

Some questions regarding Freeciv ai development

Post by wasili »

Hey folks,

I'm planning to write a university paper (my bachelor thesis) in the field of artificial intelligence and since free open source software as well as 4X games are a great thing, I started digging around in the projects ressources in the hope to find a research subject.

So I want to kindly ask if somebody involved in the project could answer a me few questions before I get myself knee-deep into code...


I read the avaiable wiki articles on the freeciv ai to get a grip of it's concept and workings. From what I got there you have different ai systems:

- the autosettler ai to automate the in-game worker units of the player
- a city manager and possibly some other "agents" as described here: http://freeciv.wikia.com/wiki/Agents

So theese are ai parts that are also meant to assist the player, but I guess the ai player uses the same agents?

And then there's the enemy ai including:

- a military ai for the ai player
- a system to calculate the profit of a possible military operation by the ai player
- a diplomacy system for the ai player

Did I miss something?

If I understood this article correctly (http://freeciv.wikia.com/wiki/Recon_Pull) at least the military ai is a form of what's currently called "multi agent system" or "distributed ai", isn't it? Is this true for other parts of the ai as well? The agent concept described in the wiki suggests that...

Also from what I got from the feature goals for coming releases you are about to rebase parts of the ai to have it's computations done in a parallel fashion, correct? This seems to be a natural thing to do with a distributed system...

Finally, how do the different parts of the ai interact and determine the actual decisons of the ai player?


If somebody involved is interested in helping and there's a possible task that would lend itself to a paper (and thus be approved by a prof of my university) I would love to spend my time with the project and maybe even help to actually improve the game or at least produce some documentation for it.

Thanks in advance and cheers!
Post Reply