Release Notes: This release added am interfaces.replay module, which replays Fabula game logs. A JSON-RPC server interface was added. Mouse-based scrolling was removed from PygameUserInterface. A surface catcher module was added for screen capturing - press 'F2' to start capturing. Fabula uses a new 'planes' version which allows for slick GUI elements with bitmap backgrounds. The Fabula server can now be run without Pygame installed. There were lots of fixes, improvements, and a documentation update.
Release Notes: This release makes server and client dis/reconnection much more reliable, adding ExitEvent and making the server more tolerant towards abrupt client exits. On the client side, the user will be warned when server replies take too long. Console and file log levels are hardwired. The server will listen on port '0xfab' (4011), and displays a friendly interface on the console. PygameUserInterface has an on-screen display that will display statistics upon F1. There are many fixes and improvements, API changes in fabula.run, and a documentation update.
Release Notes: Improved room and multiplayer handling in the server. In the client, the scrolling amount is now based on the framerate. There now is a check for window focus before the scrolling. The client now centers the room plane on the player Entity, while snapping to the display edges. When performing PickUp and Drop, all eight positions surrounding the player are considered now. Exception handling has been improved; Fabula exits cleanly in most cases now. Many minor changes, fixes, cleanups, and a documentation update.
Release Notes: The main feature of this release is the re-introduction of TCP networking, which had been disabled in previous releases. Networking is handled using only modules from the Python standard library. Server networking is multithreaded, with a new thread for each incoming connection. Players will be prompted for the server IP and port. Two new scripts have been added, which start a networking-enabled server and client. PygameUserInterface now highlights entities and buttons on mouseover. There have been lots of minor fixes and improvements, and a documentation update.
Release Notes: This version comes with new demo game art from the "Whispers of Avalon" open source game project. Fabula entities now support sprite sheets for walking animations. The editor now opens a screen of the same size as the game screen and supports the SaysEvent. Fabula now features a server-side command-line interface. setup.py has been fixed to finally work with vanilla Python distutils alongside cx_Freeze. Fabula source releases will be in ZIP format for the time being since tarballs created by distutils preserve symbolic links. Minor fixes, cleanups, and documentation updates were done.
Release Notes: Fabula now supports rooms larger than the screen in the client and the editor. The underlying rendering architecture was changed to pre-render backgrounds and resize bitmaps to fit the size of the room. Moving the mouse to the edges of the window triggers horizontal scrolling. Loading large background images in the editor now creates a room of an appropriate size. Fabula applications now read options from a configuration file, most prominently the "fullscreen" option. Minor fixes and documentation updates were made.
Release Notes: Logging refactoring. PygameEditor now offers a full-fledged Entity editor. Using the new clickndrag API to prevent entity captions from popping up in the wrong places. Refactored plane ordering when processing MovesToEvents: entities now correctly overlap each other, depending on their vertical position. Action icons now move with the entity that has been clicked on. The pathfinding has been changed to make entities stop when they cannot get any closer to their target. A default room is included in the distribution, with free game art from Danc (www.lostgarden.com). The documentation has been updated.
Release Notes: This release adds Entity.blocking and Entity.mobile flags, to be evaluated by the server when processing attempt events. Code processing pick up attempts now check whether Entity.mobile is True. Improved pathfinding, preventing entities from wandering around when the target is blocked. Minor fixes and documentation updates.
Release Notes: This release removes the action icons from the inventory. Instead, they pop up when right-clicking an entity. Refactoring of PygameEntity captions. The inventory now features a background image that can also be customized. Changes in the display of SaysEvents. plugins.pygameui has been adapted to clickndrag API changes. Fabula games can now be played in full screen, and pressing escape will quit the game. Several bugfixes in the DefaultGame server plugin and PygameUserInterface.
Release Notes: Refactoring of the client-server connection procedure. The user interface now displays a splash screen and then asks the player for a login and connection details. All timing and event queueing have been moved from client to server. The condition-response logic is now stored in a plain text file. There are many improvements in the user interface, most prominently captions for entities and implementation of entity conversation. There is improved support for Entity subclasses, an update to the new clickndrag API, documentation updates, and many fixes and enhancements under the hood.