Thursday, August 30, 2007

Next Test Sunday

Ok, I'm officially scheduling the test for 2:00 PM Eastern Standard Time on Sunday September 2nd. Most of CTF should be functional by then, Territory is mostly in... basically if you are close to your flag you'll be in your own territory, close to an enemies you are in theirs. Where the regions overlap is contested territory. I hope to tie being able to tag into this so you can only use tagging defensively. We'll see how that goes. See everyone Sunday!

Tuesday, August 28, 2007

Final Summer Test

I've been cranking along and have CTF mostly complete. So far I have flag items which can be aligned with a faction, as well as flag rooms that are also aligned with a faction. If the proper flag is in a flag room then that flag will appear on the map, and be visible on survey. If you drop an opposing team's flag in your flag room it disappears and your team scores. Currently I'm working on adding the territory system which will allow me to limit tagging to be only valid in friendly territory.. so basically tagging to stop people will be a defensive tool like in the Capture the Flag I so fondly remember as a child. There are a few other tweaks left like adding some jail code and hopefully an automated CTF running system, then I will be complete.

I'm looking to schedule the next test this coming weekend, preferably Sunday or Monday. We will run with whatever level of completion I have on CTF and see how it works and make sure I haven't broken anything. Go hit up the Tester Group and give me some feedback.

Sunday, August 12, 2007

Confusion Clearing

It's been a little over a week since my last post. Things have been hectic as mentioned earlier, a weekend in Vermont, a full week as a TA for the summer program they have for incoming engineering students, followed by yet another weekend away to celebrate my birthday. Only two more things to deal with before I can relax... tomorrow I need to get my license renewed, and Wednesday I am moving into my dorm for the fall. Once that is done though, it will be a lot less stressful transitioning into the fall semester so I am really grateful for the early move. Once all of that stressful stuff is done then I can go back to working on finishing up CTF, I am projecting two good weekends to work on it, excluding the weekend of the 18th, I think I will be home then.

Other then this progress report I have only one other cool story I wish to tell. For FSI... Freshman Summer Institute I came up with the idea of running some computer games for the students as a night activity to help entertain the hordes of board 18 year olds. This worked out quite well, we played Starseige: Tribes, a 9 year old FPS that runs great on machines with limited graphics hardware, and could be pasted onto each machine. Didn't hurt that its freeware now. Thats all for now, and definitely expect another dynamic test in the next two weeks or so.

Wednesday, August 01, 2007

Busy Weeks Coming

For those that haven't noticed I have been posting a bit less the past week or so. Things in life are picking up a bit so I will be short on time. I am heading out of town for the weekend, and upon my return I will be spending just about every waking hour working as a TA for a summer engineering program for the week. The weekend following that is my birthday, so I am heading out of town again. Sometime around there I need to take care of renewing my license, and right after I get back I need to deal with moving to my new dorm room for the fall, they're moving us earlier then I thought. Hopefully I will get a chance to finish up CTF by the next free weekend I have. I will try and squeeze in a test if I have a free afternoon. I'm hoping I will get a few posts in among all that mess, but if I don't, just know I'm not slacking.

Sunday, July 29, 2007

Accessibility Hopefully Improved

As I mentioned on Wednesday, I worked on the accessibility issues that were found during the last test. There were three main issues at hand:

A method of disabling the map.
The map provides nothing but unpronounceable spam for a user who is playing using a reader program. I added a new config command, so by typing config map n the map can be disabled.

A method of disabling the prompt.
Like the map, the prompt must get annoying for a player using a screen reader. This was another direct request, and so I did my best to satisfy it. Config prompt n will disable the map.

Provide the information on the map in a verbal form.
This issue wasnt exactly a direct request, it was more or less implied. Previous to today a player with a screen reader had absolutely no information about their surroundings. By enabling the auto survey using config survey y, a player now sees a listing of the 'regions' surrounding them, and the direction they are in. This allows a player to have a better grasp of where they are without the map, and also shows them the players in the area, much like the highlight we have on the map.

The second method of providing this information was using an auto exits config option. This displays the names of the rooms immediately north, south, east, and west. This gives the player even more information about where they directly are.

These features appear to be working correctly, the only thing that remains to be done is testing them with actual an actual screen reader, and see if this provides enough information. Ultimately I think this is worlds better then we were at before, but I think there will always be a few features that will be impossible to convert, and a player with use of a map will likely always have at least a slight natural advantage.

Thursday, July 26, 2007

Breaking Free

For the past few weeks I have been reading a pretty new blog about breaking free of the 9 to 5 job and starting your own business. The Author, Brian Armstrong is a young entrepreneur who has had several small successes so far under his belt, and all in his early twenties. Brian has also written a book about the subject, also worth checking out. Personally I'm hoping to collect some inspiration from Brian as I move forward into my own career, and my hope to escape from it and start my own business.

