A Proposition for Master's of Arts in New Media Thesis:

Design of a Multi-player Video Gambling Game with Artificially Intelligent, Automated Test-Players

Author: Petri Kuittinen

Supervisors: Timo Honkela (Ph.D), professor at University of Arts and Design, Media Lab
Pekka Puomio (M. Sc.), Raha-automaattiyhdistys, Research and Design department

Abstract:
The proposed Master's Thesis includes design and prototype implementation of a multi-player poker game, which will have several different artificially intelligent, automated test-players. A network protocol which supports automated testing of single- and multi-player games will be developed.

Background

In Spring 1999 our Game Design Study Project group (Petri Kuittinen, Janne Frösen, Jan-Mikael Lepistö, Tomi Knuutila, Katerina Antonaki and Miska Natunen) designed and implemented a prototype version of a multi-poker video game using Java programming language. Due lack of time the resulting prototype was unfortunately far from finished. The game did not have a single-player mode, the user-interface was so vague that it made the game very difficult to play and the network code and protocol also had errors making the game very unstable. I estimate that it would take at least the same amount of time, about 500 hours, as Janne and Jan-Mikael used for the GD study project, to fix these problems in Java source code.

I converted the internal logic of the game (handling of cards, comparison of wins, randomness) from Java to Python, which is a free interpreted, interactive, object-oriented programming language. Even thought the Python version is much more generic (e.g. it implements three different kind of poker games instead of one) the resulting source code was shorter (665 lines vs. 429 lines) and the time used was less than 1/5 of the original.

Objectives, Methods and Approaches

At the end of 1998 Raha-automaattiyhdistys (RAY) started a project called "Pelisukupolvi PSI-2002" (= "Game Platform PSI-2002"). The goal of that project is to produce a completely new generation of gambling machines which have better reliability, easier maintenance and enable easier and faster software development. That includes better play-testing of the games. So far the games have been tested by human test-players. Multi-player games with large number of simultaneous players would require a small army of human test-players which isn't feasible. So there have to be automated test-players which simulate the way real human players play the game. Automated test-players can play hundreds of thousands of games without tiring, leading to better-tested and more robust single-player games as well. It would also be useful to be able to record and playback games played by human players. The statistics and observations gathered from human test-playing can be used to create automated test-players which imitate human behavior.

During summer 1999 I came to the conclusion that the network protocol needs to be redesigned by first thinking about different kind of multi-player gambling games and their needs and then design an extendable and robust network protocol which has:

  1. Part which is common to all multi-player games:
  2. Part which has all the necessary information concerning game logic (this part of specific to each game type)
  3. Part which has the necessary user-input messages to implement automated testing of single-player game (different kind of user input events e.g. such as "pay wins", "double", select buttons...)

I have don't have any previous experience in designing a network protocol, automated test-players, implementing network communication for a multi-player game nor a graphical user-interface (GUI) using Python so there is certainly a lot to learn.

I would like implement the AI of test-players using conventional hand-coded (static) approach. Neural networks and other more sophisticated results could perhaps lead to better results, but my resources are limited.

Resources

I will do almost all the work by myself. I will consult Pekka Puomio in questions relating to network protocol design and calculating the propabilities. Software engineer Tuomo Hakola (of RAY R&D department) is the principal person responsible for developing better testing procedure for PSI-2002, so we will certainly exchange ideas and I will present my ideas to him before actually implementing them.

I will do my work using the computer facilities of RAY. All (or almost all) the work will be done using free software (Linux, Gnu Emacs etc.).

People at RAY R&D department will help me play-testing the game. Probably some people at Medialab would also be interested in play-testing?

I don't have much experience or knowledge in user-interface design and my time is limited, so I won't pay much attention to the user-interface of the game within my Master's Thesis. It would be nice to find someone interested user-interface design and skilled with GUI programming to collaborate with this project. I am sure there is enough work for another final thesis just to develop a really good GUI for a multi-player poker.

Research Process & Results

Content of the Master's Thesis:

If there is too much time (which is unlike) the following things might be included to Master's Thesis. Anyway they are good starting points for further work.

Schedule

Open Issues:


Petri Kuittinen <eye@iki.fi>
Last modified: Wed Nov 17 15:58:36 EET 1999