Computational Intelligence in Games

Hearthstone Competition

In this competition, the students were asked to hand in AI-Bots, which were able to play a Hearthstone game. To this end, the software of the International Hearthstone AI-Competition was used. The agents created by the students competed in our internal competition in two distinct classes: Bachelor and Master.

Bachelor Competition

The bachelor competition allowed the students to select their own deck and write an agent working with this statically known deck. In this competition each agent played against each other agent. To guarantee fairness each agent was allowed to do the first move in half of the games. Each matchup was repeated 100 times.

17 Agents were submitted, resulting in 1600 matches per agent.

The Bachelor Competition had the following results:

Position Name Won-Game Percentage
1 DrunkenAggroWarriorAgent 69.27%
2 DrunkenAggroWarriorAgent2 67.91%
3 ThreeTypeDynLooker 66.26%
4 JoachimKnobi 63.94%
5 MAGEntLookahead 59.62%
6 Tree_Search_Agent_Rick_Richter_7_30 54.64%
7 MAGEnt 53.10%
8 Tree_Search_Agent_Rick_Richter 52.72%
9 ShroudedYmir 47.36%
10 Otto007Paladin 47.26%
11 MyAgentMohamed2 43.29%
12 Otto007Warrior 38.70%
13 MyAgentMohamed 38.45%
14 TreePala 33.00%
15 MechaSMOrcAgent 31.92%
16 MechaSMorcAgent2 31.24%
17 CIsntSharpAgent 29.62%

Congratulations to the authors of the winning agent: DrunkenWarriorAgent (Alexander Babel and Jann-Marten Kias)

CIG Hearthstone Competition Bachelor Winners

Master Competition

The Master Competition posed and additional challenge because in this challenges the decks to play with could not be chosen freely. There were 6 provided decks, the agents could train with, but three additional decks were used in the competition, which were not known to the agents and their author before.

In this competition each agent played against each other agent with all deck combinations, Additionally each game was done twice with each agent being the first player with the first move.

The competition showed the following results:

Position Name Won-Game Percentage
1 LynamicDookaheadBohnhofGraeffe 79.94%
2 JerryHempelHeise 76.91%
3 AheadAgentTrachtMozheiko 72.71%
4 BasicAgentTrachtMozheiko 65.98%
5 GreedyLookahead2MudgalKumar 63.89%
6 GreedyLookaheadMudgalKumar 62.40%
7 MyAgentMiller 61.27%
8 MyAgentLamprecht 47.83%
9 GreedStoneKnors 45.72%
10 MyAgent2Miller 34.28%
11 BalancedAgentBuetnerMurugan 27.49%
12 BeatOpenAiThoms 23.66%
13 AllMeThoms 23.17%
14 PickleRickHempelHeise

05.53%

Congratulations to the authors of the winning agent: LynamicDookaheadBohnhofGraeffe (Nils Bohnhof and Jon-Miles Graeffe)

CIG Hearthstone Competition Master Winners

Sponsors and Award Ceremony

We thank our sponsors Axel Trading and RegioCom for providing the prices to the two winning groups. We will arrange an award ceremony with the authors of the two winning groups individually,due to the ongoing Covid-Pandemic.

Students who look for internships or jobs can take a look at these companies. The following links redirect you to possible career opportunities within the companies.

 

 AxeTrading  regiocom

Regiocom has sent a message to our students: 

Mayn Wolf from regicom: "Wir gratulieren den Gewinnern des Programmierwettbewerbs in der Fakultät für Informatik. Es freut uns dass die Studierenden genügend Raum erhalten, sich kreativ auszutoben und sich weiterentwickeln können. Wir freuen uns (hoffentlich) im kommenden Jahr , wieder gemeinsam bei der Siegerehrung mit euch zu Netzwerken."

 

Description of the course

This course addresses the basic and advanced topics in the area of computational intelligence and games. This course has three parts:

Part one addresses the basics in Evolutionary Game Theory (EGT). In this part you will learn about simple games such as scissors/rock/paper and the main focus on the strategies for playing games.

Part two is about learning agents and we focus on reinforcement learning mechanisms. There are three questions for games:

