GNU FreeDink
Introduction to FreeDink
FreeDink is a portable and enhanced version of the Dink Smallwood game engine.
FreeDink is free software, and you are welcome to redistribute it under certain conditions; see the GNU GPL for details.
What is Dink Smallwood?
Dink Smallwood is an adventure/role-playing game, similar to Zelda, made by RTsoft. Besides twisted humour, it includes the actual game editor, allowing players to create hundreds of new adventures called Dink Modules or D-Mods for short. The Dink Network hosts a copy of almost all of them.
In 2003, Seth A. Robinson from RTsoft released the source code of the game engine, at version 1.07, under a free software license (parts of the game data remains under control of RTsoft). More source code from Seth can be found at codedojo.com.
In 2006, Dan Walma lead the development of next official version 1.08, under the same license, featuring many bug fixes, true-color graphics mode and script engine improvements. On the downside, it only runs under MS Windows and breaks compatibility with some of the existing D-Mods (list).
FreeDink appeared in-between (see timeline) and aims at improving the game engine to target new platforms and features. The project is now reaching maturity, and we're expecting the most of the game data too, after which we'll start packaging.
GNU FreeDink
GNU FreeDink currently runs the original game as well as its D-Mods, with close compatibility, under new platforms.
FreeDink can run in 2 modes:
- v1.08 (default): this matches the latest release of the Dink engine, which includes some new features and some backward-incompatible changes. Use it for recent D-Mods.
- v1.07 (with option '--v1.07'): this matches v1.07 of the Dink engine, essentially unmodified since 1998. Use it to play D-Mods released before 2006.
On the technical level, the internals of the engines experience a clean-up to allow for portability and later improvements.
On the technical level, this mainly implied using free and portable replacements for the game libraries, such as Simple DirectMedia Layer (SDL), instead of the proprietary and Windows-specific one that the game original used. GNU FreeDink v1.07 is also where the internals of the engines experience a clean-up to allow for later improvements.
Status:
- All the game engine features (graphics, sound, input) are reimplemented using SDL and SDL extensions (and tricks).
- Redistribution of some data files needs legal clarification.
- PPC users: endianness issues are to be fixed (map and savegame loading).
- v1.08 compatibility added.
- Some polishing TODO
- Releasing game data under a free license in progress.
Future plans
Next step is extending the engine while preserving accurate support for released D-Mods.
Ideas include Guile (script engine) and gettext (on-the-fly translation) support. Things are still nebulous at this moment, so feel free to mail suggestions :) How to best maintain two versions at once (v1.07 and v1.08), and concerns with backward compatibility are yet to be precisely defined.
DFArc
DFArc is the Dink front-end and archiver, which helps running and managing D-Mods. It was ported too.
3rd-party tools
Other Dink utilities are also planned for port. A portable version of WinDinkedit is in early progress.
Downloading FreeDink
The project is currently not being advertised until a stable development base is ready. Hence, there is no official releases, though in-progress versions can be downloaded for testing.
- The latest version of FreeDink can be found it its Git repository. Check the Savannah project page at http://savannah.gnu.org/projects/freedink for details.
- Pre-release snapshots can be found at http://www.freedink.org/snapshots/
Maintainer
FreeDink is currently being maintained by Sylvain Beucler <beuc@beuc.net>.