[OLPC-Games] [OLPC-GSoC] Clarification of Board/Card game project

Edward Cherlin echerlin at gmail.com
Mon Mar 24 20:18:12 EDT 2008

Excellent questions.

On Mon, Mar 24, 2008 at 3:04 PM, bzlman <bzlman at gmail.com> wrote:
> Hi,
>  I am interested in working on the board/card game development project,
>  but I wanted to get a little clarification about what is being asked
>  for before applying.
>  From the description on the ideas site, it sounds like the basic idea
>  is to bring standard board/card games to the OLPC, with a few modified
>  features that utilize the unique XO hardware and mesh network system,
>  as well as have some kind of educational element, be it in teaching
>  the game itself, or in terms of being written using very scalable OO
>  code.

Standardized games, yes, to a degree. But not just standardized
Western games. We need owari/mancala and mlabalaba (12 Men's Morris)
from Africa, flower card games from China, Korea, and Japan, Mah Jong
and other tile games, Chinese chess (Xiangqi), Korean chess (janggi),
Japanese chess (shogi), and many others from around the world.

>  What I am a bit unclear about is what exactly is unique about the
>  project: many of these games are already available in python and
>  pygame (which from what I have been able to tell is the main/preferred
>  game development API), so just getting the games up and running would
>  probably be more of a porting job than anything else, with the
>  additional features such as added network communication and game
>  recording/playback perhaps, along with any additional AI.

If we set out to do that thoroughly and systematically, it is a lot of work.

What is unique is Sugar and Telepathy. There are additional considerations.

*We want game software to be able to speak moves.

*We want the ability to annotate games.

*We want to be able to save game records in the Journal for resuming
or replaying, and for commenting and sharing.

*We want to provide collections of annotated records of classic games.

*We want each two-player game to support the two active players and
any number of spectators, who can discuss the game without the players
seeing or hearing the discussion.

*We want the game of kriegspiel, which is chess under fog of war. That
is, neither player sees the other player's moves. In the physical
world, it requires three boards, including one for a referee in
addition to those for the two players. The referee announces illegal
move attempts and captures, but on a computer kriegspiel can be
refereed in software. We should be able to apply the kriegspiel
referee to other board games, starting with other versions of chess.

*We want to design multiplayer modes of formerly single-player games
such as Micropolis (not to be confused with the trademarked commercial
version from the same code, SimCity).

*There are a number of game server protocols and game file formats to
support in a way that interoperates with native Sugar games.

*We want to be able to create and solve puzzles in these game
frameworks, such as checkmate in so many moves in chess, or the
minimum number of moves in jumping peg and sliding block puzzles.

*There is a vast literature on game theory that can be integrated into
game AIs and tutorials. These include von Neumann games, in which
players make their moves simultaneously in ignorance of each others'
intentions; Conway games of perfect information, with players taking
turns; and various other kinds.

*We want game engines that permit children to code strategies, in the
manner of Core Wars and tournament Prisoners' Dilemma (as described in
The Evolution of Cooperation).

*We need tutorials on many games. International Chess Master Josh
Waitzkin wants to donate his Chessmaster software.

*In tutorial modes, we want the computer to be able to display every
legal move in a given position. We want the computer to demonstrate
how to count threats and evaluate game positions, and otherwise
provide guidance on strategy and tactics.

>  This leads me to wonder what the central aspect of this project is:

Constructionist education by means of collaborative discovery.

>  - Is it simply getting a whole bunch of games up and running? (from
>  reading through the games at lists.laptop.org archives that doesn't sound
>  to be right)

That's right, it isn't the point. Educational games are useful, but
helping children learn to write their own games is much more useful.

>  - Is the more important element being the creation of a more general
>  "framework", and if so, how general would really be useful? From
>  personal experience programming games in Java, a too-vague top-down
>  approach really doesn't help anyone, and even similar games quickly
>  resist useful OO structure.

A certain amount of OO is inevitable, because many games can be played
on the same or very similar boards with the same or similar pieces but
different rules. There are very large numbers of fairy chess variants.
There are many forms of mancala, or of N Men's Morris (N running from
3 to 12), or nim. Several games are played on go boards under many
different rule sets, and go itself can be played on boards of many
sizes and shapes, including a 3D diamond crystal lattice.

> Realistically, creating such a framework
>  would not obviously make future game development of anything other
>  than relatively minor rules variations "easy".  This is not to say
>  that it can't be done, I am just wondering if the idea could be
>  clarified a bit more.

We will have to tackle fairly serious rule variations in established
games, like the difference between the Japanese ko rule in go and the
Chinese superko rule, and the different scoring methods. We will have
to assist children who want to explore the rule spaces.

>  - The other issue that I was wondering about was who is the future
>  game development targeted to? Future dedicated developers, or the XO
>  recipients themselves? I ask this b/c, again, from experience, I
>  taught myself to program while sitting in math class and messing
>  around with the games on my TI-83+.  The BASIC language and
>  straightforward syntax really got me excited about being able to write
>  my own games, and if that is the primary aim of the project,

You got it.

> then
>  perhaps this game framework would be part of a larger project of
>  creating a very simple programming development (a la BASIC), and these
>  games would serve as full-fledged examples to play around with and
>  modify.

Exactly. Although in Python and Smalltalk rather than BASIC.

>  I apologize for the long-windedness, I have simply given this project
>  a lot of thought, and I was hoping to get a bit more direction before
>  submitting my proposal.

Good work.

>  Thanks for your help.
>  -Ben C
>  _______________________________________________
>  Gsoc mailing list
>  Gsoc at lists.laptop.org
>  http://lists.laptop.org/listinfo/gsoc

Edward Cherlin
End Poverty at a Profit by teaching children business
"The best way to predict the future is to invent it."--Alan Kay

More information about the Games mailing list