Wednesday, July 25, 2007

Fixes and Accessibility

I've managed to get items integrated with relatively little work. As a result I can move forward this week with some more new stuff. First on my priority list is fixing the bugs that were found during last week's test. Most of these are minor and quick fixes so hopefully shortly into this coming weekend I will be able to move on into the accessibility issues that were made quite obvious during the test.

The problem that needs to be solved here now is finding a way to represent large amounts of data that is intended to be visual in a way that could be easily consumed by a user using a reader program. I have a few ideas, the simplest of them is implementing an exits display, listing the 'rooms' that surround your current room like most mud's already have as a normal feature. The harder problem is representing the 100 or so rooms that might be within a 5 room radius of the player. Does anyone have any ideas?

Tuesday, July 24, 2007

Spotplex Sucks

A couple of weeks ago I mentioned that I was trying out spotplex. Since I have set it up I really haven't gained anything from the experience. Their code does an ok job at tracking activity on each individual page, but it still seems to be flawed, it was able to ignore some of this activity. Even on the best of days, when I was getting what for me was very good traffic for a single day, on an individual post page at that, I didn't receive any traffic from spotplex. They have managed to prove to me that unless I am already a big player I do not have any chance of gaining any benefit from their service. Hell, I got more hits from technorati because of my post about spotplex then from spotplex itself.

The Bottom Line: Unless you already have a reasonable amount of daily traffic I wouldn't even consider using it.

Monday, July 23, 2007

Link Popularity Tools

Over the past couple of weeks I have begun to pay more attention to link popularity and page ranks. In my searches I came across a pair of tools that can be helpful for performing analyses in this area.

The first of these tools is at This tool takes the url of a site or sites as input, and produces a count of the number of search hits on a handful of search engines: Google, Yahoo, AllTheWeb, AltaVista, and MSN. The output also displays a handful of other sites as a reference.

The other tool I found is used for predicting your google page rank. Google is constantly updating their own page rank, but this doesn't appear in the directories (as seen with the google toolbar for example) immediately. Instead google does an update to the directory several times a year. This tool predicts the page rank based on back links to your site. Quite useful for planning, and to see the fruits of your page promoting efforts.

Sunday, July 22, 2007

Top 1,000,000 Alexa!

Within the past week or so this blog has broken into the top million websites listed on This really isn't that big of a deal, but things have been moving up right along. To be honest I am still unsure if this is because of all the increased traffic I have have picked up, or if it is just because I now check the blog about twice a day with the toolbar I installed. Whatever the cause its a definite plus!

Reminder: Anyone with questions about DynamicMUD should read this post. I will aim to start answering questions over this next week.

Saturday, July 21, 2007

Any Questions?

Todays test went quite well. A few bugs were found, but not many, which is always a good thing. During the test a lot of questions started flying, so I think this is a good time to let people ask questions about DynamicMUD. So far a bunch of people have expressed interest in the project so far, but I think a lot of people so far have only had a chance to scratch the surface per say. If you haven't yet I would definitely recommend reading about what DynamicMUD is. If you have any questions about gameplay, features, the timetable, or anything else about the project please post a comment here and I will either post an answer to the question, or reply directly to the comment.

Friday, July 20, 2007

Dynamic Test Tomorrow!

The test that I keep mentioning is tomorrow! The event is scheduled for tomorrow at 3:00PM Eastern Standard Time. If your not in the EST time zone then look up what time that is for you here. If you haven't already signed up or haven't considered showing up, please do, it will be very helpful for development, and should be a good hour or so of entertainment.

Thursday, July 19, 2007

The Road Ahead

This is a good opportunity to explain what is in the plan book for the next few weeks. This Saturday we are running our second test of the summer. This coming weekend and next week my current plan for coding is to work on integrating items with the persistence system that the game world and being are all tied into. This will allow for a great expansion of potential options for players during testing. The first few off the top of my head are capture the flag, find and retrieve, and keep away type games.

I am going home for part of the weekend to drop off my car for some work so hopefully I will be able to accomplish all of my goals for the weekend. If I can pull this off, then my plan for the following weekend will be to implement a capture the flag game by integrating tag and items. This also might be pushing my luck because of a wedding that weekend. And of course the weekend following that I will be out of town for karate. My plans for the remainder of the summer involve lots of testing and polishing of the core code. Hopefully by early net year I will be ready to start expanding on the core.

Wednesday, July 18, 2007

Phosphor the Multiplayer Shockwave FPS

Yesterday I got a chance to try out an interesting new game... the only First Person Shooter I have ever seen then is entirely implemented in shockwave. The game plays much like Quake or Unreal Tournament, has a handful of weapons, and some great visual effects for a 3d game implemented in only shockwave.

