Skip to content

Ideas 2012:AI improvements

Chris Oelmueller edited this page Feb 18, 2013 · 1 revision

AI improvements

Our problem

The current AI is reasonably good at managing a settlement in single player games but has occasional performance problems and doesn't handle combat nor multiplayer games.

Our idea

Improve the AI in some of the following areas:

  • multiplayer
  • combat and diplomacy
  • performance
  • personalities
  • smarter management
  • taking control of a player

What you need

  • Very good Python skills (must)
  • Knowledge of the areas you would like to work on (must)
  • A good plan that explains which ideas you intend to implement. It is not realistic to do all of the above. (must)
  • Previous experience developing game AI (bonus)
  • Knowledge of how AI is handled in other RTS games (bonus)
  • Estimated difficulty: Hard

What we provide

  • a working settlement AI
  • ideas on how to improve the AI:
  • multiplayer: This could be implemented similarly to the current single-player support or by splitting off the AI players into separate processes that connect to multiplayer games independently.
  • combat: The AI should be able to properly handle the following:
    • building combat units and buildings when and where necessary
    • diplomacy
    • attack and defense
  • performance problems: The AI time/memory usage could be improved in a number of ways.
  • personalities: The AI has basic personality support but this is used in a very limited way. The idea is to create a small number of different AI personalities and extend the available number of behaviors so that there can be greater variance in the personalities.
  • smarter AI: For example it is currently weak at using resources across settlement borders and planning in general.
  • taking control of a player: The current AI can only control a player if it did that from the beginning of the game. It would be desirable to be able to make an AI player take control of an existing player (for example a human player who left a multiplayer game) and use it as if it had done it all along.

As a pre-GSoC task you could try some of the following:

What we expect

A good plan that explains the following:

  • which features you want to implement and why
  • how hard is each feature and why you think so
  • possible problems and their solutions

You can shift around release goals and target dates in the planning stage as you like. Once your mentor and you agreed on a rough timetable, only light modifications should occur if there happens nothing unforeseeable.

What you can add

In general: If your mentor agrees, you can change almost everything in our descriptions. They are just meant to provide guidance if you are not sure where to start or which way to choose.

You are especially free to alter the following parts:

  • Define a project that combines parts of the AI project with another relevant idea
  • Add other features

Who looks after you

Your mentors for this task will probably be one of:

  • nihathrael

These devs might also help out if your mentors are not around right now: gscai, totycro

Clone this wiki locally