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

Wade Brainerd wadetb at gmail.com
Mon Mar 24 18:41:49 EDT 2008


Hi Ben,

I'm the one who wrote the Idea entry, so I'll try and elaborate on what I
was thinking.

True, there are a number of PyGame board and card games out there that can
probably be run on the XO today.  However, these games would fall into the
category of what I call "obvious ports".  The XO has a very specialized user
interface, and a number of killer features that make it a unique and great
platform for this kind of gameplay.

I don't think that there is much challenge in implementing the individual
games, either.  Given one solid two player game implementation with
multiplayer and AI (say Othello), you can likely turn out Chess, Checkers,
Mancala, Deducto, Tic-Tac-Toe, Connect 4 and a dozen others in about a week
each.  The same goes simple N player (or solitaire) card games.

So, what I wanted to do was to develop one very good game implementation and
then base the rest on it.  In reality, we would probably develop a few
simultaneously to learn the requirements while improving and refining them
together and extracting out shareable components as we go.

I'm not interested in developing a framework and restricting the games to
implementing some few interfaces.  But there is a need for several common
(and complex) pieces of code that can be shared between games and used by
future developers.

- A generic minimax AI implementation (one is on my User:Wade page already)
- A game state recording & playback component.
- A system to manage multiplayer games with 2 active players and N
observers, rotating in new players to replace the losers while keeping the
winner
- A tutorial component (a list of game states with instruction text and
moves that the player must make to continue).

These components could consist of generic "model" code as well as custom
PyGTK widgets that would make up the "interface" code.

Since most games can be devolved into the concept of a "state" that can be
modified by "moves", this could be the interface through which many of the
components are communicated to.  But the core idea is that they are
"components", not a "framework".

Also, I agree with you about this being a great way to learn to program.
It's how I learned as well, modifying games written in BASIC for the
TRS-80.  So these games are absolutely intended to serve the purpose of
providing concrete examples in a "learn to program" environment, and that is
accomplished through the "View Source" key on the keyboard, the Pippy (and
eventually maybe Develop) activities, and the very clean, well organized and
documented Python game code which we intend to write :)

Best regards,

Wade

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.
>
> 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.
>
> This leads me to wonder what the central aspect of this project is:
> - 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)
> - 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.  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.
> - 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, 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.
>
> 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.
>
> Thanks for your help.
>
> -Ben C
> _______________________________________________
> Games mailing list
> Games at lists.laptop.org
> http://lists.laptop.org/listinfo/games
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.laptop.org/pipermail/gsoc/attachments/20080324/8d4cd94f/attachment.htm 


More information about the Gsoc mailing list