Internet Based Software Development |
We, the founders of Sleepless Software, had a
vision. OK, in retrospect maybe it was more like a hallucination. Anyway,
we wanted to make a shareware game and use the profits to build a software
development company.
The company was founded by myself (Joe Hitchens) and my friend Bryan Ford and my brother Ron Hitchens. I have been working in the computer game industry since 1986 as an artist and designer. Bryan is an extraordinarily talented, creative and forward-thinking programmer. When we started this company, we were both pretty big Internet junkies so we thought it would be cool to develop the game using the Internet. Also, our long term goal was to develop Internet software such as online, human vs. human, multi-player games (this was before 'www.mycompany.com' was on every TV commercial and when people said, "inter-what?" when you said, "Internet".) Our basic plan was to work very hard to develop our first game with little or no pay, use the profits from that game once it was finished as financing for the following project, and then continue the cycle indefinately. And so that is exactly what we tried. The game we chose to make is called "Inner Worlds". It is based on a simple design that I came up with in 1986 that was originally intended for the Atari 7800 game console. The game was a fairly straightforward action/adventure, side-scroll, platform game with a main character named "Nikita". Nikita had the ability to transform into a wolf and back at will. In our final design, the character was changed from a male to a female character but her name is still Nikita and she still has the ability to change from human to wolf form. Since Sleepless was newly formed and had very little money to invest in such a project we decided to ask potential team members if they would be willing to work on the game in exchange for a deferred royalty share. Linux (a freely distributable Unix-like OS for PC hardware) had just become available and since Linux was cool and free, we were of course using it. So we posted a message to the usenet group "comp.os.linux" announcing our project to the Linux community and asking if anyone would like to help out. The response was overwhelming! Hundreds of people responded to the initial posting. I spent about a week doing nothing but trying to respond to the flood of email messages that came in. When the dust settled, we had about 2 dozen team members. We chose to cross develop the game on Linux using GCC (because GCC was also free and cool!) with the end product being an MSDOS executable. We intended to release a Linux version of the game also which we may still do. The Linux version exists, is identical to the DOS version and is actually included on the CDROM for the REGISTERED version of the game. During development, we leaned very heavily on the following tools:
An EMail mailing list that included all team members. When someone sent email to another team member, they included a carbon copy to the mailing list so that the message was actually seen by everyone. The concurrent version system. Used to coalesce modifications made by remote team members and to tag and keep track of distribution versions of the source and development environment. The Unix 'tar' (tape archive) program which was used to package the development system and source code for distribution. The "Pretty Good Privacy" encryption program. Used to secure the source code and data from prying eyes while moving around the Internet. Used to transfer the data and source distributions between team members. Used to detect & extract changes to the game made by remote team members. Used to reapply modifications contained in a 'diff' file to another team members version of the source. To acquire music for the game, we held an Internet contest! Each of the winning entries was paid $100 and the grand prize winner received $1000. Of course, not everything worked out wonderfully. Inner Worlds was supposed to be a 1 year project but it ended up taking 3 years to complete. The main reason for this was that we were trying out too many experimental things on the project in addition to the IDT concept. Few (if any) of us had had any experience trying to develop software in a distributed way like this. Also, I personally knew little about project management and it turns out that this was precisely what I needed to know to make it all work. And of course there were also dozens of other reasons. If we had succeeded in getting the game done two years sooner, it would have been outstanding. But even so, it was, in fact finished (which I consider a deeply personal victory) and it was done on a shoestring budget. Inner Worlds also incorporates a number of new and innovative concepts and techniques above and beyond the distributed development:
I also know that the things I learned about software development and distributed development teams will be priceless in the future. Inner Worlds may or may not be able to finance the next IDT project for Sleepless Software. That remains to be seen. At the time of this writing I am finishing up negotiations for publication of the game via commercial distribution channels which will complement our current shareware distribution. All in all, I'm pretty proud of our accomplishment and extremely optimistic about the future of Sleepless and the potential of the IDT.
j.h.
Addendum: |