I thought that I would give an update on the work that has taken place during February and March so far. As you all know, I am working towards the release of LabMUD, which will be the first proper testing of the FutureMUD engine and the quality assurance milestone that will lead to open Alpha of the engine for the rest of you.
In January I was intending to move straight on to health/damage and combat after completing corpses but instead decided to do a bug-bash and finish off a few other minor things that were effectively necessary for the progress of building LabMUD. The reasoning is that combat doesn't need to be in place until people are actually playing the game, but the game needs to be built before it's open - so if I knock them over now, Wolfsong can build while I finish combat.
At any rate, here are the improvements that have been made over the last month:
- We now have 59 resolved bugs on the official bug tracker. I (and Wolfsong) have tried to be disciplined about actually recording bugs as we find them and resolve them, even when (as is usually the case) the fix only takes a moment. This both allows better tracking of what we are accomplishing but also helps avoid the situation where something is overlooked. Additionally, Kithrater has returned to help us find bugs - the vast majority of those 59 reports were from him within a few hours. He's good at finding ways to break things, he works for the government after all.
- Added a command for admins to see how they or another person would look with different description patterns. This will be useful for finding and fixing mistakes in building with these, as well as in selecting patterns for NPCs when building.
- Implemented "Pagination" for output. What this means is that when the MUD sends you an enormous amount of text at one time (say you walk into a room with 200 objects on the ground for instance), the MUD won't try and send you all of that text at once but will split it up. There is a per-account configuration for what length to use (default is 22 lines, same as the RPI Engine) - any input over this length will be broken up and you'll need to type MORE to see the next bit. Unlike the RPI Engine, this does not prevent you from doing other commands or actions in the meantime - the MORE will stay relevant until overwritten or read.
- Implemented two basic lock types - Latches (which don't require a key but only work from one side) and Simple Locks (which take a matching Simple Key to unlock). Simple Locks (and their matching keys) have a "Lock Scheme" - so for instance you might have "pin tumbler" locks/keys or "warded" or the like. An important difference between keys and locks in the RPI Engine and FutureMUD is that in the RPI Engine a key was locked specifically to the first lock it was used to open - but you couldn't have a key that matched multiple locks. In FutureMUD, locks have a "Seed" essentially that the key has to match. A locksmith in game could make multiple locks with the same key, or if they knew the seed of a lock (perhaps one they originally made), they could produce new keys for it without needing to access the original lock. Currently doors, containers and liquid containers can have locks installed on them by players. Doors and containers can have more than one lock installed too - all must be unlocked for it to be considered locked.
- A much requested feature addition - language in emotes. This is -any- emote, not just those with the emote command - so this includes the bracketed emotes that are often appended to various commands. You could for instance go:
Note that I don't necessarily consider the form of how it looks when you don't understand them to be final - I've tried a few different variants but there's downsides to the look and feel of each of them. At the moment, information about the speed (such as language and accent) are actually included in a mouseover of the speed if you have MXP enabled.
Code: Select all
draw sword (with a hateful glance towards ~demon, saying "Prepare to die, foul beast." - spitting the words like venom).
- A very slight functional change to the way accents are granted when you first learn a language, as well as the ability to be able to select an accent with slightly more forgiving "familiarity" requirements when it's the only accent you have for a language.
- A new SKILL command to add/remove/set/freeze skills for characters.
- A great deal of additions to the prog system - a lot of it around manipulation of items (getting, dropping, wearing, wielding, attaching, opening, locking etc) as well as loading items and currency. This will support the first complicated prog-only system built in FutureMUD - a vending machine system for LabMUD. I could have (and eventually intend to) provide coded support for systems like that, but I figured it would be a good opportunity to showcase the prog system and provide an example of how to implement something like that. I also added a few helpful utility functionality with regards to preparing text output to send - pretty output is important.
Development over the next few weeks will include the following things in the run up to the LabMUD opening:
* Bugfixing is #1 priority. I want zero outstanding non-trivial known bugs when we launch.
* Forage / Butchering system will be in. It's a pretty small one, probably a day's work.
* Health/Damage and Combat. Day #1 for LabMUD will have melee combat and HP-based damage systems. Ranged combat and more complicated health systems will follow later.