The name of the game is Phosphor, and as far as I can tell it is being developed by a group called rasterwerks. Phosphor includes bots for a single player arena type game play. While a single player FPS implemented entirely in shockwave is crazy enough, there is still more! The game includes network and internet multiplayer!

This is a crazy find, and definite good free game to try out. I think this is the future model for games, and provides a great opportunity to become profitable while remaining a free game. Great for a short break from work or as a short diversion, but ultimately the best MMO style game is still going to be DynamicMUD. At any rate I would still recommend you give it a try!

Tuesday, July 17, 2007

New Google Referrals

A few weeks ago google adsense added a new set of referrals. These referrals are unlike the previous set, as they come from a much larger base of advertisers. These referrals are basically CPA or Cost Per Action ads, which means that the publisher is paid when a specific action is performed (for example sign up for a service). These ads can be run in conjunction with the normal ads, and many of them offer some serious pay outs. These also come with the advantage of letting the publisher guide his or her users to the ads through recommendations, which is a serious no-no with normal adsense.

I am hoping that these new ads (they are now rotating in the top right hand corner of the page) will bring in some additional revenue. I choose mainly gaming related referrals, two of them are for game design educational programs, and a few are casual games, and a computer hardware one. I can and will recommend you check out these services.

Monday, July 16, 2007

Calling All Testers!

Like I mentioned on Friday... and yesterday, a test is planned for the end of this week. That test will be on Saturday at 3pm EST. We will be testing to make bug fixes, minor code tweaks, and internal changes are all fully functional and stable. The main event for the day will be several games of tag, probably in several rounds, including a free for all, and a team vs team game of tag. If you wish to attend please go to the Tester Group and rsvp. Thanks all.

Sunday, July 15, 2007

I'm Back

