French Version

CartomENS-IA integrated project proposal

1 Project Description

Name of the project : CartomENS-IA

Leader : Bethune Louis

Team :

Detailed Description

2.1 Goals and expected results

Our goal is to design a software for the card game named "La Bâtarde", a trick traking game1 created by Jules Marconnier. This software should allow us to play on a computer or an Android device. It will provide a beautiful and ergonomic GUI. Morever, the player should be able to play offline: solo or versus an Artificial Intelligence (AI), or online: multiplayer. Our work will contain an important part of research to develop an AI for this game, because as of today no such AI exists. In addition, we will create tutorials to initiate new players and to provide a training for the casual players.

2.2 Technological innovations

We will try to apply recent innovations as Monte Carlo Tree Search or Neural Network to design a powerful AI, and eventually find an optimal strategy. We will also try classicals methods like min-max or a simple heuristic. The AI will have several levels of difficulty, from sandbox to very hard. Moreover, we will design a light version of the AI that can run on mobile devices with low energy consumption.

2.3 Related Work

There are other projects from the ENS Lyon on the same theme, as Cartomancer or Macaks . Cartomancer is an open-source project, to develop a card-game edition program. Macak is a simulator for the game Magic: the gathering. Software for card games have existed for decades. There is a lot of examples: poker, spider solitaire... we can found them as computer programs, web applications or phone applications. Monte Carlo Tree Search [Chaslot et al., 2008] and neural networks have been used by AlphaGo. Recently reinforcement learning techniques have been adapted to imperfect information games [Heinrich and Silver, 2016]. We can also draw inspiration from the AIs of "Belote" .

2.4 Software achievement

The whole project consists in creating the software under the following constraints:

2.5 Scientific and Market spin-offs

Depending on the success of the research and development of the AI, it could be used as a foundation to tackle other card games or games in general. Furthermore, this software will be of interest to Jules Marconnier. Indeed, it allows him to market his game and facilitate access for new players. We can also imagine the software being taken over after the end of the project to include other modules such as online tournaments, challenges against the AI...

2.6 Targeted Users

The targeted users are average people with no specific competence in computer science, who want to play or learn to play "La Bâtarde". The software should be easy to use, and not too heavy in running time or ressources. The tutorials will be pedagogical enough for a beginner.

2.7 Budget

This project requires 25 dollars to get a Google play account and release the application to the app store. 100 euros have already been spent to buy 5 copies of the deck of cards

2.8 List of Work Packages

2.8.1 WP0: Communication

Leader : Lison Blondeau-Patissier

Members : B. Louis, C. Guillaume, F. Simon, L. Ulysse, P. François, P. Stéphane

The main goal of this work package is to present and document our work: we will design a website, and keep tracks of the general progression of each work package for the rapports. We will also be in charge of the external communications (e.g. with Jules Marconnier). Finally, this work package will be in touch with the organisation of the "La Bâtarde" tournament during the Interludes, so that people can come and play against the AI, which will allow us to collect feedbacks.

Schedule: The website should be done by week 7 for the release of V1. It will be updated every week. In January (week 17), communication for the Interludes will start, along with ideas of how we can best get feedbacks from the players. Aftrer the Interludes, we will focus on the final report and the public demo.

2.8.2 WP1: Core

Leader : Denis Rochette

Members: Tristan B., Louis B., Guillaume C., Quentin D., Simon F., Hoang L., Mathieu V.

This work package will design the core architecture of the "CartomENS-IA " project, it is the central platform. It defines all the communications between the other work packages with a strong documentation. As a main objective, it has the game engine, with all the rules of the game "La bâtarde". Each platform — mobile and PC — can have its own core.

Schedule: The core package start the first week, and define the differents modules —game engine, communication— at the end of the second week. Then the V1 of the core must be ready at the end of the 7 th week.

2.8.3 WP2: Artificial intelligence

Leader: Quentin Deschamps

Members: Tristan B., Louis B., Lison B., Nicolas C., Ulysse L., Robin V., Herménégilde V., Léo V.

The main objective of this work package is to create an Artificial Intelligence capable of playing "La Bâtarde". We will explore the different possibilities given by game theory: Monte-Carlo trees, min-max method... The AI should be efficient on both parts of the game: the evaluation of the cards to make auctions and the game phase. The others objectives are to create different levels of difficulties and to design an AI capable of replacing a player who left in the middle a game.

