Revisiting the Rope Bridge

Published April 24, 2007
Advertisement
Heya All,

Yesterday I posted the second revision of the feature list for the MiniMORPG, which, by and large was just a more fleshed out version of the original feature list. I was surprised by how many people either posted a response to the journal entry, PM'd me, or eMailed me with "wow, that's a big project, sure you can handle all that? Shouldn't you start with something smaller?"

I just wanted to real quick say (assuming the voice of a TV announcer), "This experiment was performed by professional developers, please, do not try this at home; or while under the influence of alcohol or medication. Actually, Alcohol is fine." [lol]

Actually, in all seriousness it is a lot of work, but that's the whole point isn't it? MMORPG's (or rather 3D Multiplayer RPG's of ANY size) are a lot of work, even a relatively scaled down version.

I also wanted to comment on a common misconception about development. More times than I can recall a project lead, boss, or even a friend has said "I need a . Is it possible for you to make something like that?" My usual approach was to make a quick checklist of the features in my head, careful to take into account error in estimation, etc...and assign a time value for each component. Then add up the total time estimated and say "Yes, and it will take me this long."

You see, humans tend to think hierarchically in subject matter, but our abilities to subdivide time into smaller chunks isn't implicitly hierarchical. So one often finds that given a list of three things to do (even knowing that each of those 3 divide into 3 more things) we will give an erroneous estimate, as we're not summing the value of each of the subcomponents. In other words, 9 times out of 10 you will find that taking the 9 components and adding them up, results in a larger number than taking the 3 numbers and adding them up.

So what's this mean? The more subdivided your analysis, the higher the granularity of your task list when making the estimate on time, the more accurate your estimate will be. I suspect that given the initial task list I presented a few days ago, people made the quick estimate in their head and came up with a number in the weeks to few months range. Given the new feature list (which is just a more granular view of the original task list) people are starting to realize how much work is really involved. And before we move on to the design phase there will be at least one or two more drafts of the analysis, each resulting in a more accurate and descriptive list of features and behavior.

Also, someone commented on whether a project of this size goes against the rope bridge philosophy. But keep in mind that the rope bridge is an implementation paradigm that can be applied to a task or problem of any size, whether it's writing a method, a class, a system, or even an enterprise application suite. Each sub-component must be approached as a separate, yet related rope bridge, and be dealt with accordingly.

If anything, having more detail (or a larger project) doesn't go against the rope bridge analogy, it works for it. Imagine trying to build a bridge from one side of the cliff to the other, without knowing where the other side of the cliff was.

The analysis phase of of the development cycle (of analysis, design, implementation, and optimization) is simply to determine where the other side of the chasm is. There's no actual building of any bridge yet. Another way to think of it is:

- Analysis is determining where the other side of the chasm is
- Design is determining the best way to build the bridge, given how far away it is
- Implementation is building the rope, and suspension bridges
- Optimization is building the supported bridge

I'm glad it's starting to seem like a lot of work though. I know quite a few people who calls themselves game programmers, but despise programming games. You see, they're in love with the IDEA of being a game programmer, without enjoying or looking forward to the process of programming. Their projects tend to be either way too small, or way too big, and either way tend to never actually get started.

So if you're starting to look at the workload involved and realizing what kind of commitment it will be, then you're taking the first step in the process, and that's a good thing.

/discuss
0 likes 3 comments

Comments

DreamGhost
I would rather see a lot of detail than very little. If there is only the bare bone specs and not a full idea I find it harder to implement in the long run or things end up changing all the time and the real goal is never reached. I know that is where my downfall was with my first few attempts at making a game. Either not having enough detail or not really knowing exactly what I needed or wanted. With projects I do for work, I hate when I get barely any detail at all then get asked for an estimate on something I don't even have full details on [sarcasm](I love my boss)[/sarcasm] or he will throw me something and then change his plans later, but I think that always happens in the programming world.

Anyhow I think showing different stages of the analysis is great because most people that are new will just throw out an idea and stick with it never re-analyzing their ideas or adding more detail.

[Edit]

Just finished installing C# Express 2005, I find it annoying that I own a copy of Visual Studio 2005 Standard and it won't allow me to install XNA without having C# Express specifically... Hopefully they release XNA for Standard also.

Installing XNA as I type this :)
April 24, 2007 01:33 PM
Adam Hamilton
I have just downloaded the XNA Game Studio Express from Microsoft and I am happy to say that it is now Vista ready. YAY :)

I will be looking forward to this Mini MORPG.
April 25, 2007 12:08 AM
Emmanuel Deloget
Trueness inside.

(and I, too, love the idea to be a game developer [grin])
April 25, 2007 06:22 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Profile
Author
Advertisement
Advertisement