The past day or so away did some good I think, got a good chance to relax without thinking about work, school, or even Dynamic (though I guess I really didn't stop thinking about dynamic.. I ended up having a good discussion on the subject with my brother. I got some reading in, played some monopoly, and even spent time outside on purpose!

I'm still looking for information on when the best day and time to hold the next Dynamic test. So far I've only have a slight indication that one individual will only be able to show up on Sunday, and someone did sign up for the tester group. Other then that its still open, so please let me know, Saturday or Sunday, what time of day? Post a comment here, post a reply on the tester group, or email my DynamicMUD gmail account.

Friday, July 13, 2007

When Is The Best Time For You?

I've been making some progress, not a lot of crazy new features, but some internal changes of reasonable magnitude. I think next weekend (21st and 22nd) of July would likely be the best time to run the next test. This should give me an opportunity to make sure the kinks are out of all the new internal changes.

In order to run this test I need people, preferably more then last time. So my question to all of you is: what day and time is the best for you? I will be scheduling this test even next week, probably on Sunday or Monday, and I could really use some feedback for planning the best day and time. Anyone who isn't already a member of the tester group please go join if you are interested in helping out.

This will be my last post of the week, I am leaving tonight to take a weekend
on vacation, I will be back Sunday night.

Wednesday, July 11, 2007

New Debugging and Stability Tools

It's been a few days since I last posted, mostly because I've been caught up with a few things, and quite frankly couldn't find anything I really wanted to sit down and write. I still have more then a week before I will be able to sit down to code a bug project so I've been slowly working at some functionality for dynamic to make it more stable, and I have some more things planned to help with debugging. The most notable change I did this week is to write some code to cleanly shutdown instead of crash. As long as the game doesn't hit an infinite loop then there is no reason why the game wont shutdown cleanly, saving all player and world data. This was implemented using a java shutdown hook. The hook allows you to create a thread that will be started when the application is terminated. For more details check out the Java Runtime Class.

The next major debugging tool I plan on writing wont happen until sometime after my next two 'weekend projects'. I am considering writing some code that would dump the state of every variable in the game when it exits prematurely (crashes). This would give me a snapshot of everything at the moment of the crash, and would be very beneficial for spotting the causes of bugs. Most importantly it will help me diagnose issues that occur when I am not around to see them, which will become an increasingly important issue as dynamic gets to the point of release.

Sunday, July 08, 2007

A Productive Weekend

A productive weekend so far, and I still have some time yet tonight. I managed to fix a bunch of bugs, correct some flaws in how some core modules operated, and added some useful staff functionality. And for the first time in a while it feels like the end of my short term todo list might be reachable. Things are going so well that the next weekend I have to code should hopefully be spent entirely on integrating items fully with the persistance model I have. The weekend following that and I will have Capture The Flag coded! Should be a great method of testing when that is done, given enough players show up. Speaking of testing, expect the next one sometime during the weekend after next, as next weekend I am heading out of town.

Slowly but surely the system behind Dynamic is growing, here are some stats. Dynamic is now up to 23335 raw lines of code. Of these lines, 12574 are actual executable lines of code (non comments and whitespace). This code is organized into 10 packages, 124 classes, and 1137 functions. Since moving to subversion I have commited 70 revisions. So far so good, i'm still hoping for version 0.1 by summer's end.

Friday, July 06, 2007

If You Were in The Simpsons What Would You Look Like?

I checked this out for the first time last night. On the Simpsons Movie website they have a bunch of games and activities to promote the new movie. The only one I've looked at so far is the one where you can create an avatar by selecting different choices for various features (eyes, nose, mouth, hair, etc). Click on the "Create Your Simpsons Avatar" tab and give it a try. Worth a laugh at the very least!

Thursday, July 05, 2007

Does Work Create More Work?

Like I mentioned earlier this week, I took advantage of having the entire day off yesterday to get ahead on coding. I fixed a handful of bugs, made improvements to several commands, and added a new command to make my life a little easier when running tests. I feel like I accomplished a lot.

When I look at my todo list, I see another story. I know I finished three of my 'todo groups', which was a significant portion of work, but when I look at whats left I now see four 'todo groups' to get to the same level of completeness I had intended before starting yesterday. A whole day and to reach the same milestone I was aiming for last week I need to finish a little more then I had before. This seems to be the trend, I've been shooting for this same objective since early last week, and despite expending a lot of effort I get farther away. Hopefully this weekend will be different, but you never can tell. Does this happen for anyone else?

Tuesday, July 03, 2007

This Week's Plan

I'm making sure to take advantage of this week's day off for the 4th to get ahead on coding. On Wednesday I intend to get caught up on all of the bugs that were found this past weekend during the test. This coming weekend will then let me get ahead. The main tasks that will be accomplished this weekend will mainly be working on some cleanup and minor internal improvements for the most part. I also am aiming to make some improvements to the line of sight system, in particular things like stairs and ladders. This has been an issue in the past, one of the problems I have yet to be able to solve is how to determine if a ladder is indoors or outdoors based on it's surroundings. Hopefully between now and this weekend I'll think of a solution to this. I guess that's all for now, I should have a progress report by this weekend.

Monday, July 02, 2007

What Is DynamicMUD?

Back when I was in high school I was an avid reader of PC Gamer. During this time I came across a very interesting advertisement. This full page add was entirely text, and described a game without graphics. A book you could write yourself while playing with other individuals on the internet. Needless to say I tried it out and got hooked on this genre of games.

While I no longer play this afforementioned game, it still invoked in me a desire to create. The feature of this game that stood out the most to me was the wilderness. This ASCII representation of a game world was the perfect set up for a game in my opinion, and had so much potential. Soon after the base concept for a new game was already forming. I would create a game that unlike it's predecessors would rely entirely on this representation to present the game world to it's players. At the time I had no programming skills, I made a few attempts at current codebases, but ultimately none of these would do, I grew bored and my ideas shrunk back to the back of my head.

Over the next few years my ideas expanded. I wanted not only a game where a wilderness was the whole game, I wanted a changeable wilderness. I thought, why not let the player deform the terrain, build their own structures, and blaze their own trails. DynamicMUD was born.

Since then the concept has grown into an even larger plan. During my summer before college I first experienced python and began coding haphazardly the game that I wanted. Much was learned from this experience, including the lesson that planning helps a lot in design. And more importantly, even though python was great for coding quick, it lead to many shortcuts. I realized that I needed to start over, this time with a plan to write a specification first, and dictate every feature I wanted first. Around that time I started this blog to document the journey from concept to specification to code.

I started over in java, planning everything to be modular and maintainable. Coding has been slow going, and I have yet to get to the level of completeness that was available in my python version. Despite this things continue to move, though very slowly, and someday DynamicMUD will be finished.

Dynamic is based on one primary concept, change. Nothing should ever be set in stone in a game. National boundaries wax and wane with wars, the landscape is shaped by these conflicts as well as the weather. Resources can be scarce. This will drive an in game economy and be the source of constant change, creating the history of the DynamicMUD game world.

Unlike most other MMORPGs currently on the market, players will suffer from finality when they die. They wont be resurrected, or brought back to life by any other means. Life spans will be short, and in the course of several years of game play many generations will live and die, adding to the flowing changes that take place in the world.

Players will rise to become great leaders, unite several tribes, and wage war for the land. Players may be betrayed and politics will be an ever present part of life in DynamicMUD. Essentially welcome to another world, where what you do is your choice. Live the life of a farmer, live in a quiet village and help supply your surrounding villages with food. Be a sword smith and become known across the land for producing the strongest cutting blades, outfit your nation's troops, and equip the war machine. Or be the soldier, command armies of troops and do the bidding of your lord. Destroy your enemies and burn their homes to the ground. These lifestyles as well as any others you can think of are yours to play out. The choice is yours.

Sunday, July 01, 2007

Today's Test Complete

Thanks everyone who came today for the test! I think a lot was accomplished, many bugs found, and some good suggestions were made. This should give me plenty to do over this week and next weekend. I am not sure when the next test will be set up, but it will likely be sometime in the near future to ensure that all the bugs that we found are fixed. Thanks again, and I hope everyone enjoyed themselves!

Saturday, June 30, 2007

Last Call, Testing Tomorrow!

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

Digg Lab's Provides Real-Time Visualization of Traffic

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.


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.


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 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.


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.

Has anyone else used these, what do you think about them?

Wednesday, June 27, 2007

Cheating as a Gameplay Feature?

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

200th Post!

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.

Thanks for reading, playing, and suggesting.

Monday, June 25, 2007

Spotplex, Digg's New Rival?

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 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

Introducing the Calendar and Next Weekend's Event

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:

Please respond to the 'Roll Call' I would like to get an estimate for who is still interested in testing, and hopefully get a good idea of who might show up.

Saturday, June 23, 2007

Progress Today

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

Scheduled for Completion

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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

Jury Duty and My Narrow Escape

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

Jury Duty and My Misery

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

New Blogger Layout

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 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

Bluehost as a cheap Mud Host

I have been advocating as a web host for a while now. During my normal web surfing rounds I noticed on that someone was using 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

Jury Duty on Monday

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

Coding Soon

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

Fat Jar Plugin

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 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 Hopefully this might help other java developers too.


Monday, June 04, 2007

Change of Plans

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.


Wednesday, May 30, 2007

Long Overdue Update

A lot has happened since my last post. I moved in Monday, it took a grueling 6 hours to move both myself and my girlfriend into our apartments for the summer. The living situation is nice but of course roommates are a drag. So far time has been hard to find. Two days of work so far has shown me that at best I have two hours on Monday, the same for Wednesday, and then the weekend should be fine... when I don't go home. This might improve once I get used to going to work and all that stuff again.

Work so far has been pretty slow, it definitely looks like it will take a while to truly get into the groove and have a real project to do. I can't wait for real work, the cubical fabric pattern is pretty uninteresting to stare at after the first few hours.

I am currently aiming to get myself back into coding dynamic next week sometime, I want to slowly ease my way back in. I definitely don't think I will have too much time to spend on coding during the week, and during my summer courses I can pretty much count on having no time during the week.

Finally, I wouldn't expect more then one or two posts a week. Time is too valuable and short in supply to spend too great a portion of it writing about what I am doing in the rest of it. Hopefully I will have a Dynamic update soon.


Friday, May 18, 2007

Three Finals Down Two to Go

I'm past the halfway point of finals. I feel like I can breath again, and of course thoughts of coding are again entering my head. I'm starting to think about coding again and I am formulating my plan of attach to get stuff completed. I will probably start posting a bit more too, though I doubt it will be more then a few times a week. Wednesday night I am free!


Monday, April 30, 2007

Summer Internship Secure

Well its been a long time since my last post, schools been hectic as always, and I'm pressing ever closer to the perilous finals. Thankfully things are looking up, I have a summer internship now at the ATMC (Advanced Technology and Manufacturing Center). The ATMC is an incubator for high tech start up companies, and is owned and operated as a nonprofit organization by the University for that purpose. The project I will be quite interesting, apparently involving AUVs, Autonomous Underwater Vehicles. Apparently these AUVs are used to do all sorts of measurements of costal waterways etc. Should be really interesting to get involved in something like this. Even more advantageous with this position is that it can basically become a Research Assistantship when I hit my masters year, almost completely killing off the cost of grad school, and might even be involved with my thesis.

The disadvantage here however is my pay as an intern is less then I would have had working directly in the commercial sector, and on top of this I will need to pay for summer housing on campus, and have a bit more of a commute to go to Karate each week. I guess you can't win them all. I will likely be making plans for my Dynamic development around the time finals end once I'm settled in with my new housing.

Back to studying, but at least thats one less thing to worry about.


Friday, April 13, 2007

Rough Week

It's been a rough week. Last weekend I was out of town to train, so I wasn't exactly internet accessible. The rest of the week has been pretty rough too, no free time to be found here. At this point I really wouldn't expect daily, and potentially not even weekly posts until I'm out for the summer. Too many projects and assignments on my back right now to really get everything done that I want to. I would definately recommend going back into the archives though, theres a lot of ideas etc in there.


Tuesday, April 03, 2007

Graph Algorithms

In algorithms today we started learning about graph algorithms, for example things like finding the shortest path etc. This is good news, hopefully by the end of the semester I will have enough ability in this area to make designing the AI for Dynamic MUD more efficiently. One of the biggest problems with AI in games is that it takes up a lot of memory and CPU time. Being that the game world in my case is basically a large grid of vertices connected by edges, it would be quite simple to treat the world as a graph and use these same practices to quickly find the fastest path between two points. I guess there was some value taking this class after all :)


