Skip to content

Latest commit

 

History

History
45 lines (29 loc) · 1.98 KB

README.md

File metadata and controls

45 lines (29 loc) · 1.98 KB

AI: Phantom of The Opera

Introduction

This is a school project for the Artificial Intelligence course.
The aim is to create two AIs that will play the Detective and the Phantom for the board game Phantom of the Opera.
In the end, all the AI of course's student will compete against each others to determine which one is the best.

We HAD to comply to the server located in this repository: https://github.com/groznyniko/ia_fopera.

We are french developers, and we mostly called the Phantom as Ghost inside our code. Sorry :)

Algorithms

We had two main goals doing this project: learn about AI, and win the tournament.
We did two algorithms:

Installation

Libraries

You need to have Python 3.7 and PyTorch v0.4.1 or superior installed.
You may have a warning, look here https://discuss.pytorch.org/t/about-pytorch-update/476

Launch it

You can find 4 dummy.py files:

  • Dummy0 and Dummy1 are the Detective and Phantom agents using the DQN
  • Dummy2 and Dummy3 are the Detective and Phantom agents using the Alpha Beta

Communication code between the clients and the server is inside the runner.py or runnerSocket.py.
By default, all the dummies use the runner.py.

There is two different servers:

  • fantome_opera_serveur.py uses files to communicate with the clients. Use runner.py(default) in your dummies.
  • fantome_opera_serveur_socket.py uses sockets to communicate with the clients. It's by far the best way to test this project. To do so, you need to use the runnerSocket inside the dummies, instead of the basic runner.

Default is file communication, because the professor wanted it that way.

Contact

  • Oïhan CAILLAUD (@ourdin)
  • Louis VENTRE (@oxydros)