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.
I just checked out the Project Natal website, and I must say I’m excited for the final release of the product. I’ve been following the development of the Natal device for the last 6 months, and it’s definitely something that Microsoft needs to help boost Xbox 360 sales.
Project Natal is what Microsoft used to be about. Taking someone else’s idea and making it better. It’s well known what the Windows OS was based off of, and everyone knows that the Windows Mobile platform was built after Palm’s platform started taking off. The Zune was created just to compete with the iPod Touch. That’s what Microsoft does, they take what’s existing, and make it better. At least they used to. Over the last decade or so I’ve noticed that Microsoft hasn’t really made any great leaps in the technology they power or sell.
The Windows operating system was the greatest thing to happen to PC’s when Bill Gates and Microsoft first released it back in 1985. Windows 95 and then XP both made some pretty heft leaps in terms of functionality, but since XP, Windows hasn’t changed much. Microsoft has added some cool eye candy, enhanced some stability and added better support for other products on the market. Windows has gone stale. Remember when Microsoft was the leader in technology? That’s not the case anymore, and with good reason. The Windows OS hasn’t changed a whole lot over the last 9 years since the release of Windows XP.
The operating system should be revamped just like the game consoles are. The XBox 360 Dashboard was totally changed from the original Xbox, and it made the gaming experience even better. Windows on the other hand still has the same start menu that it’s had for the last 25 years. Albeit a fancy looking one now, it’s still a start menu.
There are several areas within Microsoft that really needs to be merged together to help re-define the Windows experience, and push Microsoft back onto the frontlines of pioneering new consumer products. They have an excellent setup with the Xbox 360 dashboard, why don’t they base the UI for Windows off of that? They now have Natal, why can’t we swish our hands at our desktop to go through our Windows Media Player artwork? Microsoft needs to use their current technologies to their advantage. Users want a simple and easy to use desktop PC, and the Xbox styled dashboard presents that to people. Microsoft should use the same style of UI for their mobile platform, which really needs to have the Zune and Windows Mobile projects merged into one. Just like Apple did with iPod Touch and iPhones.
Microsoft also has an issue with redundancy. Why does Microsoft have XBox Live & Windows Live? Shouldn’t those two services be combined into a singular service? Imagine a world where you can log into your Windows PC, post a note or share some information on your Windows Live Spaces, send an email via your Windows Live Contacts, and then grab your Zune/Windows Mobile device, and head to that business meeting. Oh wait! You need the phone number to someone to give to your boss in that meeting? No problem, pull open your contacts and get it. The Live framework would synchronize everything for you. Want to play that XNA based game on your Xbox 360, Zune and Windows PC? You should be able to open the game, and have your saved game data automatically presented to you. Even if you played to Level 5 on your PC, when you turn on your Xbox, you’ll be at level 5.
There are some really major concepts here that other companies have taken and used, and Microsoft really should have started using, but they haven’t. They never will.
Ever since Steve Ballmer took over for Bill Gates the company has stalled in making strides in their technology. That’s because Steve Ballmer is a business man, not a technology geek like Bill Gates, or a Concept Artist that can take a concept and have his company turn it into reality like Steve Jobs. Yes the Xbox 360 and Natal came under Ballmer’s watch, but really, the only really impressive device is the Natal. The Xbox (albeit a solid system) is out powered by the PS3 and out sold by the Wii. When you already have technology like the Microsoft Surface available, you should really use it. Microsoft has become so set in their ways that they’re afraid to make drastic changes to the PC environment. Yes, I understand that there’s 3rd party vendors involved and a lot more going on behind the curtain than just Microsoft chugging away at another OS release, but come on now, we should have something better than Windows 7. Something better than Zune HD. We should have Windows, Zune and Xbox as separate operating systems under the hood, but on the surface, giving a similar user experience to the consumer, and offering a cloud computing solution that lets users move data and information between devices instantly.
Interesting new update from Sony, you know those “Mini” games that are available for the PSPGo? The casual & laid back games that start up quick and get you into the action? Well now you can download and play those same games on your PS3 with the latest update from Sony on the PS3. Sony says that not all games will support PS3 play, but that you will be able to take your game with you now, where ever you go.
This is an awesome idea, and it’s take Sony to long I think to come up with it. The PS3 has far more power than the PSP does, and I think you should have been able to play all of the PSP downloadable content on the PS3 via an emulator or something. This is the Playstation 3 we’re talking about here. It can handle it.
Sony would gain additional revenue by opening up this venue, as there are several games on the PSP that myself and many other people would like to play, but won’t spend the $250 on the system to play those games. My iPhone works just fine as a substitute.
So I spoke to a buddy of mine on MSN today and asked him for some assistance on my Android SDK issue. He asked me to launch the app and give him the information in the Eclipse console, so I went ahead and opened Eclipse and wouldn’t you know it? The app actually ran without any errors. This confused me, and so I created a new project and attempted to run it, and had the same error displayed to me. He asked me to re-start the Eclipse IDE and so I did. The issue went away again. For some reason, I receive the error after creating a new project, and if i restart the IDE, the issue is resolved.
I’m not sure why this is the case, but at least I’m now able to develop in the Android SDK.