Just looking over the New C++ Codebase thread, Nick brings up tons of questions in regards to designing a new codebase. I have tons of questions and suggestions, but let's take these a few at a time.
Rooms
On your webpage, it seems you have a fairly decent design laid out. I don't know how much of that has already been coded as you state you are back to a design stage. I'm curious how the system works for location within a room. The design basically says each room is a grid system itself, and that one might have to path to move to an enemy. Are you worried about this complicating code?
If you could see where you were within the room, I can see tactical aspects to gameplay, but with a pure text game, I am guessing you won't be displaying the layout of the room, or will you do it nethack style?
Will movement/pathing within a room be aware of flying/levitation/etc? Will certain mobs like ghosts be able to move through objects?
What are the advantages of this system, and why did you go with it?
How are you handling surprise/awareness?
How are you handling ranged combat?
Scripting
How do you plan to implement scripting?
Can we script in new skills, races, commands, etc? Or will scripts largely replace progs?
I'm glad to see you're implementing a crafting system. Is most of this going to be hard coded, or will people be able to create new resources and items via online editting or scripting? While a good mud team will require a coder, I am all for taking as much out of the core code and implementing it via external data files or scripts. The reason is simple. Every single copy running is going to become forked code. Every mud wants to customize the game. When you have new bugfixes and updates, people have to manually apply these and continue to fork their code. If the core server code is modular and universal, then people can easily apply these with a simple patch.
Resets
For resets, I'd like to see a system where the resets are handled differently for different mobs. A boss for a quest might only be available to you once. One mob might spawn sporadically in a zone, not necessarily always in the same room. This spawn/reset could be timed X minutes after the last time it was destroyed. Other resets obviously have to be very specific to one location.
Rooms
On your webpage, it seems you have a fairly decent design laid out. I don't know how much of that has already been coded as you state you are back to a design stage. I'm curious how the system works for location within a room. The design basically says each room is a grid system itself, and that one might have to path to move to an enemy. Are you worried about this complicating code?
If you could see where you were within the room, I can see tactical aspects to gameplay, but with a pure text game, I am guessing you won't be displaying the layout of the room, or will you do it nethack style?
Will movement/pathing within a room be aware of flying/levitation/etc? Will certain mobs like ghosts be able to move through objects?
What are the advantages of this system, and why did you go with it?
How are you handling surprise/awareness?
How are you handling ranged combat?
Scripting
How do you plan to implement scripting?
Can we script in new skills, races, commands, etc? Or will scripts largely replace progs?
I'm glad to see you're implementing a crafting system. Is most of this going to be hard coded, or will people be able to create new resources and items via online editting or scripting? While a good mud team will require a coder, I am all for taking as much out of the core code and implementing it via external data files or scripts. The reason is simple. Every single copy running is going to become forked code. Every mud wants to customize the game. When you have new bugfixes and updates, people have to manually apply these and continue to fork their code. If the core server code is modular and universal, then people can easily apply these with a simple patch.
Resets
For resets, I'd like to see a system where the resets are handled differently for different mobs. A boss for a quest might only be available to you once. One mob might spawn sporadically in a zone, not necessarily always in the same room. This spawn/reset could be timed X minutes after the last time it was destroyed. Other resets obviously have to be very specific to one location.