It looks like you're new here. If you want to get involved, click one of these buttons!
Rope Bridge Philosophy
The answer to the first question is mostly about our development strategy. Back in around 2007 I wrote a journal article which I'll copy an abbreviated version of here. Then we can talk about how it applies to Chronicles of Elyria.
"While I was working as the tools lead at Pandemic Studios I adopted what I call the "Rope Bridge Philosophy," and used it to describe to my juniors the best way to proceed with software development. It goes something like this:
A project is broken up into systems, systems are broken up into classes, and classes are broken up into methods and properties. Any time you are given a task, you are being asked to implement either a system, class, or some sub-component within a class. Understandably, your first instinct is to figure out where you are now, and where you need to be in order to call your task ‘complete.’ Now, there are two ways to do this. One is to begin coding from where you are, adding new functionality, building out your classes and systems, etc., until you eventually end up at your destination. This is, metaphorically speaking, the equivalent to standing on one side of a large chasm and beginning to build a large concrete bridge as you walk across.
As most civil engineers will tell you, this is a very daunting task, and requires hair-line precision. An inch off in either direction can send your bridge off to one side or another or drive it into the side of the cliff. At the same time, concrete bridges are known for being sturdy and inflexible. With programming it’s no different. Trying to get completely from point A to point B requires a good deal of foresight, which is made even more difficult when attempting to develop a system which is flexible. This leads us to the alternative: The Rope Bridge.
Imagine you are standing on the same chasm, and have been given the task of getting to the other side. Instead of working from beginning to end, developing a cement bridge, instead, build a rope bridge. A rope bridge is the smallest, most fragile form of passage from one side to the other. It doesn’t hold a lot of weight, doesn’t allow many paths from one side to the other, tends to be a bit low hanging, but damn it’s flexible.
From a programming standpoint, this means taking the easiest route from point A to point B, with the least amount of code necessary to accomplish the minimum specification required. In other words, ”Just barely get it working.” Once you’ve accomplished this, you’ve successfully built your rope bridge. This makes testing possible, allows for immediate user feedback, and gives you an idea of what you may be able to expect from your bridge (and the chasm) in the near future..."
I share this journal entry with you because almost ten years later I still employ the same strategy for developing software. I build the smallest, easiest, most straight-forward version of the software first, and then once I've created a rope bridge, go back and flesh out the systems further. Over the years I've realized that what's most important about this system is that it lets you face the difficult challenges earlier in a project, rather than later. By creating a "thin vertical slice," and working your way through the systems quickly, it lets you come to terms with all the challenging problems you'll face in the first third of the project, rather than the last third.
I'll give you an example. Chronicles of Elyria has male and female characters. Many game companies would probably ensure that both the male and female are fully rigged and animated at this point, but we made a conscious decision not to do that. Let me explain why. We needed a character to begin to address challenging problems. We needed to develop/validate our animation systems, combat, equipment & inventory, world interaction, vitality & energy, etc...
There's a lot of system predicated on having a character moving around in the world. But, it doesn't require having both genders. Only one of them. So instead of spending twice as much time developing the animations required for character movement, we spent half the time to rig/animate the male and then moved on to solving other problems.
Will we at some point go back and make sure the female is rigged and animated? Of course. But we've already solved all the problems required for having an animated character. So aside from having a "complete game," there isn't an incentive at this stage of development for having the female character. But, when we get to things that necessitate both genders, we'll bring the female in, if for no other reason than to allow us to move forward with the next set of challenges.
So as we said in the AMA, one of the main reasons we feel like we'll be successful in developing Chronicles of Elyria is by ensuring we prioritize our work carefully, and face the difficult challenges early in the project rather than at the end. This ensures there's fewer surprises, fewer delays, and as we'll have working versions of the systems even before the systems are said to be "complete," we'll be able to get the game in the hands of the players sooner, so you can provide us the valuable feedback we need to make the game as enjoyable as possible.
In a future update we'll talk about some of the things we're doing from a business standpoint to help ensure our success. Until then, remember, while the reason we develop things in a specific order may not always be obvious, there is always a reason for it. And, it's generally going to be us building a rope bridge, so we can make the next leg of the journey toward Alpha.
Comments
Join the revolutionary MMO!
Join the revolutionary MMO!
To me that's all he was saying
Signed Davan Drakenhoff ruler of Castle Drakenhoff the impenatrable castle made from cardboard