How can we use the information from a search mechanism to learn? 
How can we use reinforcement learning to find a better strategy?
How can we use reinforcement learning as a search mechanism? 

Part three contains the advanced topics in games and artificial intelligence such as how can we program an agent who can pass a Turing test? how can we consider physical constraints of a spaceship while moving in an unknown terrain? etc. 

This course will be held in English and is for Bachelor (5CP) and Master (6CP: including extra programming assignment) students. 

 


Lectures and Tutorials

 

 The lectures will start in an online format (due to the current situation). We will provide you the recorded lectures which you can access from home at anytime. 

In case that the situation changes, the lectures will take place Thursdays 9:15-10:45 in G29 307. We will inform you, when we officially start with live lectures. 

You can access the viedo recordings of the lectures click here or http://mediasite.ovgu.de/Mediasite/Catalog/catalogs/iks-cig.

Please note that you need to use your URZ account to access the videos. 

 

Lecture Plan

In order to plan the lectures in a structured way, we provide you the following lecture plan. You should learn the material for the corresponding specified week by referring to the online videos and slides:

 Date  Lecture slides  Video click here (Password: URZ account)
 6 to 10 April   Chapter 0  Uploaded 
 14 to 17 April  Chapter 1   Uploaded
 20 to 24 April  Chapter 2: Part 1, 2   Uploaded
 27 April to 1 May  Chapter 2: Part 3, 4, 5  Uploaded
 4 to 8 May  Chapter 2: Part 6, 7  Uploaded
 11 to 15 May  Chapter 3: Part 1, 2  Uploaded
 18 to 22 May  Chapter 3: Part 3 and MasterMind  Uploaded
 25 to 29 May  Chapter 4: Part 1, 2  Uploaded
 2 to 5 June  Chapter 5  Uploaded
 8 to 12 June  Chapter 6  Uploaded
15 to 19 June  Chapter 7: Part 1, 2  Uploaded
   Slides about EA and videos from the course EMO https://mediasite.ovgu.de/Mediasite/Play/a807b31230114b0da8bec261a780b0f91dhttps://mediasite.ovgu.de/Mediasite/Play/71c15333a8074e988302bfe57d11a86b1dhttps://mediasite.ovgu.de/Mediasite/Play/7f96ae6ad4614e5896dac3ceb47817cd1dhttps://mediasite.ovgu.de/Mediasite/Play/a4c53b7941ea489caf3e97ce66f7fddd1d
22 to 26 June  Chapter 8: Part 1, 2, 3  Uploaded
29 June to 3 July  Chapter 9  Uploaded

 

Slides

To open the slides, you need to use a password which is specified in the recorded lecture "Organization for SS2020" (access information above).

We compiled a List of Equations and Algorithm containing important symbols, equations and algorithms. We hope this overview helps you during your study of the course topics. Please feel free to send pull requests and help us to incorporate changes and additions throughout the semester.

