A couple of years ago I started to consider the changes I might like to make in my technology-oriented life as I approached and entered retirement. In the earliest years of my career - in the days of the Commodore 64 micro-computer - I had started to get involved in developing computer games, but my creative energies were quickly monopolized in the solution of far more mundane technology challenges. Hence my desire to develop a game was placed on a shelf where it gathered dust for more years than I care to recount. And so I decided that in retirement I would pull that goal off the shelf and have a little fun creating some simple games.
While not yet retired, I did decide to at least set up a development environment, which I decided would be Linux-based.
As I began researching languages and resources I stumbled first into Walter Bright's D programming language. Having been consumed by the pursuit of high performance computing throughout my career I immediately recognized in D what I considered the be "the perfect language". Here was a language that still compiled and linked down to bare-metal executables, while at the same time fully embracing the latest object-oriented concepts. Here was a language in which garbage collection was merely an option, and here was a language that lent itself to rapid development.
Looking further I discovered Clay Smith's brilliant ArcLib library - a D language library for 2D game development. This was just what the proverbial doctor ordered - now I was really getting excited!
And so I set about creating my own ArcLib development environment, only to immediately run into time- and labor- consuming roadblocks. Specifically, I could not get the versions of the operating systems standard libraries, as well as the versions of all the various libraries, to compile and link together successfully. None of these libraries had been package-ized, so there was no way to account for the dependencies amongst these rapidly-evolving libraries. In fact, until I enlisted the assistance of Clay himself I was unable to establish my development environment at all.
The need for a turn key Linux distro for game development suddenly became quite apparent. Searching the Internet for such a distro I was met only by forum postings of other hopeful developers wishing that such a thing existed. That is when my goal changed from developing a game to producing a Linux distro that would satisfy this need.
And so the next phase of my odyssey began, which was coming to understand just how to produce my Linux distro (no small feat). Fortunately my research revealed that today it is possible to 'remaster' existing distros, which makes the process vastly easier. With further research I found the service reconstructor.org, which enables a person to create and produce their own Linux remix through a convenient web interface. This realization proved to be just another beginning, as I then found myself having to learn exactly how to customize the Gnome desktop environment via shell script (in order to integrate my new features into the default menu system). Also, getting the Allegro Sprite Editor to build an integrated into the menu system was its own challenge (what's a game development environment without a basic sprite editor? And there were few to be found for Linux).
As I approached completion I realized that distribution of a 1.4G file was going to pose its own challenges. So now I had to gain carnal knowledge of Bittorrent technology.
Finally, after many months of polishing, after countless build iterations through reconstructor.org, Dread Moon Linux has been made available to all, and this web portal is intended to serve as a meeting place for those who care to join in the fun!