Agent/Swarm based AI

From The Battle for Wesnoth Wiki


My name is Daniel Klöck, I am a computer science student at my last year for a 5 years degree at the BTU-Cottbus (Germany). I am very interested in A.I. and therefore have chosen almost every possible A.I. related lecture in my university. I also wrote a thesis on simulating human behavior through an agent based system and won several Software developing and AI related awards:

  • 2006: 4th place of Germany programming artificial intelligence (Microsoft ImagineCup 2006)
  • 2005: 2nd place Worldwide programming artificial intelligence (Microsoft 3rd Small Hoshimi Competition ImagineCup2005)
  • 2005: 9th place Worldwide programming artificial intelligence (Microsoft 2nd Small Hoshimi Competition ImagineCup2005)
  • 2005: 1st place of Cottbus programming artificial intelligence (Microsoft Hoshimi Competition)
  • 2004: 3rd place of Germany at software development for Tablet PCs together with Thomas Noack (Microsoft Tablet PC Student Challenge)
    • The Project was written in C++.NET, MySQL and the Tablet PC SDK
    • Subject: Facility management
    • Project: Winlinx 2

Contact information

  • IRC: dkloeck


Professional experience

  • 2/2008-3/2008: Software Developer at Aentos: HealthManager Project.
  • 8/2007-1/2008:Industrial Placement at Aentos (Industrial placement): Working on the HealthManager project.
    • Keywords: Diagnostic Measuring Devices, C#, Java, .NET, Eclipse, NetBeans, Health, PDA.
  • Google SoC 2007 at STScI: Google Sky
    • Keywords: C#, .NET, XML, KML.

Other projects

  • 2006: "Extended sugarscape model in XL" (Simulates an artificial culture - rule based)
    • Keywords: XL, GroImp, Java, A.I.
  • 2005: "Schnaps 3D" (Editor for 3D scenes)
    • Keywords: Java, Java3D, 3D scenes
  • 2003: "BBAS" (Biometrisches Bild Analyse System) - Recognition and measuring of seed out of large images.
    • Keywords: Image analysis, C++, VS 6.0


Gaming experience

  • Are you a gamer? If so...
    • I used to play a lot more when I was younger, but I suppose I am still a gamer. I am not sure how often I have to play to be called a gamer :)
  • What type of games?
    • I like all kind of games, but i prefer RPG and strategy games.
  • What type of opponents do you prefer?
    • I prefer to have opponents hard to beat.
  • Are you more interested in story or gameplay?
    • The gameplay.
  • Have you played Wesnoth? If so, tell us roughly for how long and whether you lean towards single player or multiplayer.
    • I have just found out about the game, which means I have been playing for a couple of days (single player).

Practical considerations

  • Are you familiar with any of the following tools?
  • Sub­­version:
    • Yes, I have used it in several projects.
  • C++:
    • I have used it in projects like Winlinx 2 (about two years of experience).
  • Python:
    • I have no experience with python.
  • Which tools do you normally use for development?
    • Eclipse, NetBeans and Visual Studio (depending on the language and properties of the project)
  • Why do you use them?
    • I think they are the best developing environments for c#, c++ and java (which are the languages I use to programm)
  • What programming languages are you fluent in?
    • c#, c++, java
  • At what hours are you awake (please specify in UTC)
    • Depends on the day, but the probabilities are great that you wont find me between 3am and 10am.
  • Would you mind talking with your mentor on telephone / internet phone?
    • I am used to speak and write English, so this would not be a problem at all.


  • Why did you choose this project?
    • Because I am very interested in AI and I have already done similar projects (for example for the Hoshimi competition)
  • What do you expect to gain from this project?
    • More experience developing AIs.
  • What would make you stay in the Wesnoth community after the conclusion of SOC?
    • Interesting AI related work.


Communication skills

  • German (mother tongue)
  • Spanish (mother tongue)
  • English (Advanced)
  • Polish (Basic)

Programming languages

  • Advanced: C#, C++, Java
  • Intermediate: XL, HTML, ASP, MySQL, SQL

Programming Environments

  • Visual Studio (6.0 to 2005)
  • Eclipse
  • NetBeans

Info about the project

I would like to do an AI based on a static algorithm for calculating best moves for each Agent (rule based) which would already create a swarm intelligence, however I would like to combine every agent's behaviour with mathematically calculated best objective/objectives which would be for the agent's behaviour something like the bias for neurons in neuronal networks.

Example of how this would work: For example lets say the objective of the whole agents population in that moment is to go south. But there is an Agent which only tactic to survive would be to hide in a house. Then the score for the individual tactic would be greater than the score needed to ignore the global tactic and it would hide in the house even if it is north.

Estimated timeline

  • April 21 - Community Bonding Period. Play more to get a better understanding for the strategy used at the games.
  • May 26 - Start
  • until June 26 - develop a good strategy that will be used by the AI (balance the scores).
  • until August 11 - Implement, test and optimize the AI.
  • August 18 - Extra time, if needed
This page was last edited on 11 March 2016, at 03:58.