Posts Tagged ‘C#’

Mud Designer Notes Part 2

January 30, 2010 Leave a comment

I spent part of this week holding conversations with Dave, the author of the Generic People blog, and we discussed various Mud Design concepts. There where several really good ideas thrown at me from him and it’s helped give me some direction on the development of the toolkit. What content I want to implement and provide tools for. Some of the ideas I had already thought about, but not to the extent he had drawn out. Such as Gear Durability, something I hadn’t thought of prior to our discussion. I’ve spent the last couple of days away from the Mud Designer but I managed to complete the Environment Creation tools and upload a new release to the Codeplex site. I’ve sat down and created a list of items that are going to be worked on next, and thought I’d share them.

Offline Runtime Console:
This is the first item I will be working on over the next several weeks. This will allow users to create their worlds and test it without needing to run any servers (which aren’t implemented).
Adding the runtime console will require some basic Player code being wrote, along with the command engine being completed. I don’t think that it will take to much time, I just need to sit down and knock it out.

Item Creation:
Next up on the list is the creation of items. The code for Items has already been given support for tier based item creation, allowing for users to create Handles and attach a Blade to it. However there are literally dozens of various properties and options that need to be added for item creation, and they will need to be broken down by Useable Item, Equip-able Item and Key Item (Non-Useable or Equip-able).

Bag Support:
As I work on adding Item support to the engine and designer, I will need to add Bag support for holding items. I’ve thought about how I want to implement bags into the games created with it, as some games might not want to support users having multiple bags and limit the content held in each bag. Instead they might want to allow their users to have an inventory similar to old-school RPG’s where they can have an unlimited amount of items in their inventory. At this point I think I’m going to force users to create at least a single bag, and if the Player wants to pick up an item it will need to be stored in the bag. However, once Bag support is added, users can set it as part of the Players default items it gets when the Player is created, and the user can set the Bags Inventory slots to 9999 and assign it a name of ‘inventory’ and then users can use it as a standard inventory. It’s a hacky way of achieving it, but having multiple ways to store inventory items would be confusing for users using the designer.
I will also want to add an option to bags and Items to enable or disable stacking. An item might have stackable enabled, but if the bag does not support it, then the item wont stack. Games could use this to have low level bags that don’t stack, and as users get higher level  they can be awarded bags that allow for stacking.
I don’t know if that option will be used as it’s intended and it doesn’t really matter if it is or not. The point of the designer is to provide users with the ability to customize the Mud game to suite their needs, and so providing multiple ways of stacking things helps add some additional customization to users games.

Zone Traveling:
Zones will be modified to have a designated ‘Entrance Room’ that the player will always be placed in when they enter the Zone. Zones will also have a Zone Linking feature added  to allow for ‘Village Zone/East Gate Room’ to connect with ‘Forest Zone/East Room’. These links will be independent of the designated entrance room.

Additional Project Information Properties:
Finally I want to improve on the Project Information class. Users will be able to set what Zone users will start the game out in (by selecting a Zone, at which point the game will place the user within the Designated Entrance Room for that Zone).

Note that these work items will be worked on (for the most part) at the same time, and features that are easy or quick to implement will be given move priority to allow for the designer to have regular uploads to the source code repository with additional features and content.

I don’t want people to think that the designer is going to allow for click-together Mud’s, as that’s not what the design goal of the toolkit is. When it is completed you will be able to create dozens of different Mud’s, each with their own characteristics and play style. No two Mud’s will be the same when created with the Mud Designer, at least that’s the design goal from me.


Refractoring nearing completion

January 19, 2010 Leave a comment

After spending the last couple of days pulling code out of the Mud Designers GUI code and placing it into the engine, I’m glad to say i’m nearing completion with the Refactoring process. It’s greatly reduced the complexity of the UI code, and made things simpler from within the engine as well. I’m hoping to get the Refactoring completed tomorrow and get started on linking Rooms together. A feature that was available two weeks ago prior to redesigning the editing tool from the ground up.
I must say, I’ve been able to create what took me 2 months originally, in just two weeks. I’m impressed with the new design, and love how everything is coming together. I’ve learned a lot and it shows hopefully in the latest Designer source changes.

Categories: C#, Game Engines, Mud Designer Tags: ,