|[ LiB ]|
Congratulations! You have now completed a full, albeit simple, MUD. That was a lot of work involved for a game concept that many consider "primitive." Writing stable server code is a daunting and difficult task, however.
Crashing simply is not an option for servers. You need to have these things run for days at a time, and this is much more difficult to do than a regular game.
Anyway, I hope you've learned a good deal about the basics of making a MUD. In the next part of the book, when I show you the BetterMUD, I'm not going to be nearly as "code oriented" as I was with SimpleMUD. Instead, I'm going to focus on general design issues instead of the nitty-gritty details. By this point, you should have a somewhat solid understanding of simple MUD-like server programs.
Let me go over everything you should have learned in this part of the book.
In Chapter 8, you learned how to:
Design a handler system to act as an intermediary between the SimpleMUD and players
Design a login system
Design a simple alternate-state handler to handle player statistics editing
Design a simple command parsing system
Build simple template database classes to minimize the amount of code repetition required
Build a simple smart-pointer class to seamlessly interact with the databases
Design players for a simple combat-oriented MUD
Design items and understand how they interact with players
In Chapter 9, you learned how to:
Design a simple global map system
Add stores and training rooms to the game
Use simple economic interaction via stores
Connect players, items, rooms, and stores
And in this chapter, you learned how to:
Use a simple instance/template system for enemies
Implement a simple game loop that takes care of timed events
Handle player/enemy combat
Handle player/enemy death
Connect everything together, creating a full MUD
I would once again like to invite you to play on my version of SimpleMUD, running on telnet://dune.net:5100. It may not be too active, because most people would probably prefer playing around in BetterMUD, but if you're interested, I'll have it running.
Essentially, what you just learned how to make was a flexible-data MUD, with hard-coded physics and logic. If you ever decide to expand the codebase , you should be aware that expanding the logic for SimpleMUD (that is, controlling how enemies and items act), you might find it a difficult task. This is one of the things you will learn how to fix in the next section.
Now, off to BetterMUD!
|[ LiB ]|