easygame
the easiest way we've found to write interactive graphical programs
I've spent a little time each summer teaching programming to teenagers at Scripture Union's Transformers holiday.
Way back at the dawn of time we used 8 bit home computers which had
BASIC interpreters. While BASIC is - um - basic, you can tell the
computer to write some text or draw a line or clear the screen and it
Just Does It. I learned to program this way and had lots of fun.
These days, most ways you might find to write programs require
you to grok a bunch of slightly high brow concepts such as object
oriented programming, widgets, containers, canvases, event loops and
top level window handling. You don't really need that stuff if all you
want to do is print your name on the screen in large friendly letters :)
Getting started
- Download and install Python. I'm still using Python 2.4, so for Windows users I'd recommend grabbing python-2.4.3.msi.
- Download and install pygame. Note: pygame 1.7 on Windows is buggy and crashes out frequently for me, so I strongly recommend you use pygame-1.6.win32-py2.4.exe.
- Optional, but highly recommended: Download and install Ipython. Windows users should take ipython-0.7.2.win32.exe.
- Download easygame.
- (Assuming you installed Ipython); just run easygame.py, and start
typing stuff into the ipython console, which on Windows looks like this:

- Write python code that imports easygame.
Wish list
- A self contained Windows executable, with Python, IPython, pygame, easygame, support files and online help.
- Support for Python eggs based installation.
- A collection of redistributable game content, such as some nice tileable background images.
- An improved input handling system. Keystrokes works pretty well.
- A screencast or three.
- More examples (more than 10 people have written projects using
easygame, but I need to check with them before distributing their work).
- A design discussion document.
Support
The Sourceforge forum is a good place to get support.
Please email dickon@cantab.net. I make no promises of a quick response (I have a life...) but you can try your luck!