Friday, March 30, 2007

Summer Outlook

It looks like this might work out for coding, likely only having to worry about taking summer courses in June. Hopefully I will be able to finish up the core of Dynamic so the next big break I get I can start moving onto more advanced features.

The job outlook for the summer is looking good as well. Already have an interview planned with HP on Wednesday, and there are a few other organizations looking to interview me as well. Hopefully this will all go well and I can get a job within a decent drive so I don't waste too much time on the road. I guess we'll see what happens when we get there.

As for this weekend, its going to be a rough one, projects, homework for multiple classes, and an exam all due on or before Tuesday of next week. Time to buckle down for another fun one.


Monday, March 26, 2007

Nothing But Rants

It has been getting really hard to write about anything except things I'm not happy about lately. School has been stressful (I haven't even been back to classes yet and I'm already about at the edge of what I can take) and anything else that can find a way to not work does. I think my video card is on it's last legs, it has progressed to artifacts whenever I boot it up, apparently just displaying the scrolling linux boot up text is too much to handle. Fortunately it seems to resolve itself by the time it finishes booting, for now. I guess when I'm pinched for time its hard to write about new ideas and features that don't exist yet. I'm going to try and change that, but I am going to warn that the general trend seems to be that I won't have time to write every day like I did about a month ago. Anyway, back to the grind.


