Monday, June 19, 2006

XHTML and CSS and PHP, Oh MY!

It doesn't quite have the same rythym as the alluded to "Wizard of Oz" song (Lions and Tiger and Bear, oh my! for those unfamiliar with American culture), but there seems to be about as much fuss made about them. These technologies promise ease of configuration, separation of UI from code logic, yadda yadda. There are definitely some benefits to using the combined technologies, but I'll explain some of the pitfalls that I have run into while trying to combine them into the website that supports the Sloth MUD III site.

The first is that we are using PostNuke, not just plain PHP. I have configured a generally compliant template with div tags and CSS for the main framing of the site. However, the modules that get loaded in the middle have content that does not conform to the standards. They use the quite commonly found table method for layout. I can either work around this or never use any external modules. I'll have to work around this, because external modules is one of the main reasons for choosing a system like PostNuke.

The second pitfall is that I have a graphical background that doesn't really expand past 980 (or so) pixels. So, I have to make sure everything fits nicely within this width or it will appear amateurish. The problem is that since a lot of these included modules use table layout and the content can become quite wide, I have to put in some frames to keep it from scrolling horizontally. It's an icky solution, but will have to stay until I figure out something else, most likely with the background.

The third pitfall, that goes with any web page design, is still browser compatibility. I finally got a nice three column layout to work, based on this nicely done example and it looked great in FireFox but looked horrid in Internet Explorer. I went back to almost exactly the example and got it to work in both, but the fragility of this is frustrating.

The last pitfall is that if you are working with a graphic artist (and we worked with a brilliantly talented one for our site design) to do the art, ask them to give you the art in tact and let you deal with the web layout. It's completely fine to use what they give you in table layout if you want to stay with table layout, but it could be a lot of work (and is a lot of work in this case) to convert it properly to XHTML and CSS.

At the end of the day, it might not be completely clear what I am gaining out of this, but there are definitely things I am able to do faster during the development of the site with CSS, but there is a learning curve and conversion time that may well obviate it. I think when we want to launch a text only version of the site, we will be in a much better place, but for now there isn't much but learning on my part.

Wednesday, June 14, 2006

Administrative ethics

As alluded to in other posts, there have been many people without integrity that have risen to the ranks of Immortal on the mud. Many started out fine and then strayed because of the temptation or boredom or frustration.

These people often go a bit before they are caught, but they are always caught. I won’t go into the ways they are caught or what they have been caught doing, but what I would like to discuss is how the administrators of the mud have continually dealt with them over the past eight years of my involvement.

There’s no formula and there’s no script, but it generally turns out fair. The person is generally is given a warning for a first minor offense as long as they have contributed something. Second offenses usually result in dismissal. The sad thing is the majority of people caught the first time are caught a second time, but we are a lenient, if not downright sappy bunch.

When push comes to shove though, I’ve seen some pretty difficult decisions made assure me this is a good group of people. For example, one of the “silly rules” we have for people who have positions of power (any level of Immortal) is that the normal characters that they play may not steal from other players. The reason this is enforced is that a person in a position of power, influence and has additional access to information. Surely if they used these things it would be unethical, so we could write a rule that forbidding just that. This stance wouldn’t fully engender the trust of the rest of the players so we have taken the stance that is often taken in the US Judicial System: not only impropriety must be removed, but the appearance of possible impropriety must also be removed.

I’ve seen this in the extreme at one point when Jake wiped a character that his real life brother was playing because he basically just cheated. This wasn’t and easy decision for him at the time and probably wouldn’t be an easy decision for him again. I’m sure I would be full of angst in the same situation. But, in the long run, if he can make that decision, then it is an easy one to remove relatively unknown people who cheated (despite their contributions) to maintain our integrity. Maybe I'm just old school.

Monday, June 12, 2006

Builders Port Experiment

