The B+ Tree program
I've always found it interesting watching two chess programs play each other, and the Arena Chess GUI provides a good way of doing this. However it only allows for round robin (all play all) and gauntlet (one plays many) type competitions. In chess it is very common to have Swiss style tournaments, where each round has players paired against others with the same number of points. Arena doesn't provide for this, but I found a program called ArenaSwiss by Eberhard Jiritschka from 2009 that interfaced with Arena. When I saw it was written in Pascal I decided it would be a good opportunity to reacquaint myself with a language I hadn't used in over 30 years, and I ended up creating my own version of the program. This in turn led to creating various other programs relating to playing chess with Arena, LucasChess and Shredder as well as drivers for controlling electronic chess boards made by Novag, Certabo and Millennium.
A floor layout program I've used for over ten years now is
I like it as it uses a game engine to allow you to "walk" around the plan in 3D rather than other
programs which often produce more photorealistic views but from a fixed path. It also allows you
to create your own objects by either grouping together primitive shapes or importing them as VRML
objects rather than relying on a large library of objects that don't really match my furniture etc.
To create the VRML files I use
but both of these had issues with the VRML export so I amended their scripts to make them
more suitable for my use.