Friday, March 23, 2007

Week Coming to a Close

The week is starting to come to a close. I got some very cool things done (last night I got my vga driver working on the fpga, add that to my list of 'skillz'). Unfortunately, I also did a lot of homework, and unlike any other spring break I've ever had, I don't thing I have played a single computer game. I did manage to play and beat my brother bad three times in NBA 2K7 for the playstation 2, until playing that game this week I never realized hoe deep a basketball game can be... the last one I played was NBA Jam for the Sega Genesis, though that one was a classic.

This week has also been riddles with communications problems. We switched over to comcast's digital phone service, and since about Wednesday cannot receive phone calls from anyone local. As a result that dentist office which was supposed to call this week to notify me of any cancellations didn't, and so I missed a chance for an appointment yesterday. On top of that the school email system has been down since about 2pm yesterday, hope I don't miss any important emails as a result, I'm waiting for information on at least one summer job.

Overall It was a pretty good week, then its back to the grind on Monday.


Wednesday, March 21, 2007

Halfway Through Vacation...

...and I still don't feel like I've accomplished much. Thats needless to say that most students on spring break are living it up and having fun. Instead I'm struggling to finish homework and get ready for next week's fight to stay above the rough waters of hard engineering classes. I have a handful of big projects around the corner, and I know once I finish them then the next set of projects will take their place anyway. Either way I suppose I'll survive, whatever doesn't kill us makes us stronger right?


Tuesday, March 20, 2007

Don't Think Card Games are in my Future

As things are going now, it seems very unlikely that I will have the time to make an attempt to compete in the coding challenge. As nice as it would be to pick up $500 dollars and gain some notoriety in the community, I don't think I can spare the time. The money will come when I graduate. And graduation and job picks depend on my building my skills and getting my homework done. I think those 2 to 3 days designing and implementing a card game library could be better spent working on the next upcoming lab for Digital Design.... a VGA controller! The Keyboard to LCD lab is pretty much done, and I seriously doubt any of my classmates will pull it off, not as completely or as well as I have anyway ;). Call it an arrogant hunch.

I think ultimately I'm just going to make it my goal to get through this week sane. Sane and caught up on homework and projects. I have a brutal 2 months or so left until I'm done with the semester, and in that short amount of time I need to finish all these projects I have, especially finishing the sudoku assistant machine I'm supposed to develop as a final project for Digital Design.

If I can get through all that then maybe this summer if I can swing it I'll finish the core for Dynamic. Of course that was my goal last summer. We'll see if I can deliver this time, on top of my courses I need to take this summer, my prospective job, and all the other things that get stacked onto my todo list. If I have dynamic ready for a public release before 2010, someone owes me a million dollars. Sometimes I wonder if I had known about the workload sooner if I would have started working on the game when I did. Anyway you look at it, someday it will be done, it will be public, playable, and it will hopefully still be in time to break the mold.


Monday, March 19, 2007


