Every time I start (over) with a MUD server, one of the first bits I do is the logging. Not only because it's easy, but because it's very good to have at an early stage. For the Shadow World server it's no different.
In this first post about Shadow World I will list some of the initial design decisions I have already made for the MUD.
The main goal of the Shadow World MUD server is flexibility, it should be able to handle any kind of MUD from simple and old-fashioned text-only MUDs, to somewhat modern-looking graphical online RPGs (though not massive).
As the few who are following the progress (or rather, the lack of progress) of TutorialMUD know it's on an indefinite hiatus. I have thought about continue with it, and I still may. However in the meantime I have restarted working on one of my own MUDs, namely Shadow World. Unlike TutorialMUD it's supposed to be a full-featured server with a complete and playable world.
So I have decided that for my work on Shadow World, I will write a similar series of posts. The difference being that the posts for Shadow World will be of a more high level than the posts for TutorialMUD. The post for TutorialMUD was more low-level, with me showing and trying to explain the actual code. For Shadow World I will talk more about the design and specifications and the game mechanics, and let the people who are interested in the actual code to follow along with the changes in the GitHub repository.
The ultimate goal is of course to one day finish both of the MUDs, but I have to admit that it may take some time. However, now that I've stated publicly what my plans are for these two MUDS, I have to actually continue to work on them instead of doing what I most often do, namely to start over about once a year. Now I feel like I have no choice but to see my project to the finish line, even if it might take a couple of years. (Yes, a couple of years, my free time is limited, and it looks like it might get even more limited in the future.)
Hopefully I will have the first post ready before the end of the weekend, and that will be an overview of some of the design decisions I've made about the server.
I have just been testing a couple of programs with shared memory. One using SYSV shared memory and one using POSIX shared memory.