Monday, May 25, 2009

Newbie Statistics

I had a brainstorm the other day for how to pull a certain class of statistics from the various logfiles and other data we track in the game. The idea is that we grab all the new characters created in a one month time period, then see how many of them continued to log in for successive months. I decided to try this on four month time periods to filter out storage characters and other infrequently used but legitimate pfiles.

Here's a chunk of sample data, looking at how many of the players we got in January continued to log in for February, March, and April:

Total created in 2009-01: 230
Total last saved in 2009-04 or earlier: 198
Total last saved in 2009-01: 146 Average Total Levels: 8
Total last saved in 2009-02: 21 Average Total Levels: 22
Total last saved in 2009-03: 16 Average Total Levels: 28
Total last saved in 2009-04: 15 Average Total Levels: 30

Some quick observations to distill it down:

- Of the 230 characters created in January, 198 have not yet logged in for May. Only 32 of 230 (14%) have been active this month.

- Nearly all of the dropouts are in the first month, with 146/230 logins (63%) never bothering to log in again.

- Once you get past that critical first month drop out period, we lose people at a relatively steady rate.

- The first month players actually get more than one level. They get 8 on average. Even having leveled multiple times, they still don't return.

When I looked more closely at the data, I found some obvious patterns for nearly all of the people that drop out in the first month. In particular, they play the game for a reasonable period of time (15 minutes to two hours), get a handful of levels, learn a few things, then log off. About half of these never sign in again. The remainder sign in a small number of times, generally for only a couple of minutes, then sign back out.

There's a really obvious reason: The game isn't fun enough to hook newbies at low levels. They're bored, and don't know what to do when they return.

Ways to improve this:

- Add more really low level quests in the encampment. (I already have a couple ideas for this.)

- Add more quest guides for the Vemarken and other Sloe quests.

- DClient changes to make quests and other things more obvious and interesting (in progress.)

- Build the low level generic skills (cooking, skinning, etc) and make them useful. This may involve some form of low level crafting.

- Possibly give return bonuses. I believe I saw a game at one point that gave increased experience if you returned after a long absence.

This is more than enough stuff in the short term to keep me and probably several other people busy. Unfortunately, the only things I can offload onto others are the first two, and I'll probably still end up being involved at least incidentally to do cleanup and monitoring. I generally have a better idea of where the dropout points are for really low level players, because I spend more time watching them.

If I get all of this done before the end of May, I will be very surprised. It's a good short term goal though. (The return bonuses are excluded for now, as I don't know if we want to go that route. I'll have to think about that one a bit more.)

Monday, May 18, 2009

Advertising/Public Relations

Last night on a whim, I searched for the mud Dragon Realms just before I went to bed. DR is arguably one of the biggest and most successful muds of all time; they are fully commercial, with accounts going for as much as WOW accounts. They regularly top 700 concurrent users, and that's just for the one server. They have at least one additional.

An hour later, it was way past my bedtime and I must have had over 50 browser tabs open. This sort of thing is an amazing way to get ideas of where to post and link to Alter Aeon; they've already done most of the hard work, and Google has made it accessible.

Today, I began trimming tabs. I'm down to probably only 15 or so, most of which are waiting for some event to occur. I know I can repeat this process for a handful of other large games easily enough. I'm about 90% certain that the main AA pages can breach Google Page Rank 5 by the end of the year, possibly sooner.

While copying isn't a great way to be a leader, it can at least get you into second or third position. Given that we're in about 30th place right now, I'm totally up for doing some copying.

Thursday, May 14, 2009

MishMash

A quick note - I built up a Muds and Mudding lens over at Squidoo. Squidoo is one of those new things which I don't entirely understand, like I don't understand Facebook or Myspace. But other people do, so perhaps it's not such a bad idea. The url is:

http://www.squidoo.com/mudding

I've been thinking about and doing a bit of work on the client recently. One of the newer changes was the addition of an enemy hitpoint bar; the current release client has this bar between the automap and the buttons. I moved it to be in the regular prompt bar, and this serves to make the screen a lot less 'busy'.

All this has got me thinking about what to do next. I really should allow for an unhooked/floating automap, so users can position it wherever they want. I've also been thinking about having a sort of 'list window' where people can perform actions on list items, such as looking in containers, getting things from containers, etc.

Until recently, the mechanics of how to do this in the code have been somewhat questionable. As usual, talking to my girlfriend about it generated a solution: uuid strings for objects and characters, that you can always use to get an exact command reference to that object or character.

I started on the first stage of this process last night, with infrastructure. The game has had a really, really bad PRNG for years; I threw something together with basically no experience about ten years ago and we've been using it ever since. Looking at the code, I'm actually somewhat surprised it didn't cause a lot of visible trouble over the years.

We now have a brand new, 10-register lagged fibbonacci PRNG driving the game. Not only is it faster, but it actually produces reasonably high quality random numbers to drive the game mechanics. Using this, im now generating proper UUIDs that I can have some amount of confidence in.

