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)
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)
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.
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:
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
- Sanaz Mostaghim (Lectures)
- Christoph Steup (Tutorials and Organization) - Please contact Dr. Steup for tutorials
- Lars Wagner (Tutorials)
- Christian Wustrau (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.
Tutorials
Tutorials will be done online as video conferences. See Moodle for futher details.
Nr. | Teacher | Day | Time | Week | 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
- Chapter 2: Hawk-Dove
- Chapter 2: Hawk-Dove-Worm
- Chapter 3: Link to MasterMind
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.
- Interactive animation of evolutionary agents: https://ncase.me/trust/
- Free book on Game AI: http://gameaibook.org/
- Free book on Reinforcement Learning: http://www.incompleteideas.net/book/the-book.html
- Nash Equilibrium Paradoxon: https://en.wikipedia.org/wiki/Braess%27s_paradox
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:
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: Paper1, Paper2, Paper3, Paper4
- 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