Schedule: Until the core is finished, the work will be theoretical, but after that the objective is to have a first version -only able to play, not with good capacities- of the AI before mid-November. This verson will be updated until the interludes where the AI should be able to play decently against a human player. After taking the feedbacks of the Interludes into account, we should only have small modifications and corrections to make.

2.8.4 WP3: Computer client

Leader: Guillaume Coiffier

Members: Louis B., Nicolas C., Julien D., Florent G., François P., Denis R., Léo V., Mathieu V.

The computer client package consists in developing a program in order to play "La Bâtarde" with a computer. This includes mainly the development of a Graphical User Interface (GUI) that will allow human players to interact easily with the core of the game, and play against AIs (or other human players). In this package, we will also define what the game will look like and work on ergonomy and design. This package is strongly dependent from the "Core" package.

Schedule: The work on the Computer client is set to start very early in the project, as early as the first week. The main dependency is the core package and the way we will interact with the game engine. On the first two or three weeks, our work will focus on planning the user interface and implementing low level graphical procedures that will be needed in the future. Our main goal is to provide a fonctionnal GUI for the release of V1 (end of week 7). The work charge of this package will then decrease, as we switch from fonctionnality to ergonomy, in order to provide a version which is pleasant to play with at the Interludes.

2.8.5 WP4: Mobile device client

Leader: Tristan Benoît

Members: Lison B., Julien D., Florent G., Hoang L., Stéphane P., Robin V.

This work package aims to develop an application to play the game with a mobile device with the same expectations as the computer client. The application will target many different resolutions and versions on the Android platform. The limited ressources of a smartphone will be used wisely: firstly, the AI will fit the operational capacity of a smartphone; secondly, the network communication will be smart enough to avoid wasting too much energy and finally, the images used will be adapted to the resolution so that no energy is wasted on loading over-detailed images.

Schedule: This work package starts on the first week with a four weeks apprenticeship of the differents aspects of developping an Android application. Java programming and Android’s general principles will be introduced. Then the team aims to achieve a first version for week 11. This first version will only have the offline mode. A second version with both online and offline mode will be released on week 21 followed by debugging.

2.8.6 WP5: Tutorial

Leader: Mathieu Vavrille

Members: Lison B., Hoang L., François P.

This work package focuses on the explanation of the rules to a new player of the game. It will implement a simulated game where the player will play, but all the moves will be forced, and explained. Like that, the new player will learn the rules, and maybe some advanced techniques.

Schedule: This work package starts on week 8, after the release of the first version of the software. It will start with 2 weeks of theoretical work: we find the moves that will be the best to learn the game. After that, we implement the tutorial on the software, and it has to be finished for the Interludes.

2.8.7 WP6: Network and server

Leader: Simon Fernandez

Members: Denis R., Herménégilde V.

This work package aims to build a server and to set up clean communication proctocols between the different applications. It will be used to connect players together, set up games. Also, the server will be there to replace a player if one leaves the game, in which case, an AI will play instead to keep the game running. The server will be responsible for the authentificatication and security of the communications. This work package will have to design communication protocols and standards that all applications will use to communicate.

Schedule: This work package will start after the release of Version 1. Then, at Version 2 we must have a running functionnal server.

2.8.8 WP7: Game Testing

Leader: Xuan Hoang La

Members: Lison B., Guillaume C., Quentin D., Simon F., Mathieu V.

As the name indicates, we are play testing for quality control and providing feedbacks on defects in both coding and design perspective. Our work package assembles the majority of leaders from other work packages to be able to thoroughly test every aspect of the software: AI, user interface, networking, tutorials...

Schedule: Our work begins the moment we have a playable/presentable product. As of now, it is scheduled to begin on week 5.

2.9 General Schedule

Schedule

References

[Chaslot et al., 2008] Chaslot, G. M. J., Winands, M. H., HERIK, H. J. V. D., Uiterwijk, J. W., and Bouzy, B. (2008). Progressive strategies for monte-carlo tree search. New Mathematics and Natural Computation, 4(03):343–357.

[Heinrich and Silver, 2016] Heinrich, J. and Silver, D. (2016). Deep reinforcement learning from self-play in imperfect-information games. arXiv preprint arXiv:1603.01121.

1. A card game in which play of a hand centers on a series of units of play, called tricks, which are each evaluated to determine a taker of that trick.