The list window however I'm less sure about. I suspect this needs a proper design.

Tuesday, May 12, 2009

Articles and Propaganda

There's a new article out for thieves. It's a pretty comprehensive overview of the various stealth skills, such as sneak, hide, stealthy movement, searching, and even how these affect other skills such as backstab. It's a real treasure trove of information:

The Thieves Creed - Stealth and Hiding

With this addition, we've now cleared 30 official articles, not counting things like FAQs, the quest guides, or other related things. The web site is actually becoming useful to players.

The articles are continuing to show their value, both in greater and lesser extent than I had expected. I regularly refer people to the articles when discussions and Q/A happens on public channels. I really had not expected this, and I'm constantly surprised at the things people ask. A good example is the article on Time, Age, and Aging, which I refer people to regularly. Other articles, such as the article on attack strategies, are much less active, though much more comprehensive.

One other area that did not work out as I had expected has to do with the web traffic to the articles. I was expecting substantially higher numbers in regards to web traffic than what we've been seeing. I think this might be a critical mass problem however, in that traffic has been picking up recently.

In other news, the maps and quest guides have been very, very popular on the web pages. They are now the second and third heaviest hitters on the site.

Monday, May 11, 2009

Client release and changelog

A new client release, 0.980, is out! The changelog is at the bottom of this note, with the previous changelog for 0.979 since I didn't post that anywhere else. At some point, I need to get the changelogs integrated into the server code.

The biggest two changes from my perspective were automap improvements and the enemy hp bar. The automap was by far the hardest, as display code has to be nearly perfect, and it has to handle a boatload of corner/edge cases. There's really not a lot of ways to do it cleanly, and for some scenarios you simply have to special case it. Here is an example of a particular problem area before the changes:

The village of Bandera Azul using the old mapper

Here is the same location with the new mapper:

The village of Bandera Azul using the new mapper

For compact areas such as this one, it makes a huge difference.

The enemy hitpoint bar is another interesting addition, in that it displays the condition of whatever you're fighting, similar to how Diablo II does it. There's a problem with it however - the current location is off to the side, above the automap. This turns out to be remarkably hard to see and use while fighting, even though it's close to the scrolling text and the input window.

I think what's going on is that the left hand side of the client is now simply too 'busy' for the eye to easily handle. Diablo II handled this by putting the enemy hp bar in a well defined, easy location (top dead center), and you knew that the middle of the screen was the most important place to look. The hp and mana bubbles were left and right bottom corner respectively. Each location is very easy to deal with.

For the client however, we have the big main window, which pretty much needs to be scanned continuously in order to keep up with things, the typing bar at the bottom but sorta off to the side, the hp and mana bars above that but right next to it, and the enemy status bar to the left somewhere in the lower middle of the screen. It's just not that easy to find things.

One option I've been kicking around is to make the status bar two levels deep, with the enemy hp directly above your hp. Not only does this give a good way to directly compare yourself against the target, but it puts both things in a very visible, single location.

I did some looking around at adding audio, and think I've found some libraries that should do the job. It's a lot of work though, and it might be best for me to figure out how to do actions and triggers first.


Changes in version 0.980 - May 08, 09
-------------------------------------------------------------
Keypad '5' now performs 'scan'.
Keypad '-' now walks 'down'.
Keypad '+' now walks 'up'.
Minor improvement to url clicking.
Don't lock main window unless more than one character is selected.
Diagonal exits now display a bit more cleanly.
Added basic zoom in/zoom out on landscape scale changes.
Left hand layout now puts automap at bottom of screen.

The automap is now either on all the time or off all the time, it no longer toggles based on login state.

Allow ctrl-+ and ctrl-- to more reliably change font when using keypad movement mode.

A display window for a target hp bar is now visible above the left hand side automap.


Changes in version 0.979 - Apr 28, 09
-------------------------------------------------------------
Add walking via number keypad. Toggleable using 'preferences' menu.
Clear scroll lock when a button is clicked.
Add 'local echo' option under 'preferences' menu.
Help message when you disconnect/are disconnected is now highlighted.
Prevent beeping for additional key combinations.
Add mousewheel support.
The 'quit' dialog buttons have been changed from 'Quit' to 'Exit Program' instead.

Command queue cleared when you're disconnected, so your next connect attempt doesnt immediately error out at the name prompt.
The '//clear' command now clears scrollback, like the menu.
The 'clear' command in game now works. It sends two screens full of blank lines, so you don't lose your scrollback.

Mapping colors tweaked to better show towns and cities.
Default ansi colors tweaked a bit to get more color saturation.
Ansi color palette options added for ZMud style colors and bright colors.

When you start fighting, the area map will display 'Combat!' instead of the area name.
A new "Left Side Layout" option has been added under preferences. This moves the buttons and automap to the left side of the screen, whereit's closer to the various text windows.