MUD32 (.NET) Development Blog

Notes on Coding and Design of the MUD32 Mud Client by Matt Owen

Combat and Mapping

I've been putting off re-implementing the combat system for a few weeks now, and along with the Christmas and New Year break, nothing much has happened on the MUD32 front. I know the combat system will take a bit of dedicated time to get right and finding that block of time right now to code it is tricky.

What I have been doing is playing with ideas to procedurally generate areas. As I'm building this alone, creating each room manually is not achievable so the best option here is to write something that can build generic areas, and then all I have to do is focus on creating core rooms in those areas that have the real content in. This will give the MUD a feeling of size, and will also provide areas for roaming NPCs as combat-fodder.

Ultimately what I really want is a tool that lets me build areas like a Visio block chart - 100% drag and drop. It's a shame that Visio doesn't support a decent parseble export format as that would be ideal. It looks like I will probably just have to carry on developing the Mapping Tool I've written - as the old adage goes, if you want something done right, do it yourself...


On 08/01/2014 at 09:30 ~

NPCs are Alive!

Basic NPC support is now working. They appear in the locations they are supposed to, and some even wander about aimlessly. If the NPC is in your location you can EXAM them and get a short description. I expanded the TELL system usually used for player-to-player conversation to include the ability to talk to NPCs as well (thanks to the guys on /r/mud over at Reddit for opinions on this).

The idea is that you talk to NPCs in natural language, and if the NPC detects certain keywords or phrases in your text, then you will get back an appropriate response, otherwise you'll get a generic random response in keeping with the NPCs character. The NPC responses are all kept inside a response file, so with a bit of effort, it's possible to create a set of responses for most of the relevant questions.

Ultimately NPCs will also optionally be quest-givers. This will require an update to the dialog parsing sub-system, and I'll have to consider the best way to offer, accept, and track quests. This will be a new feature that wasn't in the original MUD32, so is currently further down the to-do list, after the original feature-set has been re-implemented.

Which brings me onto combat. That's not done at all right now. It's probably going to be the next thing I tackle.

I've also updated the map walker tool I wrote - it's now a proper map editor, with the ability to click on empty spaces on the graphical map to create rooms and link exits. It's still a bit clunky to use but will continue to evolve as time goes on.


On 11/12/2013 at 15:25 ~

Levelling Up

The scoring system is now working. Each item you find in the world has a value, this value can be converted into points that are added to your score. As your score increases, you level up, as you level up, your strength and health increases. This means that to explore the world fully and survive encounters with higher level monsters and players you need to level up also. Additionally some items in the world are too heavy to be picked up by lower levels so this encourages progression.

Once the gameplay engine is fully working I intend to revisit the mechanics and ensure that the game is balanced. I also want to add some sort of basic achievement system.

Before I get to adding in new features, I need to complete the port of the original feature set, so the next things to tackle are NPCs. They need to be able to hold rudimentary conversations with players, move about on their own, and eventually be (optionally) aggressive and respond to combat. All this was implemented in the old version of MUD32, so needs to be in this version also.



On 03/12/2013 at 10:08 ~
Latest Posts | Show Older Posts | Show Newer Posts

About this Blog

MUD32.NET is a small project to build a new unique MUD Client on the Windows platform, using the .NET framework, and modern gameplay elements.

For more information, please read this post.
© 1997-2014