As mentioned in a previous entry, the amount of work required for people to become successful builders of areas on Sloth Mud 3 is extensive. This hurdle aside, there are other reasons why people who are willing to contribute have not been able or chosen to do so. At least a few that I know of include:
  • There are a couple restrictions on what you can do as a player while being a builder since there is access to information beyond what a normal player would have.
  • It is relatively well known that players with administrators are often asked to do administrative things while they are playing. While not always a bother, it can be distracting, and some prefer not to deal with it.
  • They could not continually get along with the administrators of the mud because of prior conflicts. There are several examples of this, and it isn't intended to be personal (implied or overtly).
  • New builders can not play on the game at the same time they are building. (I'll cover this more as to why this is enforced in a future post.)
For these reason, Jake and Splork decided to allow for another path of contribution. I believe they couched it a little differently when they posted it on the Town Crier, but the gist of it was that anyone who wanted to build could apply for a building position without too many strings attached. They went through a lot of effort to set up another copy of the game on the machine. They did a thorough job securing it (making it a different UNIX user, files, etc.) and setting up processes to get areas that would be built on it eventually integrated onto the live game.

A couple of differences that are quite apparent on the builders port include the highest player count staying in the low single digits, the silence on public channels and the steady progress of the new builders. There are at least three builders out of five that have completed over 25 rooms and a steady stream of creative ideas.

One of the projected pitfalls of creating another port is that it is so quiet. Many builders actually do like to have some distractions from (er, I mean interactions with) players as the belief is that it helps to keep them motivated. I'm not convinced and the evidence so far is inconclusive. We've done a couple of things to help create a small sense of community for the people building on the port, including:
  • trying to have at least one active administrator on the port most of the time
  • creating email addresses for them on the domain (as is done for full admins)
  • creating a mailing list for them
This setup also allows us more flexibility with allowing access to more commands. On the live port we are pretty regimented about who has access to what commands and what must be completed before being granted additional powers. The reason is with additional power often quickly has followed abuse. We not only were forced to validate the quality of the work that a new builder produced, we also had to examine our level of trust in the "individual" who did the work. We were often taken advantage of and this only made matters worse. Having the separate port allows us to skip the unnecessary step of judging trust and promote people on the quality/quantity of work as soon as they need new functionality.

Splork has commented that he would be satisfied if this "experiment" resulted in one area being transfered into the game. I believe it will be a complimentary and long standing way for people to contribute to the game they enjoy playing while not being burdened with responsibilites and rules they don't wish to bare. Time will tell.

Tuesday, June 06, 2006

Taking your MUD to work day

While I'm usually a propopnent of going all out on something, this story is an example of someone going just a bit too far with their commitment to mudding. The person (self-proclaimed teacher, in fact) decided that mudding was so cool that she wanted try to get people (her students, in fact) to mud from class as part of an educational experience.

Generally, if I were to imagine mudding from school, it would be the student that is browsing around, gets busted by their teacher and then endeavors to convice the teacher it is educational. The story strikes me as funny since it seems that the teacher was already thoroughly convinced, and for her students it bombed.

This person seems committed to mudding for an extended period of time, since she also updated a mud client web page for a almost six years. She even hosted some sort of "classroom MUD" and called it Connections. It seems like an interesting concept, minus the classroom and learning aspect. I think you'd also need to add back in the game and probably a fantasy theme to make me want to connect to it. On the other hand, if this were in a CS class and you wanted to look at DIKU code as example of a single threaded application with multiple user inputs, a decent amount of bugs and needed some more core design, this could be a really cool class.

This was just odd enough that I couldn't skip it.

Sunday, June 04, 2006

Ideas, Genius and Effort

Over the past 8 years of being a contributor to the administration of the game, I've seen many people come and go who have also contributed in various degrees. The hardest part seems for people to get over the initial ramp-up. There's a lot of effort that goes into getting even their first area actually live and into the game. I plan to start keeping statistics and perhaps will go do some research into the past to see how it correlates, but I'd suspect that only 1 in 3 people who are advanced to the Immortal ranks ever finish an area.

Everyone's reason for not finishing is different. Some are related to things outside of the game, some are related to interpersonal relationships within the game, some never intended to contribute in the first place, but most often the reason is that they do not know how much effort it is to actually do an area.

"It seems pretty easy just looking at it and walking through a room. It's just a few sentences of text in each room and then there are a few mobs with text as well. I've got a brilliant idea for a theme and I can knock it out in a day!" Wrong. It takes persistence, effort, determination, interpersonal skills and a long time to finish.

The fastest I can recall an area of any substantial size and quality being built is two weeks. I remember Ming building the Derro area in about two weeks from inception to opening. This didn't seem remarkable at the time, but I'll provide my estimates of the average area that is completed and you may agree it is exceptional.

Assuming for a new area 50 rooms, 15 mobs, 10 object and 5 new effects.
350 minutes. Room descriptions typically take 5-10 minutes per room.
250 minutes. Connecting and flagging rooms takes 5 mintus per room.
100 minutes. Describing mob takes 5-10 minutes per mob.
200 minutes. Setting mob statistics takes 10-15 mintues per mob.
120 minutes. Getting approval/agreeement with admin on equipment.
100 minutes. Describing eqiupment and setting stats at 10 minutes per object.
300 minutes. Creating new effects for mobs, rooms, objects that are new to the game. 60 minutes per effect.

That's 1420 minutes or roughly 23 hours of committed time that likely won't happen continuously for anyone who has a life or plays the game. In addition, there are approvals of all the rooms, mobs and new effects that are required. These are much harder to estimate because they really depend on the initial quality of the writing and statting as well as the style of the walker. Regardless, they require real time to pass and a lot of effort.

For anyone to get 23 hours of writing done requires roughly 1 hour a day for 3 weeks. Yes, this is trivial math, but the point is people who play MUDs or perhaps any type of online game seem to have an internal clock upon which they measure their progress. Few that I know would be patient enough to wait for 3 weeks of playing for an hour before they see any fruitful results. This is the determination that is often not aniticpated by new applicants and perhaps not clearly articulated by the game's administration to those applying.

So, in my opinion, the genius of those that bring their ideas to fruition (at least in this game) is that they are able to find a way reset their internal expectations of what they find as a priority. There is comparatively little external reward versus effort for a new contributor to Sloth MUD, but those that seem to get over this hurdle often go on to be substantial contributors of several areas or enhancement projects.

Thursday, June 01, 2006

Picking on people

This is a totally reminiscing entry. I remember about seven or eight years ago during some of my earliest coding days on Sloth MUD. I coded an effect that caused a player's words to come out completely jumbled. As expected, it is overly complicated code for a trivial thing, but in any case, I decided to test it out in the real game on a few unsuspecting players.

My first "victim" was at the time Toxis, played by a person who is well known as Brad. Brad is quite chatty on public channels so he was an obvious target. As I was doing this I was on the phone with another coder of old, known as Zarf. I told him what I was doing and we both sat back and watched (well, participated a little, too).

As I was snooping Brad I could see the commands that he was entering and then see the output. The situation when a little like this:

Toxis enters: gossip anyone want to help me pop some more equipement for my storage characters?
Toxis gossips -- 'fiweof sdfioj s osjso p jaoisdfj jiosdf sdfioj?f sdfio'
Clink gossips -- 'uh, Toxis, frustrated about something or you just like babbling?'
Toxis enters: gossip huh? what's going on?'
Toxis gossips -- 'viovj dfoiafjfj ss?? fisdflkjc'
Zarf gossips -- 'fiosjef soisf afeieoj right back at you'
Toxis enters: gossip wtf!
Toxis gossips -- 'wtf!'
Clink gossips -- 'that's what i said'
Toxis enters: gossip what i'm typing is getting screwed up
Toxis gossips -- 'fjisodf sofijlkje isj ssfl sfosijf sfkj s'
Zera gossips -- 'dude, something is wrong with you'
Toxis enters: gossip are you guys seeing this too?
Toxis gossips -- 'fiowefjk sfjsk fa fjs? sdfjfs'
Toxis enters: gossip my new computer is screwed!
Toxis gossips -- 'fiow fjkfj lfwehwnezc s! aosif'
Toxis enters: gossip dude
Toxis enters: gossip this isn't cool
Toxis gossips -- 'dude'
Toxis gossips -- 'llodc sdfi sujd'
Toxis enters: gossip wtf!
Toxis gossips -- 'wtf!'
Clink gossips -- 'take a chill pill, dude. are you drunk?'
Zarf gossips -- 'maybe he's let his cat walk across the keyboard'
Toxis enters: I'm rebooting, my keyboard is broken

The whole time Zarf and I are on the phone just laughing out loud. Five minutes later the effect had worn off his character and he came back.
Toxis gossips -- 'man, my keyboard was screwed, but seems to be better now'

Do you think I could resist applying the effect to him again? Of course I could not, but you can easily imagine another couple minutes of amusement at Brad's expense. Eventually we let the cat out of the bag and told him that it was an in game effect, but there were many more victims (with somewhat less amusing results) before word spread far enough and people stopped falling for it.

I was reminded of this today when someone else was affected with this condition. Perhaps I'll even call Zarf again to reminisce.