1
00:00:02,860 --> 00:00:07,821
In order to engage in competitive play.
General game players need a game manager

2
00:00:07,821 --> 00:00:12,845
to distribute game descriptions, maintain
an official game state, update the state

3
00:00:12,845 --> 00:00:17,931
with the player moves, verify the legality
of those moves, and ultimately determine

4
00:00:17,931 --> 00:00:22,645
the winners. In the case of automated
general game players, the manager takes

5
00:00:22,645 --> 00:00:27,359
the form of a web service that performs
all of these functions. Typical game

6
00:00:27,359 --> 00:00:32,072
manager maintains databases of game
descriptions matched records and, and

7
00:00:32,072 --> 00:00:36,900
temporary data while games are in
progress. Communicates with players via

8
00:00:36,900 --> 00:00:42,516
TCP/IP connections, and in most cases it
provides graphical representations of

9
00:00:42,516 --> 00:00:49,042
games for human spectators. Versus running
a game goes as follows, upon receiving a

10
00:00:49,042 --> 00:00:54,309
request from a game director to run a
match, the game manager's first, first

11
00:00:54,309 --> 00:01:00,278
issue's start message to each player to
initiate the match. Start message contains

12
00:01:00,278 --> 00:01:06,107
an identifier for the match, the role the
player is assuming in that match, the game

13
00:01:06,107 --> 00:01:10,601
description, a start clock and a play
clock. The start clock specifies the

14
00:01:10,601 --> 00:01:15,270
amount of time remaining before play
begins, and the play cock, clock specifies

15
00:01:15,270 --> 00:01:23,211
the amount of time each player has to make
each move once play begins. Once the play

16
00:01:23,211 --> 00:01:28,531
begins, it issues play messages to each
player. This includes the match ID, and an

17
00:01:28,531 --> 00:01:33,918
indication of the moves made on the last
time step by the various players in the

18
00:01:33,918 --> 00:01:39,437
match. once the manager receives plays
from the players, it simulates the results

19
00:01:39,437 --> 00:01:44,824
to determine the next state of the game.
this part of the process then repeats.

20
00:01:45,024 --> 00:01:50,078
another play message is sent. It moves,
received, state simulated and so forth.

21
00:01:50,078 --> 00:01:55,282
And this process continues until the match
is over. Once the match is over, the

22
00:01:55,282 --> 00:02:00,383
manager issues a stop message to each
player and this is useful so that players

23
00:02:00,383 --> 00:02:08,755
know what happened on the last move. And
now finally one other function of the game

24
00:02:08,755 --> 00:02:15,076
manager is handling problem cases. failure
to play or incorrect, incorrect moves. In

25
00:02:15,076 --> 00:02:20,802
such cases the game manager plays an
arbitrary legal move for the player and

26
00:02:20,802 --> 00:02:26,000
reports that move in the next play m
essage. Now that's only one way to deal

27
00:02:26,000 --> 00:02:31,063
with such cases the alternative would be
forfeiture. However, that's a somewhat

28
00:02:31,063 --> 00:02:36,126
severe consequence where communications
are not perfect. Also it could give a win

29
00:02:36,126 --> 00:02:41,064
to a weak player just because another
player failed to move in time or because

30
00:02:41,064 --> 00:02:46,064
an internet connection dropped. Doing
things this way at least forces players to

31
00:02:46,064 --> 00:02:47,440
do better than random.
