Jgprof in the forum wanted to know a bit about Driftmoon's background. I thought the question interesting enough to write a short post about.
"What language is Driftmoon written in, and what libraries are you using? How many LOC is it and how many hours have you spent on it?"
The Driftmoon game engine consists of about a 100 000 lines of C++, including the editor tools. It's a lot of code on one person's plate, I find it a great exercise for my memory. There are a lot of libraries we use. Ogg Vorbis, the sound decoding library. DirectX for graphics. Box2D for physics. And of course the standard JPEG and PNG libraries. Zlib. The actual game is written mostly in the Driftmoon scripting language, but I don't know how many lines of code there would be. Thousands in any case.
A quick calculation shows that we must have spent about 5000 hours for the game and the engine in the last six years. We've worked on the actual game content only for the last two years, after I had to drop the Cormoon project and adapted the engine to Driftmoon. The tough part at the moment is getting enough hours to work on Driftmoon, as we have two lovely little distractions running (and crawling) around the house and I have my day job. But we've managed pretty well, I think.
"Simlarly for the content: how much time goes in to creating a level as beautiful as the ones in the Alpha release?"
It's hard to say how long a good level takes to make, as we always have to work on new additions to the engine and the overall experience. And there's a lot of testing that we have to do. The upcoming monastery area and the adjoining crypt took about two calendar months to complete. Our current rate seems to be about one hour of gameplay per month of work, as we don't have to touch the engine so much and can finally focus more on the content side of Driftmoon. Making the content is very hard work, since we're committed to keeping each hour of gameplay fun! We're certainly hoping to keep that up for the rest of the development time.blog comments powered by Disqus