Even being home it appears I've been too distracted to write any posts so far. I've spent quite a bit of time this weekend hacking away at my homework. I've been trying to work on my lab for Digital Design, which has been quite a project so far. The objective for the lab is to take input from a standard ps/2 keyboard like you have plugged into your computer, and to output what you type onto the LCD display that is on the board were using. So far getting the LCD to display what I want hasn't been too bad, but to accomplish it I've been using some vhdl for an entire microcontroller just to handle the display. On the keyboard end however, I've seen nothing but problems. There seem to be some timing issues involved, so instead of displaying just a single new character on the display it seems to rewrite all the locations with the same character. I have access to a little more information today, so hopefully I can figure this thing out.


Friday, March 16, 2007

Busy Before Vacation

It has been yet another busy week finishing up before vacation. I wanted to post several times this week, but sleep has taken priority just about every night. That, and I was also expecting to post about the new game production blog carnival yesterday, but it seems to have been postponed. I now have the rest of the day to go before vacation.

My plans for the next week have been mutating quite rapidly, until last night I had planned to take the weekend to go to Vermont to train, but due to the weather that will no longer be happening. I also think I may be attempting to compete in the MudMagic code challenge. The challenge is to write a framework for a publicly available mud codebase for playing card games. I was planning on spending a couple days on it if I get my homework done, and now with the two extra days it seems even more likely. Ultimately I may end up spending less time on dynamic, but the prize is nice, so it should be a fun little problem to solve.


Monday, March 12, 2007

Why Tomorrow's MMOs Continue to Suck

With all the new games being released, especially in the MMO genre, you would think that the genre would evolve. In reality so many of these games appear to be just as crappy as the ones that came before them. While there are exceptions out there, games almost always follow the same pattern as the ones that come before them.

Do you remember the first major real time strategy games? You had Command and Conquer and Warcraft leading the way. Starcraft came along, and so did Command & Conquer Red Alert. What changed here? Not much: settings, characters and visuals mostly. Of course there were small improvements to game play, but where was the innovation? Ultimately you can't really complain about these games, they were the innovators in their genre. But what about the countless clones that followed? Too many game developers develop in a fearful manner, afraid of what would happen if they tried something new. Flash forward to today and the genre is largely unchanged. Of course a few games started to try and break the mold and try new thing, Company of Heroes for example pushed things to the next level. But ultimately we are still stuck with the same games we played 10 years ago.

Lets flash to a new genre, how many Role Playing Games really broke the mold? Theres always a first, and a million clones to follow. This is great if your so in love with a specific game that you just want more of. But what about us who thirst for something new? Some players want to see innovative game play and not just the tried and tested. I could go on about the First Person Shooter genre too, but I will stop here.

Coming back to MMO games, they follow the same boring pattern. Unfortunately here however the mold hasn't changed in almost 30 years instead of 10 or 5. Yes I said 30. I wasn't even alive back then but I know BBS systems existed back then and players dialed in to play games. These games eventually evolved into multi user dungeons.

Heres how about 95 percent of these games work: You create a character, level up, communicate with friends, group up and run zones. You kill things, get exp, and level up. Some zones are meant for higher levels, and others for lower levels, and these same zones never change between each visit. In the larger games you have griefers, newbies, and just about every other category of player all playing in the same game. Sound familiar? With a few exceptions every MMO from Everquest to World of Warcraft follows this same model. To the extent that there were allegations that Everquest was modified from Diku MUD, the first mud out there.

Please someone do something new and different. I'm sick of seeing people run zones that don't change. I'm sick of seeing static worlds, essentially chatrooms instead of thriving worlds like we should see. And most of all I'm sick of the hype these games that are more of the same get. They haven't done anything spectacular for a while. So go ahead, pay 15 dollars a month for something you could have done for free since before 1990.

So go ahead, get in line behind all those other people... to kill the goblin king... in the goblin castle... again... for the second time today.


Sunday, March 11, 2007

I Want Your Feedback

I think ultimately players should have a chance to give back to the games they play. And even more so some of the best ideas and opinions are from the people that play the games, not the ones who design them. At the same time I think the game designers should have the ultimate say as to what does and doesn't make it into their games. For this reason I'm posting an email address for those that have opinions that they want to share directly with me on various ideas or features. Or if you just want to say hello, have questions, or are looking to join the team. I can't make promises but I will do my best to be helpful.


Saturday, March 10, 2007

Game Design Documents

I was just browsing when I came across a presentation put together for the GDC2007 by Damion Schubert. He posted his power point slides discussing how to write good game design documents. I found them very informative, and in fact I'm thinking part of my time spent over spring break will be assigned to working on bringing my own game specification up to date. I haven't touched it in a while, and I think some of these tips and ideas would help make it better. Not to mention I have new game feature ideas I would like to write in.

Ultimately the main points made were that a good game design document is simple, doesn't over design, and shells out development stages. I would try to describe it more, but I think you should just go check it out.


