Dynamic Mud is a multi-user online game. We are currently in the early stages of engine development. The game will have no zones, instead having a completely deformable wilderness. This will allow the weather, players, and mobs to change the world through their actions. The entire game will include: real-death player killing, limited life spans and continuing story lines driven by the players. Welcome to the Dynamic Mud Development Journal.

Saturday, June 30, 2007

As I mentioned last weekend, tomorrow, Sunday July 1st at 2:30 EST will be our first test event of the summer. I hope to get a chance to see how the game handles with some more players on there at once, and try to route out any remaining typo's and minor issues. If you haven't already signed up and are interested in giving it a whirl please go to our Tester Group on google and sign up. Once approved you will want to check out the thread for the particular test in order to see the details of connecting and playing. See you then!

Thursday, June 28, 2007

I was going through my usual bored at work routine and came across some interesting content from digg. In a sense you could say that it isn't new content per say but more or less a visual representation of the normal digg content implemented in flash. digg labs has implemented four separate tools so I will go briefly over what they are.

stack

The first tool, called stack, displays a row of current stories from digg. The number of diggs for each story is presented as a bar graph, with the height and color of the bar representing the number of diggs for that particular article. Quite quickly you can watch stories gain diggs as they fall from the top of the screen.

swarm

The next tool on the list is called swarm, and is quite possibly my favorite. Swarm presents each story as a circle. Digg users then become attached to these stories, forming surprise, surprise, as swarm. As new users digg these articles these swarms grow and these clusters grow. As time goes on these diggs go away. This is a very interesting way to watch the latest happenings on digg.

bigspy

Bigspy is my least favorite, and quite possibly the least imaginative of the utilities from digglabs. As stories are digged their headline appears at the top of the screen. The size of the headline is based on the number of diggs, the count of which appears to the right of the headline. Not much else to say about this one.

arc

Digglab's newest visualization is appears as a circle, and is possibly the hardest to accurately describe. Stories appear in the center, and change through time, while new articles are added around the edge of the circle. I guess this gets the job done, but to me arc definitely isn't anywhere near as exciting as stack or swarm.

Wednesday, June 27, 2007

Today on Zen of Design a newly released game was mentioned. What was interesting about the game wasn't the basis of the plot (themed around Shadowrun). The interesting thing about this game is it's features. The developers took an interesting step, they decided to base many of the game's features around standard hacks. The game is a First Person Shooter. You can see through walls, teleport instantly, etc.

This was quite interesting to hear for me because earlier today I was discussing methods of defeating cheats in DynamicMUD. Our situation is quite different, but in many ways its the same. If you make the cheat the game then no one is cheating anymore. In fact Sliis even mentioned how it is interesting no one has based a game around spamming each other. First person to use up their opponent's bandwidth wins!

Tuesday, June 26, 2007

Heres another milestone for the blog. This is the 200th post here on the blog. It's been a long time coming, about a year and a half to get here. Looking back there has been an incredible amount of changes in terms of my opinions, methods, and skills.

I would like to thank everyone who has been supporting my ideas and eagerly watching for developments. More recently I would like to thank the people who have been putting work in. Sliis has done a tremendous job writing up socials and help files and it has been a big help. And hopefully a website will be available soon as the result of Qyae's efforts.

Monday, June 25, 2007

I came across a new social media site today in between tasks at work today. Oddly enough I found out about it on Digg, and it looks like this site's main purpose is to compete with Digg. The site is www.spotplex.com. The primary difference from what I can see is that spotplex bases the ratings of posted articles not on the input of the users, but instead directly on the viewing habits of the users. The more people you get to your article, the higher it gets rated.

I think inherently this system has a few flaws. Not everyone likes what they read. It's hard to tell if a user liked something unless you time them, but even then the results won't accurately reflect the feelings of the readers. The second main flaw I potentially see is that if your site is already highly trafficked then you have a great advantage over the casual blogger for example. I have decided however to give it a try. I put the code on the blog, and hopefully within a few weeks I will be able to report on wether or not it really works for me.

Sunday, June 24, 2007

This is going to be an information packed post so hold on for your life! I added a google calendar to the sidebar late last week, the most observant of you probably saw it down at the bottom. I moved it up to make it more visible. All test event's will be posted on that calendar. Next weekend I am planning the first test of the summer. Mainly the goal of this particular test will be to see how the game handles being situated on a different machine. This will also be a good chance to confirm that the caching system is indeed improved, and will be a good chance to expose people to the new help files and socials that Sliis has been so helpful to write up for me. For more information on the test please visit:

