Concepts? Models? Plans? Ha!
How is development organised? - It isnt, not until recently.
During the early days, Mur had a number of core features he code and such. things like combat, messages and such. Features that were tested by the beta testers before you could register and play normally. This was planned and such.
Then before we had additional coders in the game Mur just worked on a general plan and moved forward with it. Sometimes items would be left, sometimes unfinished or broken, but he would work on something else. Little plans were written but Mur kept an idea of what he wanted to do. Over the past years Mur experienced a number of computer related issues and some plans that were made originally have been lost. In addition as Mur is spending less time in MD now, he has to rely on others to remind him of his plans, and has given others reign to create and move MD forward. He is consulted on general concept ideas, and then lets others implement the finer details.
Example: AUTUMN2050 has a general plan for how it is going to work however the finer details of where to place items and such have been left up to us. These plans are written down since Mur is working with a couple of us, and we demanded (yes, how rude of us!) that we need written plans of whats going to happen before we could work on it.
You need to remember that Mur is, first and foremost, a creative and not a programmer. He finds ways to express what he wants to do programatically and doesn't necessarily follow the normal procedures and design patterns. Much of codebase is archaic and not structured as well as it could be which then makes adding more code trickier.
When Rendril was let onto the team he did a lot of work rewriting the combat system so that it was easier to modify, he also wrote a lot of unit tests to ensure that its working correctly. However it was primarily a rebase of how the old code worked, meaning that while it was massively changed for the better it did not function too differently.
As I work on sections of the game I spend extra time converting older code to a newer and easier to manage format. Since January much of this has been in the form of database changes and optimisations. Boring stuff for you guys because you dont see a difference since "It looks the same" but massive changes under the hood. The idea is that making the database work better (aka like it should have been designed if it were planned and had not evolved) shouldn't change anything as far as you see.
Its not just that Mur is not an experienced programmer for he is very qualified now, Its that the game has evolved over 9+ years and some of the code back from the very start still exists. As an example, only until last year we had two different ways to log yourself out. One of them would work and one wouldnt. Both were used in the code and by pressing a different button it would fail to log you out properly. This is because the two pages were written at different times and the older one was not changed to use the new system and therefore broke. This is common for older systems but since there was only one person working on it, he could keep in mind how everything worked.
This pattern of generally coding what people feel like and whatever you want still exists, but now whenever I and Dude2 work on code we have plans, document things and ensure that code is left in a better state than it originally started in. This does make things slower, but makes it easier to add things next time. Recently a "coder manual" was started by myself and provides some information to Dude2 and Murry to ensure that they know how to do things "right".
So, for anything old there are no plans, but anything new will have a lot more structure. We are aware of the issues but any software project has these, and are resolving to put measures in place to improve the situation.
Further Questions?