[edit] AI Improvements[edit] WhatThis page provides a platform for ideas on how the artificial intelligence AI can be improved. [edit] Situation<Here should be a description of the status quo> How become AI into being? What strategy do they have? How do they develop? [edit] Propositions[edit] Pluggable AI and AI development helpSince we do not know what the best AI would look like, it seems reasonable to give people the ability to create different kinds of AIs that one can choose from when starting a game. Other aids in developing AI would be the ability to run purely AI vs. AI games, and the ability to show an AI debug window. [edit] Different strategiesAn approach to differentiate the behaviour would be to define different strategies that are applied to a AI randomly. Such behaviour could be:
[edit] Model human behaviourAn AI can be said to be good if its behaviour does not differ from that of a human behaviour. Therefore we should ask ourself why we do this or that. E.g. If you you want to build a farm but there is no building place available I see three options:
Of course there are more issues to consider. The produced wheat should not be transported far to the next processing facility. So by defining an aim we can figure out how to get there by figuring out how to get to the next step (divide and conquer). [edit] AI code developmentThe current AI source code(s) can be found <fixme here>. [edit] Current AI Player StateAI engines can query their current state from these variables / structures:
* terrain at a given location <fixme> * land type <fixme> * parameters of the current land type (more useful to AI than a description) * speed of transport * growth rate of food * growth rate of trees * productivity of fish * other * resources (if known) <fixme> * available building locations * available flag locations <fixme> * available building sites (w/type of buildings possible) <fixme> * the currently built road system * connectivity to "main road grid" (true/false) <fixme> * function listing what is available on a given road system * Wares <fixme> * Workers <fixme> * Structures <fixme> * visible enemy structures * location <fixme> * type <fixme> * visible contents <fixme> * visible status information <fixme>
* quantity of each type of worker on hand <fixme> * requirements to build a particular type of worker <fixme> * Wares * Structure * Other Workers * current locations of particular worker types <fixme>
* quantity of each type of ware on hand <fixme> * requirements to build a particular type of ware <fixme> * Wares * Structure * Worker(s) * current locations of particular wares types <fixme>
* quantity of each type of structure on hand <fixme> * requirements to build a particular type of structure <fixme> * Wares * worker(s) (to make the structure work) * working radius of finished structure <fixme> * current locations of particular structure types <fixme> [edit] How AI Communicates Decisions to the game engine
* number of troops to commit to the attack |
![[Main Page]](/modules/mediawiki/images/mediawiki.png)
AI improvements
From Widelands.org
Main Page | Recent changes | Edit this page | Page history | Switch to MediaWiki modePrintable version | Disclaimers | Privacy policy