Saturday, June 23, 2007

I'm not done, but it feels good to make progress. I knocked the first and third items off my todo list for the weekend. The new config file system I added makes running the game up on slayn's server much easier then before. When I initially went to test my code on the server I had to manually find and replace all references to database and usernames for accessing MySQL. Being that I don't have full control over the usernames and the database name I need some way to change this easily. Now I should be able to upload code almost as fast as it gets written.

The improvements on the helps system are great too. The new command I added to the game: helpsearch, allows a player to search through all the helpfiles loaded in the game for a search string. There have been plenty of times in the past when I really wanted to find something in a help file, but could not remember what the help file was called. This should solve that problem nicely.

Next to do for this weekend is the improvements to the caching system. Once that system will run at a minimum of cpu usage then I can comfortably run the game without fears of being shutdown by the usage police. That means hopefully the next test should be here soon!

Thursday, June 21, 2007

This weekend is shaping up to be a good weekend for coding. I intend on staying at school for the weekend instead of going home so I will have full access to my machine and a lot more free time to spare. There are four primary tasks I hope to tackle by Sunday night, preferably sooner so I can move even further along. This is what I am planning to do:

Improve the pieces of dynamic that make use of the database so that the database connection info (usernames, passwords, and database names) can be more easily changed.

Redesign the caching system. Currently the code eats up far too much CPU time when it is in it's idle state and this is unacceptable.

Fix a few bugs in the help system, and possibly add a new command to improve the ability of players to search through and find information in the help files more easily.

Finally I want to refactor some of the commands so that they fall under the correct packages. Potentially I may expand on this and also localize more of the command information in each command class itself. This might make adding and removing commands simpler. I may decide against this as the current system is relatively strong and I have forgotten some of the benefits since scheduling this back in January.

Once these tasks are complete the next tasks on my list involve more and more new features as opposed to just improvements on the old. By Sunday night I should be fully back in the groove and ready to really start cranking along.

Wednesday, June 20, 2007

I am quite thankful that I managed to squeeze out of Jury Duty on Tuesday. The day started slow, apparently when the Judge says "we will start tomorrow as early as possible", then that means you will arrive at 8 AM as requested, and then wait until 9:30 or later to start. Thirty minutes later it was my turn to go up, and answer the Judge's question about why I thought I should be excused. Massive amounts of work and school as well as severe financial burden isn't enough to get off I guess. So they stuck me in the Jury Box and I nearly died.

I had resigned myself to serving on the Jury for the next three weeks when soon after filling the box they removed three people. As I now understand the system: they fill the Jury box, and then the Attorneys can make challenges based on their own opinions as to whether a Juror will favor them or hurt them. I had a new restored hope at this point... so I took some advice I heard a while back... and I pretty much spent the next hour or so studying one of the two defendants. At one point the defendant even whispered something to his attorney and they asked for a short recess. I was almost certain that this was my way out of Jury duty, but when we returned that was not the case. Soon after however they did end up challenging me, and at least 75% of the Jury. I am very happy I got off, I have almost completely caught up after the whole ordeal. Now I can catch up on the remaining work I have to do, and then get back to coding Dynamic.

Monday, June 18, 2007

As I mentioned in a previous post I was supposed to go in for Jury duty today. We'll I did, and quite frankly, my civic duty makes me very angry. Everything was going fine up until noon or so. I was reading the novel I brought, enjoying the relative peace and break from all of the other hassles and responsibilities in my life. Finally at 12:15 or so the court officer brings the entire Jury pool into a court room to pick a jury for a criminal case. This itself wouldn't be too bad, but we were informed that the case would likely go on for about three weeks. This was bad enough, and I really didn't want to get on the jury. By around 3:30 PM they told us they had other engagements and that we need to come back tomorrow. Wonderful. Not only has this wasted an entire day for me, but it will ruin a second. I have a demo for work on Wednesday to do. I have a new coworker starting tomorrow I was supposed to introduce to people. I also have a bunch of other stuff to do for work tomorrow, which is rare, and I want to actually do work. I have a midterm for a summer course this week. And due to all my gallivanting around the state today I don't have time to hit the gym. I think these courts need to be more courteous and efficient. Hopefully tomorrow will go better. Until then, my life sucks.

Sunday, June 17, 2007

