PyGame Casual Game Love

August 3rd, 2006, By Duncan Gough

I’m pleased to see PyGame get a mention in the latest IGDA Casual Games white paper:

Python is most often thought of in game development circles as a scripting language for
something that controls a lower level C/C++ core. Python in particular has been used in a
number of recent projects including ToonTown (Disney), Eve Online (CCP), Blade of
Darkness (CodeMasters), Star Trek Bridge Commander (Totally Games), and Earth &
Beyond (Electronic Arts).

A new generation of games is springing up using Python in combination with PyOpenGL
and/or PyGame (www.pygame.org). PyOpenGL provides a wrapper to the standard OpenGL
library and is thus suitable for developing 3D games, PyGame provides a wrapper to the
Simple DirectMedia Layer (www.libsdl.org/index.php) which uses GL or DirectX depending
on platform, and provides cross-platform access to hardware accelerated graphics as well as
input devices and other common game-engine requirements.

Libraries exist for Python to do its own networking, and there are now several small
downloadable client-server games built with Python/PyGame, with more popping up every
day. While most game designers are still looking at Python as a scripting language, its ease
of use, its cross-platform capability, and its ability to call C/C++ code when needed make it
a strong candidate language for small downloadable games. There are currently no known
technologies that play python games natively in a browser.

PyGame by itself can give you a good game. If you’re looking for something more than a simple Casual Game, then Twisted might provide the core, especially if you’re interested in writing network servers (Twisted, like Flickr, was originally built as a game, albeit at an entirely different level of abstraction). If you’re looking for more than what Twisted can offer, for example, to create a space based MMO that runs in a single shard like the masterful EVE Online, then Stackless Python is worth investigating. Python really does hold all the aces when it comes to game development. Other languages have similar options, Ruby has Shattered Ruby, Perl has POE, and so on. In my opinion, though, it’s second only to C/C++.

Elsewhere, well, the next paragraph, PHP/HTML gets a mention:

PHP is often selected to create small to medium Web persistent multi-player role-playing
and/or strategy games. This is most likely due to its cost, and the ease in which it allows
the implementation of a client-server architecture relying on a database system.
These games can be played directly through a client browser written in PHP or through a
downloaded client written in another language. Numerous examples of persistent PHP-based
games are available through the Internet with the membership ranging from a few dozens
to thousands of players.

Among the most successful PHP Web games, is the Legend of the Green Dragon RPG
(www.lotgd.net), developed under the GNU license and hosted on a few dozen servers, each
supporting a few hundreds players. Another interesting example is the Star Wars Combine
(www.swcombine.com), a free and non-commercial massively multiplayer Web role-playing
simulation game, based on the Star Wars universe, developed by amateurs during their
spare time. It gathers over 1,500 active players in a persistent gaming universe.

Sadly, there’s no mention of passive gaming though, maybe next time.

« Passive City BloggingCasual Games Not For Women? »