MakeBot — A Simple IDE for Learning Python Game Programming
Macintosh Version 1.4.2 released 24 Jan 2007
Windows Version 1.4 released Jan 2007
For my Video Game Programming for Kids course, I needed
an IDE for students to use which was intuitive and quick to learn. The command
line works well once you know how, but I wanted to have the absolutely
shortest learning curve possible so my students could get to the fun stuff
right away.
The top area is where you write your code, and then you just
click Run to see what it does. To see a short video of it in action,
look at my Video Game Programming for Kids page.
The video uses MakeBot plus a graphics library based
on PyGame that I wrote. If you want to do game development or
3-D stuff, MakeBot is just the ticket. If you want to write
Open-GL programs—fine, PyGame—great,
text-only cryptography games—no problem. MakeBot is
generic.
MakeBot was inspired by Processing.
When I first saw Processing, I was overwhelmed by how fun it was
to write programs and see the graphics immediately. It reminded
me of my young Apple ][ days, programming in AppleSoft Basic and
watching blocky colored shapes move around on the screen. I
immediately started writing a little Space Invaders game.
Processing however is written in Java which makes it sluggish,
and I prefer teaching with Python over Java. Plus Processing
has expanded their earlier simple interface into one that
handles multiple files, but now it's getting bulky. MakeBot
brings programming simplicity, ease and fun back to
kids.
Features
-
Simple Interface — It's not covered
with buttons and side panels so as to not confuse the
subject: your program.
-
Small Interface — Uses screen
real-estate sparingly so you can see more things simultaneously.
It's handy if you are writing a game and want to
see the graphics output at the same time as your code.
Especially handy if you are programming on a 12" iBook
without a lot of screen real estate. Or, if you are
programming in your regular editor, you can keep this handy
in the corner.
-
Type and Run — No need to create files
if you just want to test a few lines of code, just type them
in and go. Why bother saving a file someplace when you'll
just have to remember to delete it later. "How do I add
a value to a list? Was it .append(), .add() or .expand()?"
Just type in one line to try it out.
-
MoonUnit Graphics Package —
This graphics package was developed for our
Video Game Programming for Kids video game programming
course, evolving and simplifying over the years. It features a
straightforward API for drawing basic shapes, and also for animating
frames and registering callbacks for UI events. The unique callback
mechanism eliminates the need to teach event-driven programming.
-
Output Window Takes Keyboard Input —
Some editor's output windows only show output so if your
program asks a question, you can't respond. MakeBot's output
window takes keyboard input so a raw_input() call will work
and you can answer. Great for teaching math through
cryptography.
-
MakeBot Site-packages — When
distributing MakeBot to student machines, you can include a
site-packages folder that will be incorporated into the
global Python path via a .pth file. This makes it easier to
setup a computer lab since you need to distribute only one
set of files installed in one place.
-
Customizable Docs Button — The Docs button
opens an HTML page in the same folder as MakeBot so you can replace
it with documentation relevant to your class.
New in Version 1.4
-
Line Numbers — Syntax errors are easier to find
with line numbers shown on the screen.
-
3D Graphics — MoonUnit uses OpenGL for hardware
accelerated speed and 3D graphics. In addition to 2D squares and circles,
you can make 3D boxes, spheres, and import 3DS Max models too.
-
Customizable Build Scripts — The script to run a program
or show documentation is a customizable Python script. So you can write
your own to use another language like Ruby or Logo if you want. Another
example is a custom script that sends a student's work off to
the teacher's computer at the end of the day.
Fixes in Macintosh Version 1.4.2
- Works on Intel and PowerPC Macintoshes, OSX 10.4 or greater
- New mpkg installer that has separate parts for applications, frameworks,
and site-packages/MakeBot.pth.
- Includes universal binary forms of pygame, OpenGL, numarray, PyObjc, and
py2app.
- Publish command works for some programs but not all. We're still working on this.
Patches welcome.
- When run the first time, Python is the default Builder, instead of (None).
- Uninstaller is included, for those who have previous versions of MakeBot.
Download, Install, and FAQ
Download and Installation Instructions
— Instructions on installing MakeBot.
Thanks
Thanks also to these projects and people who influenced MakeBot:
DrawBot
is similar to MakeBot but specialized for only scalable 2D
images. Also thanks to Marti Cohen-Wolf at the
NYC Lab School
for
arranging our first large-scale video game programming courses.
I got the cute growing grass icon from
Rokey.
Copyright © 2004-2008, Stratolab LLC. All Rights Reserved.