Like I mentioned previously I am going for a new look and taking advantage of the new blogger features. I have added a couple of new features that might not be familiar to people who have been regulars here. I went through all 192 posts and added labels. Please bear with me, many of these posts likely could use some more and better labels, please feel free to email me if you spot a label that is out of place or should be added. You can quickly browse posts that have a particular label by clicking on the link for that label on the right. This is a nice and simple way to see all the old specification posts from the first months of the blog.

Another new feature that I added is a list of the five most recent comments on the right sidebar. Just as a bit of information for anyone else who might use blogger and want to know how I did this. In order to add the comment feed add a new feed page element and set the url to http://yourblog.blogspot.com/feeds/comments/default. This seems to work pretty nicely.

The last addition was a set of buttons at the bottom of each post to make it easier to submit to some of the content and link sharing networks out there. Here are some links to get you started if you want to do something similar:

I hope to add another sidebar feature in the near future with direct links to all of my articles and major posts about big things, such as what is Dynamic MUD, and my post about MMO Business Models. I'm not sure when I will do this but I would say probably next week or so depending on how things go.

I think these layout changes are for the better, what does everyone think about the new layout?

Saturday, June 16, 2007

I have been advocating Bluehost.com as a web host for a while now. During my normal web surfing rounds I noticed on MudConnector.com that someone was using Bluehost.com as a mud host. This is quite an ideal setup as bluehost has some wonderful features is quite cheap. Today someone posted a tutorial on how to transfer a mud to Bluehost. I am not sure on usage restrictions but for some of you out there this might be worth taking a few minutes to investigate, and possibly save some money in the process.

Friday, June 15, 2007

I guess standby Juror for a Monday is the same thing as a regular Juror. This unfortunately means I need to be home for Sunday night and so won't have Sunday to code. I will make an attempt to code tomorrow given that I can finish the assignments that are due for my online Music class. Hopefully I can get through some bug fixes done and get myself back into the swing of coding again.

On Sunday I am considering a blog layout change. I think I might go back and make an effort to reorganize things to use the labels that blogger now provides to allow better access to the site's content, hopefully going through all 190+ posts won't take me too long. Does anyone have any objections to a color change?

Monday, June 11, 2007

I seem to have a bit of a better grip on things now that I'm a few weeks into the summer. I should be able to pick up where I left off coding either this weekend or next weekend. I am a standby juror for Monday, so in the event that I get lucky and don't need to go I will begin this weekend. In the event that I do need to go I don't plan on beginning until the following weekend.

My first plans with coding involve a few minor refactors and clean up steps that I have been planning for months now. Once those are complete I intend on moving to improving the cache module. The goal is to decrease the amount of cpu usage that dynamic needs when idling. Hopefully this will allow me to run Dynamic continuously at least for the staff, and make running tests more probable this summer. I am hoping to put together some sort of capture the flag game together working off of the tag test module I currently have. This would take advantage of the newer world stuff since January and make for what I feel would be an interesting test experience. Hopefully this week will go smoothly.

Wednesday, June 06, 2007

Between yesterday and today I made an attempt to port my code over so that I could run it up on the server space that slayn.net has been so helpful to provide. In the process I had to generate a java jar file to upload so that dynamic could be a standalone program and run independent of eclipse. My first few attempts failed, primarily due to dynamic's need for the MySQL java classes that I have installed, and I have been unable to successfully set up my java classpath.

I ended up finding a cool plugin for eclipse that generates jars and packages in the prereq java classes it needs. The tool seems to work great so far and has been very helpful. You can get the Fat Jar Eclipse Plug-In at http://fjep.sourceforge.net/ Hopefully this might help other java developers too.

Monday, June 04, 2007

So on Friday I was preparing to head to the campus store on my lunch break to go purchase the materials I will need for my two online courses this summer. I looked at the email confirming my registration to make sure I had the right course numbers and books I would need. And then I realized that it wasn't June and July that they started, but May and June. My music course apparently started last Tuesday, and my ethics course starts today. Fortunately none of the music stuff is due immediately so I haven't actually missed out on anything. What this does mean on the other hand is that instead of doing some coding, then breaking for school for a month or so, then coding again in August I will be more immediately getting into the school stuff now, and start work on Dynamic a little later in the summer. This shouldn't actually be a problem and might work out better then the situation I had thought I would be in. Possibly in a week or two during the weekend I will start easing myself into some of the simpler Dynamic tasks so that when these courses end I will be ready for the larger tasks.