Games on Dragonfly BSD (Part 1)

Dragonfly BSD lacks the Linux compatibility layer found in FreeBSD, which limits the number of video games it supports. However there's a long list of old games with free and open implementations you can install from dports. Here's four.

Innoextract Note

If you don't have an optical drive, or you don't have the disc for any of these games, you can purchase the game from GOG, and use innoextract(1) to unpack the files from the Microsoft Windows installer file. innoextract, much like all of the games on this list, can be found in pkg(8) and dports(7). The only recommendation I'd make is that you run innoextract with the ‘-L’ flag, to ensure extracted files are all lower case, as this avoids a handful of compatibility issues stemming from some of these games being originally for MS-DOS.

Wargus

Wargus brings Warcraft 2 Tides of Darkness and Beyond the Dark Portal to the Stratagus engine. Wargus is available both through pkg(8) and dports(7), and comes with a tool named wartool(6) to extract the files required to play the game. The process to get Warcraft 2 running on this engine is straight forward, and consists solely of running wartool against the mountpoint for your original CD:

wartool -v -r /mnt/CD /usr/local/share/wargus

Julius

Julius reimplements Caesar 3, released by Sierra On-line in 1998. It is available through pkg(8) under the name julius-caesariii, alongside dports(7). Much like Wargus, it depends on the files contained on the original game CD, however does not require a tool to extract. Simply copy the files from the disc to any directory, and run julius from that path.

DevilutionX

DevilutionX brings Diablo, by Blizzard Entertainment, to DragonflyBSD (among others). Again available in pkg(8) and dports(7) under the name devilutionX, the steps to run Diablo through devilutionx is the same as Julius - mount the disc, copy the contents to a local directory, and then run devilutionx, with an argument pointing at the game's files:

devilutionx --data-dir ~/Games/Diablo

GemRB

GemRB implements the Infinity Engine, providing support for Baldur's Gate 1 and 2, Planescape: Torment, and Icewind Dale. Icewind Dale 2 is supported and playable, but it is apparently not possible to complete the game in GemRB's current state.

GemRB is available in pkg(8) and dports(7), and the setup for each game is slightly more involved than the previous games in this list. Start by copying the contents of your original CD-ROM to a local directory. GemRB makes use of per-game configuration files to specify options for each game. Copy GemRB.cfg from /usr/local to the directory containing your game data (this is how I set it up, it is by no means the only way to do it):

cp /usr/local/etc/gemrb/GemRB.cfg ~/Games/Icewind_Dale/

Modify the file to specify some important configuration options. Here are the options I've set in order to play Icewind Dale:

    GameType=iwd
    Width=1920
    Height=1440
    Fullscreen=1
    GamePath=.
    GemRBPath=/usr/local/share/gemrb
    PluginsPath=/usr/local/lib/gemrb/plugins