Alexa Update

I mentioned alexa in an earlier post, and how the alexa rank was slowly improving. It still is. As of this morning The alexa rank for this page is 1,482,132, up from 6,352,160 when it was first ranked. I'm not absolutely sure, but I have a feeling that at this rate I could at least begin to approach the top 100,000 if this trend continues. I'm pretty sure it is all a result of using the SearchStatus toolbar for firefox. In other related news FeedBurner subscriptions, and Technorati rank are up, and Blogtopsites rank is down.

I'm going to make an attempt to try and write posts every day again. Hopefully next week won't be as crazy as the last few were. A lot of the times I would have posted this week it was a contest of sleep versus posting, and for the student sometimes sleep is just more important.


Wednesday, March 07, 2007

Classes Keeping Me Busy

Its been a few days since my last post so I think its worth just posting for the sake of posting. I'm really starting to think development might be at a standstill for a while, but then again I'm way ahead on homework for this week so maybe the end of the week will be good. Last weekend I had a big group project for linear systems to do, and ultimately I spent an extra few hours in the lab fixing some moron's mistakes. Then the past few days I had to put in an extra few hours to finish a Digital Design lab. It works now though, so ultimately it was worth it.

I'm still finding myself considering this whole masters thing. I'm leaning toward it, but part of me just wants to get out of here and start developing dynamic more quickly, and make money. I might end up with more free time as grad student however, if only because I will only have 9 credits per semester tops. I guess we'll see where I end up with that.

I'm planning on staying at school this weekend, so hopefully I will have some improvements to dynamic to post here by the end of the weekend.


Sunday, March 04, 2007

Layered Armor

A while ago on mudconnector I noticed a thread discussing a layered armor system that Kavir uses in his GodWars II mud. While I haven't played any of the GodWars muds, based on what I've read GodWars II seems like a decent game, and Kavir seems like hes a decent coder and designer as well. This system basically entails being able to lair armor. For example you might wear an undershirt which covers your arms and body. You could then wear some padded leather armor over this on your body, and armored sleeves over your arms because these items aren't worn on the same layer. I think this is an interesting idea, especially when paired with localized damage and hit zones. I believe it adds to the realism, and even more so expands the strategic offerings available. This lets a player decide which parts are more important to protect for example, or let them decide against heavily armored and slow, or lightly armored and more agile.

I've basically added this concept to my specification changes to do list. It also adds in a whole lot of expanded realism for my game concept.... for example if a player was to wear some shiny metal armor in the rain it might rust. But what if you could throw a rain poncho or robe of some sort over it?

I'm sort of thinking of this stuff as I go along, but it basically moves onto another idea. Each item, say a shirt for example, should have a size. The size of an item that a player can wear is limited both by the body type size, and the size of the outermost item worn. A large bodied character for example would only be able to wear larger items. Some items might require a certain closeness in size to be worn, or at least worn effectively. This definitely expands whats on my mind for items, this should be a whole lot of fun when I get there. I'll need to reference this post in my development notes so I can come back when I update my spec. :P

Ultimately this ties into my belief that games should have realism, at least within the 'universe' of the game (to use a probability term... damn random signals and noise). Adding to the ambience and strategy required improves the game, and a better game is always better.


Subscribe for Email Updates

We'll I have a free moment, and I found another FeedBurner trick. On the publicize page you can select an option on the left sidebar called email subscriptions. This allows users to subscribe to your feed and get updates via email when you update your blog. This feature supposedly only will give you the same text as the feed provides (meaning you can limit the number of characters in the message using the Summary Burner. If you frequent the blog and would rather not keep checking it needlessly, you can subscribe on our sidebar here, or:

Subscribe to Dynamic Mud News by Email

I really wish I knew about FeedBurner sooner, its basically exactly what I wanted a while ago but never had, I would definitely recommend it.


Friday, March 02, 2007


There are a few reasons I haven't posted since Tuesday night. Wednesday the Internet went out around 5 or 6pm, and stayed out until sometime the next morning. This didn't matter much because I was up until about 2 am finishing up my linear systems homework due the next day. Last night I was up until about 1 am working on digital design homework, and for the sake of survival I decided it would be a lot better to get some sleep then start doing stuff like writing posts.

I think this might be some advice to people who are trying to decide between Electrical Engineering and Computer Engineering. Doing both at once has shown me that basically the Electricals have a much higher homework load for the most part. I'm still not really sure why Computer Engineers have the higher salaries, I guess it might be because less people have a knack for that kind of stuff. Either way, a dual major is a lot of work.

As a result I haven't coded nearly recent enough, its starting to get depressing. Hopefully after this weekend I'll be back caught up and can switch it around and start making some progress again.