The making of Darkfall – One developer’s perspective
Disclaimer: This my personal account of the history of the making of Darkfall. I have tried to tell the story as accurately as possible. There are enough details to fill a book, so I have selected the parts that are important to me. This is not an official Aventurine SA document. The opinions expressed here are the views of the writer and do not necessarily reflect the view and opinions of Aventurine SA.
What is Darkfall?
Darkfall is a massively multiplayer online (mmo) game with a strong focus on player-versus-player interaction. One of the most popular forms of interaction within this genre is fighting, and Darkfall is aimed at encompassing this interest, amongst many others.
Darkfall allows players to undertake a wide range of activities as a solo experience, but the game comes into it’s own when players organize themselves into parties, clans and alliances in order to fight over control and ownership of resources and cities.
Character progression within Darkfall is skill-based, which means that whatever activity you perform will improve you characters ability in that specific action. Using your sword in combat increases the sword skill, letting loose a volley of arrows from your bow increases archery skills and so on. This in itself differentiates Darkfall from most other current MMOs which tend to utilize a level-based model.
Darkfall was conceived as Ultima Online on steroids, with more races, more skills and more content, but also more directed gameplay by embracing players natural urge to want to fight each other in games.
How we made Darkfall and what happened along the way is the focus of this article. So let’s get started.
The beginning (1997-2002)
Darkfall was conceived by Claus Grøvdal in 1997. He and Bjørn Tore Øren worked on fleshing out a design document. Early on they had an opportunity to pitch the project to some corporate investors, but didn’t yet have a name for it. So in a smoky canteen with 15 minutes to brainstorm before presenting the project, they named it Darkfall.
I first heard of Darkfall in 1998 when working for the same company as Claus and Bjørn Tore. I had been nurturing a dream of making games since I was a kid, and hearing about Darkfall made me want to turn that dream into reality. From the autumn of 1998 we started getting all the pieces into place, and after a couple of false starts we founded Razorwax in May 2000, and had seed funding secured by July that same year.
We were very happy about quitting our regular jobs to go to work for our own company. The first year or so was a flurry of getting the design organized, getting basic systems working, and trying to get an alpha version up and running so we could secure enough funding to complete the project.
Technically Darkfall is a very strange creature compared to most other games at that time. It is a mix of Java and C++. I had been programming Java since 1999 and liked the simplicity of the language, especially the fact that it avoided a lot of the memory & pointer issues that its big brother C++ has. Java was still pretty slow back then but was getting faster with each new release of the platform.
In the July 1999 issue of Game Developer Magazine there was an article called “Dirty Java: Using the Java Native Interface Within Games” which argued that using Java as a script-engine in a game could be an excellent choice. The article included a quote from John Carmack about Quake3 where he says: “If I did want to go off and start fresh, I would likely try doing almost everything in Java”. This inspired us to test the possibility of using Java for the game logic in Darkfall, with the engine and other performance-critical code running in C++.
By the spring of 2000 we had done some prototyping and testing and settled on a solution where Java would wrap C++, calling functions in native dlls to do rendering, physics, network and sound. Java would control all the game logic and have a very strict interface through Java Native Interface (JNI) calls to the native functions. We did a redesign in 2001, but kept the same Java/C++ relationship, and the game when it shipped in February 2009 still had working framework code from the 2001 redesign.
After starting the company and securing seed funding in July 2000, we had enough money to cover running costs for 1 year, within which we expected to raise enough cash to complete the game. This did not happen. The dot com bubble burst around the same time we were getting funded so Norwegian investors were very wary of new investments, especially in new-economy companies. Most investors agreed that an online game was an interesting concept, but no one offered us the money to make it happen. By July 2001 we agreed with our original investor that we would be funded until January 2002 on the condition that we got a working online “alpha” version running.
In August 2001 we opened the official forums and sent out a press-release announcing the development of Darkfall. This lead to interviews and quite a bit of interest. The forums started growing fast. Alas, this didn’t mean that investors were calling us.
Two days before Christmas 2001 we got the alpha version up and running, and let a few of the most active forum users try it out. Initially, there wasn’t much to do except run around in a small world, but at last we had something online to show off. Great success, or so we thought..
Fast forward to April 2002. Our original investor told us we weren’t going to receive any more money from them, but since our offices were in the investors building they would let us stay there a while longer so we could try a last-ditch effort to get proper funding.
Determined to keep going, the next few months saw a flurry of attempts to contact publishers, local Norwegian investors and anyone else that showed any interest in Darkfall. Most of us were out of money and at least one us had to live off bottle-return money for a few weeks. Luckily we had saved all the bottles from our soda-fueled development sessions earlier!
By the end of the summer of 2002 most of us were contemplating calling it quits and doing something else. We had given the project an honorable run for the money. Somehow we still kept going, hoping that this day or the next would be the one when we found someone willing to fund us.
Then, in July, Claus got a mail from a friend he had been playing with online for several years who had a contact that was interested in hearing more about Darkfall. This guy was in Greece and they wanted to come and visit us to see who we were and what we had done so far. After a lot of discussions online and over the phone the Greek investors finally visited us in Oslo. By this time they already knew enough about Darkfall that the main objective was to find out if we would be capable of completing the game.
The meeting in Norway went fine. The only hindrance was the cost of living and running a company in Norway compared to Greece.
As a solution, we finally agreed to move to Greece and bring with us a few extra Norwegians. We were 10 Norwegians in total that ended up moving to Greece to work on Darkfall.
Greece part 1 (2003 – 2006)
In November 2002 we moved to Athens, Greece and our new offices situated literally opposite the soon-to-be-finished Athens Olympic Games area.
We had to wait a couple of weeks before the machines we had ordered got to the offices, and ADSL was almost an alien concept in Greece at the time, so after a few weeks we got the whole office on a double-isdn line. We quickly learned the greek word “avrio” which means “tomorrow”. Whenever there is a problem that needs to be fixed asap, the natural greek reaction is “avrio… avrio”. Luckily most of the Norwegians quickly adapted and accepted this nuance of greek culture.
January 2003 we were ramping up production and hiring more people. We concentrated on creating the ingame world map, fleshing out city designs, designing monsters, and making props and buildings to prepare for building the Darkfall world.
The engine and game logic framework were taking shape and we focused on getting the worldbuilder tools ready for building the world. These were good times.
The world map was created by generating a height map of a high-resolution version of a Darkfall 2D world map. The height map was then dissected into square tiles and exported as 3d-meshes, which then were further modified by 3D artists to make areas for building on. This meant that every one of the around 670 land-tiles had to be customized by hand.
We designed a module-system where instead of having ready-made houses, the 3D artists made modules that the worldbuilders would assemble into prefabs in the Worldbuilder. This would in theory give us a lot of possible variation for housing.
The Worldbuilder got to a usable state at the end of summer of 2003, and from then on it was “full steam ahead” and the game world was being built.
In early 2004 we had the first set of racial characters modeled and ready for animation. Due to miss-communication and an internal deadline the characters were created within a rather brutal deadline, which ended up making them suffer visually. This would cause us headaches in the future.
We worked through most of 2004 and 2005 getting the game to a playable state. The technical pieces were falling into place and the world building was grinding a long. Large portions of the game world (named Agon) had been built by the end of 2005.
In mid-December 2005 we moved to bigger and better offices. This was a pretty big occasion for us, since moving meant we would have space for more people, but we also had a big deadline that coincided with the moving. This deadline meant that we now had a playable version of Darkfall and all the character and armor sets were animated and in the game. Everything was ready for making a video showing off Darkfall gameplay, and ramping up interest around the game.
Greece part 2 (2006 – 2009)
Come January 2006, we setup a test-server and started making the first actual gameplay video. It entailed a bit of stopping and starting because some features weren’t working as intended, especially server stability. Despite this we ended up having a lot of fun battling each other and riding around capturing footage.
That video ramped up interest and kept our fans insured that the game was moving forward, albeit slower than we originally planned.
May 2006 brought us to E3, with the opportunity to show off what we had to potential publishers and game media. We got a lot of positive feedback from going to E3, even though we didn’t have an official booth. We met a lot of interesting and interested people.
2006 was a year where we did a lot of PR for Darkfall which massively increased the fanbase and interest further.
Then came two years of crunch time, where we basically hammered the code into a releasable state. We finalized existed features, and added quite a few new things (i.e. warhulks) to the game.
Upon reaching this stage, we took a thorough look at the game world and found out the most of what had been built wasn’t good enough. By now we knew a lot more about the capabilities of our game engine, which had been optimized and improved constantly since 2002. Further to this, hardware advances (mostly graphics cards developments) over the years meant also that things had changed. Houses built with modules turned out to be too expensive and had to be replaced. Also, the Worldbuilder and the guys building the world had improved quite a bit since starting in 2003. We made the decision to rebuild the entire world, starting from scratch on a lot of the areas. The rebuild was a great move for the game, but put a lot of extra pressure on the world builders.
By the end of 2007 we were very sure that we would be releasing Darkfall in Q3 or Q4 2008, and no later. We ended up releasing Darkfall the 25th of February 2009.
The release of Darkfall was postponed many times. Our first estimate on arrival in Greece was Q1/Q2 2004. It turns out (of course) that we didn’t know enough about the size of the project or the nature of large projects to do any kind of accurate estimate. Consequently we set and missed quite a few deadlines the first couple of years, but as time passed our ability to estimate deadlines got better.
We had been running a test server off-site since 2006 and most of the features were getting close to finished.
By late 2007 we knew we were getting very close and we had an internal target for Q3/Q4 2008. Unfortunately, we missed that last target by 2 months, but we were happy to finally release the game on the 25th of February 2009.
Like most other MMOs, the actual release had it’s issues. The biggest one was our payment handler not being able to handle the traffic, and thus forcing us to throttle sales. When we fixed that, we still had to throttle sales to accommodate the fact that players weren’t dispersing from the main spawn points as fast as we had predicted, causing massive lag for some people.
There were a few other issues, but most of these were fixed within a week of release. All in all a rocky, but acceptable release from a small indie games developer.
Darkfall took 12 years from concept to release. Full blown development didn’t really start until 2003, but it still took 6 years from that point. Most of us lacked experience in making games, even though there was an abundance of skill, talent and dedication within our small team.
Looking back at what we achieved with Darkfall fills me with great pride. We were told by some people that what we were trying to do was impossible, and even now some people are amazed by what we pulled off. We built our own company and an mmo platform, and then we built Darkfall on top of that mmo platform.
One of the blessings of being inexperienced and young is that you have this naive concept that you can rule the world if you just try hard enough. We set ourselves lofty goals, and went ahead and made them come true.
We learned that given enough time and effort even a small team can pull off something of this magnitude, if the right skill-sets are present.
Darkfall is now 2 years old, and still going strong. It is one of the most controversial MMO’s released, and has a knack of polarizing people. You either love or hate Darkfall. That is ok, we made a niche game for a select audience, namely the experienced MMO players that don’t need hand-holding and nannying to have fun in a game.
You might be logged on playing Darkfall, get harassed by someone, fight him, and then get killed. All your stuff is looted and you want to rage-quit. But then you remember that Darkfall is one of the few games where you CAN actually try to kill the guy that is harassing you. And also, next time you might succeed, and then you will be happy with the fact that you can.
I am not involved in the day to day development of Darkfall anymore, so what lies in the future of Darkfall isn’t privy to me. What I can say is that the Darkfall team is listening to player feedback, and has been adding new features and expanding existing features at a great rate. The game has become even better since release 2 years ago.
I hope this quite long Darkfall development story has entertained you.
Team size at start: 3
Team size at release: 35
Time from concept to release: 12years
Time from full production to release: 6 years
Lines of code at release: Around 2million.
Thanks to Jon Hughes and Henning Ludvigsen for proof reading and editing suggestions!