Introduction
Dark Mercenary, written in DarkBASIC Classic, was supposed to be an actual implementation of my vision of Mercenary IV. Instead, it is a collection of five environments that reproduce some of the planets and moons of the Gamma system, plus the space section.

In mid-2004 I discovered a simple but seemingly effective programming language, specifically made for the creation of 3D games: DarkBASIC. In order to teach myself to use it, I started the ambitious project to bring my vision of Mercenary IV into reality. Progress was steady for about a year, during which I developed the space part, the ground parts of Icarus, Acheron and Atropos, and an "approximation" of Midas with few pyramids.

In mid-2005 I switched from Windows 98 to Windows XP and I discovered that, on that operating system, many objects were displayed white instead of textured. Those objects had one thing in common: they contained references to their textures, which were used to apply them automatically instead of explicitly calling the Texture Object command. This worked with Windows 98, but not with newer operating systems. Since the same objects were displayed correctly by other programs made with other SDKs, it was clear that the problem was not with the OS but with DarkBASIC Classic itself.

In 2006 I discovered three more problems with programs written in DarkBASIC Classic running on newer versions of Windows.
First: starting from Windows Vista, the library d3drm.dll, required by DarkBASIC programs, is missing from the OS.
Second: stereoscopic drivers for Vista and newer operating systems do not support stereoscopy with Direct3D 7, which is what DarkBASIC Classic uses.
Third: DarkBASIC Professional, despite being based on Direct3D 9, has been purposely made incompatible with the nVidia stereoscopic modes for Windows 98 and XP, promoting instead the proprietary mode used by iz3D monitors (which are now discontinued) in a failed attempt to improve the sales of both products.

There are workarounds for all of these problems. They are chiefly based on developing DarkBASIC Classic and DarkBASIC Professional versions simultaneously to maximize compatibility, and I made use of them to port Paolo Russo's Cube demo to PC, but I only learned them years after quitting the development of Mercenary 4 in DarkBASIC.


System requirements:

This program needs at least a 300 MHZ Pentium II processor and 64 MB of RAM to run.
For stereoscopy, the operating system needs to be Windows XP or lower.
To display correctly the 3D models containing texture references, the operating system must be Windows 95 or Windows 98. On newer operating systems, those models will be displayed without textures. This is an inherent limitation of DarkBASIC programs.

Windows Vista and Windows 7 users need to install the library d3drm.dll into their system directory in order to run this program. The system directory is c:\Windows\system32 in 32 bit systems; c:\Windows\sysWOW64 in 64 bit systems.
Screenshots:
(they were taken on Windows 98; click to see them full-size)
Eris and its moons seen from space A hexagonal building on Icarus
An antenna on Icarus Pyramids on Midas
Acheron Retreat Triton from space

Download:
Download Dark Mercenary (Zip file, 15 MB)
Successor
TADPSID screenshot
In late 2010, I decided to use my analysis of the screenshots of Damocles for PC to create an open-source, explorable virtual environment based on them, that I called TADPSID For that, I decided to use C++ and the free engine Irrlicht. After the release of the first version, I decided to make the project evolve until it has enough features to actually implement my vision of Mercenary 4. I reused some assets from Dark Mercenary and others from the Gamma system for Celestia, while I created the rest from scratch. TADPSID has progressed more in 4 months than Dark Mercenary did in a year, and now the project is live and progressing! Follow its development!

Would you like to develop games or make virtual environments in DarkBASIC? Don't let the first hurdles stop you. These books will teach you many things you cannot simply find with a search engine, while available examples will give you the starting material you need to experiment with, way more than you would get by asking in a forum.