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.
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).
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.
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.
Update: upload completed on 2nd try. First attempt crashed x_x
I’m trying out uploading photos from my iPhone version of WordPress. My homemade piggy bank is the example picture!
Following up on my previous bookmarking post, I turned to Google for a synchronizing solution. I wanted to synchronize my bookmarks across Firefox, Internet Explorer and my iPhone. After trying several solutions the best one ended up being xMarks. I created an account on their site, and installed the Firefox & Internet Explorer plug-ins. It uploaded the favorites from both browsers to the xMarks servers, and then synchronized the two of them. As I browsed the web today, I bookmarked a couple websites to test it out, both in IE7 and Firefox, and the plug-in informed me of the changes and kept things in sync.
It was a little problematic at first getting the two initially synced, but once that process was completed the xMarks plug-in works like a dream. For Internet Explorer it installs as a Windows Application running in the task tray. As I browse and make changes to my Internet Explorer the system tray icon changes to let me know that my favorites need to be synchronized with their servers. When I open Firefox, a little icon in the lower right corner of the Firefox status bar shows me that I need to synchronize my favorites. A simple right click on the icon provides me the ability to sync the Favorites and a few short seconds later my favorites are synced once again. It’s a painless process and works great.
Now to finish the setup, I opened up my iTunes and selected my iPhone. Under the Info tab, I scrolled down to the Web Browser section and turned on Sync Bookmarks. I selected Internet Explorer and synced my iPhone. Now every time I add a favorite to my primary browser (Firefox), I can sync it with Internet Explorer instantly and sync it with my iPhone on my next sync.
I ran into an issue today that I really hadn’t thought about in the past. I re-installed Vista on my laptop this weekend, and went to go check out a website and realized that Internet Explorer didn’t have the website I wanted to go check out in my Bookmarks. It was then that I realized I’ve been using Firefox for the last year or so, and the two didn’t synchronize their bookmarks together. This wasn’t much of an issue, as I just downloaded Firefox and checked out it’s bookmarks. This is when reality set in, and it dawned on me that the ‘Favorites’ directory that is stored under C:\Users\\Favorites only contains the Favorites for Internet Explorer. No big deal, I think I probably bookmarked like 12 sites over the course of the year, which got me thinking about Bookmarks and their functionality.
Search Engines have really removed the need for bookmarks. When you have Google you can just search for the item you want. My bookmarks are all sorted and kept in a clean managed state so I can find my links quickly and easily, but when you have several hundred or thousand, it’s still quicker to just search for it. Sometimes the websites initial home page URL has changed and thus your bookmark fails to find the site. How many people really use bookmarks anymore? I can see them being used for specific items such as an article, tutorial or someone’s profile, but for software, news sites or social sites, bookmarking really isn’t needed. Web browsers now feature a nice history view while entering a website and I find I use that more than anything. Typing FAC in the URL field will display the Facebook site, allowing my to simple click it and go to my profile on Facebook. Bookmarking in general I think is fading as it’s usually a slower process to find the site I need traversing my collection of bookmarks when I can just Google it or type it in the URL field of my browser.
I was playing a couple games on my laptop today and looked over at my Playstation 3 to watch the nice little animated theme I have setup on it. It was then that I realized I should Google a PS3 driver for Windows Vista, which I did. I found one and downloaded it and after installing it my Vista revolted into Test Mode and refuses to come out of it. My networking goes in and out, stability of the system has gone to crap and I’ve decided to do what I have been putting off for the last 3 months. Rebuild the machine.
I’ve started backing everything off my Windows Partition onto a secondary partition and I will format and reinstall Vista tonight. I will probably spend all day tomorrow installing things and getting it restored to it’s current configuration. Meaning my time spent on developing will be cut short. Sad that it happened just as I started working on documentation on the Codeplex site and prepped a test Runtime for the initial Alpha release of the engine. Looks like my plans will be pushed back another week.
It’s been a fun last couple of weeks while working on the Mud Designer. I got to redesign the editor from the ground up, do some engine re-work, and add an account at Sourceforge to test out and see which site gets more hits.
My Codeplex site still receives more hits than the sourceforge site, and I’m going to contribute that to various web forum signatures of mine, along with posts from this blog, so the main site will remain codeplex for the time being. After spending some time messing with sourceforge, their site setup is far more complex and confusing than codeplex as well.
The Designer has made some seriously large strides over the last two weeks. With the designer actually becoming functional and the engine being worked on quiet a bit. The Designer can now save and load environment objects, place Zones within Realms and create Rooms within Zones.
At the moment the Room Editor has the ability to create Doorways, but linking doorways together hasn’t been implemented yet. I’m pretty sure that created doorways don’t get saved either, which isn’t a big deal to me. The current setup isn’t the best, and I’m not thrilled with it. I’m working on drawing up some concepts of how I want the Doorways to be created and managed without creating to much hassle on the users end.
The current implementation of it requires the use of 4 editors, the Room Editor which opens the Doorway Manager which then provides access to the Doorway Link editor. There are to many steps involved here, and so I’m looking into a way of eliminating the Doorway Link Editor, so that everything is handled via the Doorway Manager. This will require some looking into though, and I’m pretty sure that I can implement this configuration, it will just take some time to think it out fully, and probably result in several re-writes before the final product is finished. Re-writes don’t really bother me that much, they slow down my production, but in the end provide a better product, and usually I learn something when I do a re-write, and so I don’t really mind it.
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.