Game Development Newbies

From OLPC
Revision as of 05:59, 11 December 2007 by Mcfletch (talk | contribs) (Clarify and clean up, provide pointers to the three major approaches.)
Jump to navigation Jump to search
  english | 日本語 HowTo [ID# 83770]  +/-  

Currently this website and this project is under construction. Questions? Comments? Contact user:xocolatl or use the discussion page.

Introduction

This page is intended as a guide for people who want to program games for One Laptop Per Child's XO computers, but don't know how to get started (i.e. game development newbies). You may not have vast amounts (if any) experience in programing games and you may have limited programing experience, but that doesn't mean you can't put in some effort and produce an XO game. If you're interested in programing games but don't know how to get started, get help here.

Programming

Make sure to take a look at Getting started programming for general programming and development environment setup advice. There are currently three major approaches being used for Game development on the OLPC Sugar platform:

  • Writing PyGTK code as a regular Python Sugar Activity
    • Requires a fairly firm grasp of event-driven GUI programming, and encompasses a huge number of APIs (GTK, Pango, Cairo, etceteras), suitable for projects that need lots of text, buttons, and the like
  • Writing Pygame code with the OLPCGames wrapper
    • Comparatively smaller library focused on "bitmap" (raster) graphics and traditional arcade-style games
  • Writing/Developing EToys content/modules
    • Allows you to scale up from point-and-click media-scripting activities right up to very sophisticated demonstrations. Includes a large number of pre-packaged components that you can script together easily.

arranged in order roughly of descending complexity and "programming experience required".

Communication

There will come a time when you need to ask questions. You may need to find out more about recently updated specifications or even someone to look over your code. Here are some ways to contact others in the OLCP game development community.

  • The Game Mailing List
    • If you are interested in talking to other OLPC game developers, communicating game ideas, etc, you should join this list anyway. If you are interested, there are lots of other lists to join, but as a newbie game developer, definitely consider the Games list.
  • IRC channel, #olpc-content at freenode.net
    • IRC stands for Internet Relay Chat. Think instant messaging designed for group chat on "channels".
    • How do you get it? Start by downloading a client. I recommend xChat, although if you do a google search on 'irc client', you should get some good hits.
    • Whatever your client, you should be able to access networks and visit channels on those networks. To talk to some OLPC game developers, use the FreeNode network and go to channel #olpc-content.

Lend a Hand

If you aren't comfortable starting your own game, or if one of these ideas particularly appeals to you, start off your OLPC involvement by helping one of these projects.

  • Side Scroller
    • Currently, OLPC has a side-scroller engine under development. At some point in the not too distant future, levels will need to be created (and, if you feel such an inclination, you can customize your own side-scroller with the engine). Level development is designed to be extremely simple and involves editing a text file with symbols that look similar to the tiles. Therefore, the transition from making the level to seeing its output is very smooth and satisfying. If you are interested in helping create levels (or, with a bit of programming, creating your own unique side-scroller with unique enemies, bosses, gravity, etc.), please contact me at pepboy013@gmail.com, and I can send you examples and walk you through the process.
  • Incredibly Simple Interactive Storytelling
    • The goal of ISIS is to create a very simple and usable interactive storytelling system aimed at young kids using the XO Laptops. More details about this project are being discussed at Adventure Stories
  • Productive
    • Simplified Real Time Strategy game being developed for the OLPC platform using OLPCGames
  • MaMaMedia Story Builder
    • Help build an editor for telling interactive stories
  • Connect
    • Core activity included with the default installation