pygame is
Simple DirectMedia Layer is
Site Swing

fabula - 0.8.1

Florian Berger (fberger)



Fabula is an Open Source Python Game Engine suitable for adventure, role-playing and strategy games and digital interactive storytelling.

Fabula can be used as a library to develop your own games. As an alternative, you can use the Pygame-based graphical editor and the default game engine that come with fabula.


  • client-server architecture
  • event-based protocol
  • multiplayer and networking capabilites
  • multi-threaded server
  • abstract, visualisation-agnostic model of a game world
  • asset manager
  • plugin system
  • recording and playback of gameplay
  • well-documented code
  • runs on Linux and MS Windows (it should work on OS X, too, but this has not yet been tested)

Fabula uses the clickndrag library under the hood for sprites, items, tiles and the GUI.

All 0.8.x releases of Fabula are alpha versions. They may not install cleanly, lack features, crash or set your pet on fire. Use at your own risk!

Please note that fabula needs Python 3 to run.

"Fabula" used to be called "Shard" before being released to the public in 2011.


Improved room and multiplayer handling on the server side.

In the Pygame client, the room scrolling amount is now based on the framerate. There now is a check for window focus before the window scrolls. The client now centers the room plane on the player Entity, while snapping the room to the display edges. Also, handling of DeleteEvent is finally implemented. When performing PickUp and Drop, all eight positions surrounding the player are considered now instead of just four.

The property window of the Pygame editor will display large entities correctly now.

Overall exception handling has been improved, Fabula exits cleanly upon an exception in most cases now.

Log file names now include the process id, making it possible to run parallel clients from the same directory without conflicts.

Lots of minor changes, fixes, cleanups, and a documentation update.


Home Page:


click to view original size


fabula - 0.8.3 - Jun 27, 2012
fabula - 0.8.2 - Feb 11, 2012
fabula - 0.8.1 - Jan 31, 2012
fabula - 0.8.0 - Jan 13, 2012
fabula - 0.7.0 - Jul 19, 2011
fabula - 0.6.0 - Apr 14, 2011
fabula - 0.5.0 - Apr 6, 2011
fabula - 0.4.0 - Mar 25, 2011
fabula - 0.3.0 - Mar 23, 2011
fabula - 0.2.0 - Mar 11, 2011
fabula - 0.1.0 - Jan 13, 2011 account Comments

If you wish to leave a comment with your account, please sign in first.

August 9, 2011 8:06am - Xandar Kablandar - nickname: (eternalcheesecake)
Hey thank you for the new release! I installed it via the "python3 install" recipe in the README (actually needed to be prefaced "sudo"), and that went without a hitch. But it wasn't clear how to actually run the installed program from within my Linux distro.

Looking at the installation output, it mentioned 3 scripts copied to /usr/local/bin/ :,, and So I tried executing them, but it immediate gave me a traceback--I don't have Pygame for Python 3 ("ImportError: No module named pygame").

Do you know of a convenient way to install Pygame 3 for Python 3 under K/Ubuntu?
July 19, 2011 4:04pm - Florian Berger - nickname: (fberger)
@eternalcheesecake: Your issues have been fixed in the 0.7.0 release. Fabula should install with vanilla distutils now, no need for cx_Freeze. Distribution format has been changed to a ZIP file with all symlinks dereferenced.
May 12, 2011 12:02pm - Florian Berger - nickname: (fberger)
@eternalcheesecake, all 0.x releases are to be considered Alpha, sorry for the inconveniences. I will fix the setup issue in the next release. Also those very private symlinks will go away in stable releases. :) Thanks for the hint.
April 14, 2011 11:34am - Xandar Kablandar - nickname: (eternalcheesecake)
Been wanting to try this out but am hitting setup issues running "python3 install" as it needs cx_Freeze, but I cannot install that by running "sudo pip install cx_Freeze", as I assume that Python 2.6 is catching it not 3.x.

Also, looking through the scripts subdirectory, I see a number of files that are links to files on your personal machine, like "100x100-gray-png" linking to "/home/florian/doktorarbeit/projekte/fabula/draft/100x100-gray.png"... I think those are going to need to be dereferenced before being archived.

our projects welcomes all python game, art, music, sound, video and multimedia projects. If they use pygame or not.
recent releases
May 29, 2016

May 27, 2016

May 21, 2016

May 18, 2016

May 1, 2016

Mar 27, 2016

Mar 26, 2016

Mar 22, 2016

Mar 19, 2016

... more!
for pygame related questions, comments, and suggestions, please see help (lists, irc)