Chapter  Slide
0 Organisation
1 Introduction
2 Evolutionary Game Theory
3 Introduction to Reinforcement Learning
4 Dynamic Programming and Monte Carlo Method in RL
5 Temporal Difference Learning
6 Monte Carlo Tree Search
7 Rolling Horizon Evolutionary Algorithms
  Evolutionary Algorithms (Detailed slides from the course Evolutionary Multi-Objective Optimization(EMO)
8 Multi-Objective Decision Making and Learning in Games
9 Procedural Content Generation (PCG)

 Tutorials

Tutorials will be done online as video conferences. See Moodle for futher details.

Nr. Teacher Day Time Week E-Mail Comment
1 Christian Wustrau Mo 09:15 - 10:45 odd christian.wustrau@ovgu.de starts on 04.05.2020
2 Lars Wagner Mi 13:00 - 15:00 odd lars.wagner@ovgu.de starts on 06.05.2020
3 Christian Wustrau Fr 13:00 - 15:00 odd christian.wustrau@ovgu.de starts on 08.05.2020
4 Lars Wagner Fr 11:00 - 13:00 odd lars.wagner@ovgu.de starts on 08.05.2020

 


 Videos and simulations related to lectures

 

 


Conditions for Certificates (Scheine) and Exams

 

Certificate (Übungsschein): There are assignment sheets published about every two weeks. You need to hand in your solutions to the assignments before the next excercise using moodle. If you handed in a solution you may be asked to present your solution in the excercise (using video conferencing). The solutions need not necessarily be completely correct, however, it should become obvious that you treated the assignment thoroughly. You are granted the certificate (Schein), if (and only if) you

  • handed in at least two thirds of the assignments,
  • solve the programming assignment and write a 2-4 pages report about your solution (this task can be solved alone or in pairs of two), and
  • pass the exam

Programming Assignment Bachelor: 

Conceptualize and implement a Hearthstone AI, which is able to play the game and win against an easy bots provided by the lecturers. You can choose your own deck and your bot will always use this deck in the competition and in the fights against the test bot. To pass the task you need win 51% of the matches against the test bots.

Programming Assignment Master: 

Conceptualize and implement a Hearthstone AI, which is able to play the game and win against a hard bot provided by the lecturers. You will be provided with six known decks, but during the competition and in the fights against the test bot you may encounter three additional unknown decks. To pass the task you need to win 51% of the matches against the test bot.

 

Both programming assignments will be handled through Moodle. You also will find additional info there.

Exam: If you intend to finish the course with an exam, your are required to meet the certificate conditions. There will be a written exam after the curse.

 


Exercise Sheets Assignments:

There will be bi-weekly tutorials. In order to write the exam at the end of the lecture, you must attend and actively participate in one of the tutorial groups and take part in Programming assignments. New assignments will be published here every two week. To attend, you must first apply for a spot in one of the groups (see below).

Participation in the tutorials will be over a streaming portal to-be-defined-here.

You must prepare answers to the written assignments at home and upload them by the given deadline in Moodle course of this lecture.

At the beginning of each tutorial, we will ask you to volunteer to present one of the assignments that you prepared. You pass the tutorial (and are allowed to write the exam) only if you handed in at least 2/3 of all assignments and solved the programming assignment

 Assignment Sheets

You find the Assignment Sheets and the respective Assignment, where you cacn upload your solution in the Moodle Course.

 
Interesting Links and further Material

 


 Programming Assignment:

  

The programming asssignment is based on the Hearthstone AI Competition organized by Queen-Mary University London and OvGU. Pleas visit this link to find information on the installation and usage of the basic framework and how to create your own bot. More info will be provided using the associated Moodle course.

 


 Past Exam:

 Exam WS 2015/2016

 


Literature

 

  • Yannakakis, Georgios N., and Julian Togelius. Artificial Intelligence and Games. Springer, 2018. --> Link
  • Richard S. Sutton and Andrew G. Barto, Reinforcement Learning: An Introduction, MIT Press, Cambridge, MA, 1998 --> Link
  • Nowak, Martin, Evolutionary dynamics : exploring the equations of life, Cambridge, Mass. [u.a.] : Belknap Press of Harvard Univ. Press , 2006 --> Link to OvGU Library
  • Ian Millington and John Funge, Artificial Intelligence for Games, CRC Press, 2009
  • T. L. Vincent and J. L. Brown, Evolutionary Game Theory, Natural Selection and Darwinian Dynamics, Cambridge University Press, 2012
  • Jorgen W. Weibull, Evolutionary Game Theory, MIT Press, 1997
  • Thomas Vincent, Evolutionary Game Theory, Natural Selection, and Darwinian Dynamics, Cambridge University Press, 2005
  • Josef Hofbauer, Karl Sigmund, Evolutionary Games and Population Dynamics, Cambridge University Press, 1998
  • Kalyanmoy Deb, Multi-Objective Optimization using Evolutionary Algorithms, Wiley, 2001
  • Literature about PCG: Paper1Paper2Paper3Paper4
  • Kruse, Borgelt, Klawonn, Moewes, Ruß, Steinbrecher, Computational Intelligence, Vieweg+Teubner, Wiesbaden, 2011
  • Ines Gerdes, Frank Klawonn, Rudolf Kruse, Evolutionäre Algorithmen, Vieweg, Wiesbaden, 2004
  • Zbigniew Michalewicz, Genetic Algorithms + Data Structures = Evolution Programs. Springer, Berlin, 1998

Last Modification: 17.01.2024 - Contact Person: Webmaster