demon horns logo
Alter Aeon
alteraeon.com 3000
This article was written by the god Dentin, and posted on January 25, 2013.

2013 - The Year in Review

2013 was a pretty busy year, with a lot of ease-of-use changes going in, as well as a bunch of skill and spell changes, eventually leading up to the addition of a new character class. Under the covers, there was even more, with library and infrastructure changes, the addition of a credit card processing system, and updates to the area checkers which improve the quality of areas.

From my standpoint, the major events of the year probably don't match those of the players. The credit card system was a big deal because it was really pretty hard, and I had to do a lot of library work to get it going. I wasn't even sure at first if it could be done the way I wanted it to. The Druid class on the other hand was a big deal because it added a whole new class and 60 new abilities. That doesn't happen very often.

But in the end, I'd have to say that the biggest, most important changes by far were the experience and fame reworks. Modifying the fame algorithm freed us from an extremely old constraint that was so ingrained in our thinking as builders that we didn't even realize it was there. It took a lot of hours of analyzing and thinking to even figure out that fame was actually the problem, not the experience or the way builders were building zones.

We could have easily limped along for several more years before figuring that out, and the longer one waits on changes like this, the worse the cleanup is. I'm very glad that we caught it when we did, before even more high level areas were built to bad specifications.

Now, on to the questions, general changes, and the monthly breakout!

Questions About 2013

Q: What was the biggest bug/glitch of the year and how did you manage to get it fixed?

This would definitely have to be the signal-unsafe-logfile-handler bug. Alter Aeon has a bunch of code that checks for server lag and infinite loops, and when that lag happens, the server cuts logfile entries and sends warnings to everyone. All of this code was ok, except for the part that writes the logfile to disk.

As a result of this, occasionally the infinite loop checker would go off and interrupt some piece of code that was in the middle of writing a logfile entry. Usually, this was no problem, and everything would be fine. However, if the server happened to also be lagged when this happened, the infinite loop checker would try to write a logfile entry that there was server lag. With two pieces of code both trying to do stuff to the logfile at the same time, occasionally things would get mangled, and occasionally things would break really badly.

This took forever to figure out, because the code was written when I was younger and didn't know any better. It never even occurred to me that there might be a re-entrancy problem, because the code worked for years and years without an issue. When I actually saw how that code worked, I suddenly understood what was going on and why. That bug had been plaguing us for over two years.
Q: What change were you most happy with this year?

Probably the fame and exp changes we made between March and July. It's hard to emphasize how much these changes helped with the overall game playability - all kinds of things depend on the proper assignment of mob levels, and fame was forcing us to set levels to stupid values. By making fame largely independent of level, it allowed builders to set levels the way they needed to be, instead of setting level based on fame.

This was definitely a change that affected a lot of players, and I'm extremely glad that we found the problem sooner rather than later. We've raised the max level a lot in the last few years, and have really started building a lot of high level areas. The longer we would have waited, the worse the problem would have been and the more areas that would have needed to change. Far better to go through the pain early than let it fester and get worse.

As a result of this, we also got some really awesome building tools for making level actually mean something on areas. Two years ago, entering an area based on level was a complete crapshoot. While level isn't a perfect indicator today, it's much, much better than it used to be, and new players especially can rely on the area level to know if they're in the right place or not.
Q: What change did you plan on implementing this year but either ditched or still have planned?

I honestly had intended to get a beta version of a new game, Stellar Aeon, out this year. Instead, I ended up building the Druid class. Given how many people seem to really enjoy playing druid, I think I probably made the right decision. Perhaps this year I'll get the other games working.
Q: Earlier in the year you spoke on Bovine of developing Stellar Aeon and trying to branch out into another game. To that end you built a lot of libraries and test cases make coding stuff easier. Do you see more infrastructure changes like this going forward, or do you think now that you've completed this stage, you'll be maintaining things more?

The point of well tested libraries is two-fold: first, that you have well tested code that you can easily fix bugs in and guarantee that they're fixed. Second, that any time you use that code for another project, you won't have to fix any bugs twice. It's not that that you expect library code to be the 'final product'. Rather, they are a tool to make certain types of bugs go away.

And the point of making certain types of bugs go away, is so that you can work on other things and other types of bugs more effectively. The point isn't that you just put everything into maintenance mode.

That said, I probably am just going to go into maintenance mode for Alter Aeon for a while. I'm honestly pretty burned out. Just getting through the Druid expansion took a lot of effort, and since the anniversary event, I've not wanted to do anything at all. I'm fried on the day to day running of things and the constant requests to do things. What I really want to do is just sit down and work on fun stuff without pressure, so that's probably what I'll be doing for a while.
Q: You mentioned converting Alter Aeon to a 3D map space, using rooms as a guideline for that space. It was heavily implied that this would be basically a building tool and wouldn't really change the play experience a huge amount. Could you elaborate on this a little?

Yes, this change will be a huge change in some ways, but largely won't even show up to players. The reason that it's not a very visible change is that it's about representing the innards of the game differently, not about really changing how they're displayed.

For a more technical explanation, think about Alter Aeon as a series of rooms, each of a given size, some big, some small, connected together. You can only travel where there's a room, and when you're in an outside room, there's not really any 'up' to go to. The room is described as outside, but really, it's got a ceiling you cant get past unless there's another room above you. This is how Alter Aeon, and pretty much all muds, currently are.

Now think about it differently: imagine that the rooms of Alter Aeon were actually on the surface of a planet. Outdoor rooms are open, and have sky above them; underground rooms are surrounded by rock. When you're in a cave that loops around, you know that if only you could cut through that wall, you could get to another section of the cave system. When you're in a building on the surface, you could get outside by cutting down a wall or going through it.

In the first version, the rooms define space all of space, based on the links between rooms. In the second version, rooms cordon off a small amount of a bigger space for players to wander around in. Just because you're limited to that space, doesn't mean that there aren't things outside of it.

This is why things don't look very different to the player: you're still blocked off, and still can't go outside of where the rooms let you go. But from a code standpoint, it's a big deal. The GodWars series muds already do something like this, and people play them just fine.
Q: From various mob factory articles, you've repeatedly made a point about how you hate building event quests/mobs but that building areas like the haunted hills helped you to develop the building code and allowed you to see issues with it that could be simplified with further code fixes. You also implied, though it wasn't quite stated this way, that the building experience could be made easier and perhaps more intuitive if you built more and worked on the building code.

An easier building system would perhaps motivate lazier builders to finish areas more quickly and help to turn around an area backlog. Is this an area you intend to look at improving now that druid is out?

The only real building updates I plan to make in the following year are improvements to the 'project' command, map changes to make the world more cartesian, and the various minor improvements that builders request as they come up.

The projects command is particularly important for me, because I have a lot of projects I'd like to give people, but very limited time to manage them. I need to see what projects I have going, who owns them, and what their status is. I'm definitely going to be improving that to make it easier for me to know what areas I'll have to integrate in what parts of the world.

The map changes are the next stage of making the world fully linear, and getting it ready for the 3D space changes talked about in the previous question.
Q: Do you feel like you gave enough time to testing druid before releasing it? Given the opportunity, would you have allowed more time to test?

No, Druid didn't get nearly enough testing time, and given the opportunity, I would probably have tested it a lot more. However, I had set a solid deadline, and I was going to release something, so release we did.

That said, I'm pretty surprised at how few problems there were. We learned a lot from the necromancer release, and have really sanitized a lot of things since then. Druid is known to have a few weak spots and will definitely need some spell and skill groups filled out in the future, but it's in far better condition than I expected.

General Changes

A lot of changes were spread out over the year, and can't really be grouped up into a particular month or time period. The most major of these were:

  • Blind mode kxwt updates. About a dozen major additions and modifications were made during the year, allowing the Mush-Z guys to add new features and make Mush-Z more stable. A few other clients, including Mathayas' MonkeyTerm client and Tux's Tintin client, also made use of these updates.

  • Annoyance character improvements. We had several new kinds of annoyance characters show up this year, including a short return of the notoriously banned player Tyrant. There were also a number of tweaks to prevent minor in-game annoyance, including locking down group interactions and farsee, and improvements to the allowed character names.

  • Updates to the bot detector. There were a large number of group bots this year, most simply ignoring the bot rules and paying the penalties when caught. This was possible because compared to the gains, the penalties were trivial. The addition of 'evil mode' in the bot detector has largely changed this, as the penalties now ramp up quickly and heavily. Players can lose vast amounts of progress when it triggers, and botting in groups has at least become less obvious than before.

  • Some of the largest changes got the smallest billing. A lot of the lower layers of the Alter Aeon codebase got ripped out, updated, and moved to a common library area. This was particularly invasive for the socket stack, which saw two thirds of its lower layers moved out to common code. These moves caused a handful of minor bugs, but otherwise went unnoticed by the general population. One side effect of this is that the server now supports SSL encrypted connections, and future versions of the DClient will use encryption by default when connecting.

  • The help, faq, and rules systems all got improved searching, and the help system also shows other related entries. Our help system has continually been complimented on its thoroughness, ease of use, and power, and that was before these improvements.

  • A lot of improvements to accounts went in this year, including the ability to merge accounts and see a lot more character information when checking your account. This was another set of big changes that most players didn't notice - it's important that the account system work perfectly, so it's worth spending extra time on it.

  • Now that accounts are well established and known to work well, we've started requiring that all high level players have accounts. Accounts really help us with password resets, keeping track of characters, equipment, and credits, and give us something to work with when there's a theft or other kinds of problems. Requiring accounts has reduced that workload quite a bit.

  • The weather system got a lot of updates and tweaks this year in preparation for the Druid class. We also have proper seasons (an in-game year is about a month and a half long), and in most places, the weather actually makes sense. Plans for future weather update include travelling storms, which are already possible but aren't currently turned on.

  • Clans got a handful of new powers, allowing clan elders to restrict access to things like clan storage and the clan channel. The number of allowed clan items was also raised, as was the free room count.

Global Class Updates

Excepting the new Druid class, the other classes to get major updates were Mage, Cleric, and Warrior. In large part, the Mage and Cleric changes were prep work for Druid, which acquired a handful of those spells and skills.

  • Mage saw a massive rework in its low and mid-level spells and skills, to try to make the progression of new characters easier and to have it make more sense. A number of interesting side effects were also added, such as the elemental shields having a small amount of damage reflection.

    Perhaps most importantly, the spell and skill groups for mage were cleaned up and reorganized, resulting in fewer 'miscellaneous' skills, and spell trees that make a lot more sense.

  • Cleric saw an even bigger reorganization than Mage in preparation for Druid, with the entire 'Druid Disciplines' spell group being moved to the new class. A handful of other questionable spells were also moved to Druid, and the 'divine aid' spellgroup was split in two to allow for future damage spells and divine powers.

    This was the year that cleric curses really came into their own, becoming powerful and well enough understood to be a major force in groups. Some unusual mage spells also became curses, further strenthening those groups.

    Not all changes were upgrades however - the peace and solace spells in particular became level dependent, meaning that they no longer guarantee perfect safety when cast.

  • Warrior, as one of the most popular classes, primarily saw changes at low levels to spread out when key skills are obtained. There were also a lot of tweaks and general improvements, ranging from the use of warrior skill level in most skills, to combo attack bonuses, to vast improvements in the way morale works.

Global Area Updates

Alter Aeon added 30 new areas in 2013. That's an amazing amount of work from our builders, and something to be really proud of.

Kordan got one new area, to fill in a level gap and help bridge the quest gap between the towns of Indira and Naphtali:

  • Level 14, Island of Kordan, the Haunted Hills

Archais got a solid half dozen new areas, mostly in the low level range. The level range from 22 to 24 has always been weak there, and these areas really helped fill that in. The single high level area, the Monastery of Dreams, also helps quite a bit in giving players a little more to do before venturing to the mainland.

  • Level 22, Island of Archais, Thieves den near Gad's Mountain
  • Level 23, Island of Archais, the Smugglers Cove
  • Level 23, Island of Archais, the Lotus Monastery
  • Level 24, Island of Archais, the tinker gnome colony
  • Level 24, Island of Archais, Fort Magnesia
  • Level 29, Island of Archais, the Monastery of Dreams

The outer planar realms got two areas, both of which were in the past used as system event areas. The planar knot was used in the 17th anniversary and was reworked to be an extremely high level exp area. The Bathysphere was a solstice event area used only for a few short days, and has now been opened to all.

  • Level 38, Outer Planar Realms, the planar knot/Celestial Archive
  • Level 46, Outer Planar Realms, the Fathomless Bathysphere

The southern continent of Suboria received one area for high level players:

  • Level 37, Suboria, Isle of Riaza

The mainland got the lion's share of the new areas, with new zones appearing in every region except the far west. Most of the new areas were concentrated in the southeast part of the continent, in or near the Naginag Combine.

  • Level 29, Mainland, the Blue Mound
  • Level 29, Mainland, the North Ralnoth Slums
  • Level 30, Mainland, the Celestial Circle
  • Level 31, Mainland, Vandar Regional Prison
  • Level 31, Mainland, White Sands Abbey
  • Level 32, Mainland, Village of Inari
  • Level 32, Mainland, The City of Koralia's Heart
  • Level 32, Mainland, the Forest of Brigands
  • Level 32, Mainland, the village of Xochitl
  • Level 34, Mainland, the Island of Nani Makana
  • Level 34, Mainland, Castle Camelot
  • Level 34, Mainland, The Dome Sea, Tlalocan
  • Level 35, Mainland, The Temple of Sand and Water, Tlalocan
  • Level 36, Mainland, Northern Ash Mountains
  • Level 37, Mainland, Village of Silverwind
  • Level 37, Mainland, The Dwarven Stronghold of Khal-Rin
  • Level 37, Mainland, Inside the Malahaki Falulua
  • Level 37, Mainland, the Ash Desert and Dead Reefs
  • Level 39, Mainland, Ash Mountain Ice Fortress

January, 2013 - The Anniversary

The biggest event of January was the 18th anniversary, which ended up affecting a lot of areas on the game and opened a new area in the Ash Mountains. This event needed several brand new features in order to work correctly:

  • weather updates were required to create a giant snowstorm covering half the mainland

  • a new 'wardbreaker' spell was added to simulate gigantic wards and give a way to do area lockouts requiring large groups to break

  • massive changes to the way light and dark are handled in rooms

  • on the building side of things, area global variables for dprocs, which allow for some pretty awesome things in instanced areas

As always the huge groups created for events like this create their own problems, as not all players can handle the spam levels and still function. As a result of this, a number of group utilities were added - from 'group summon all', to minion specific rescue, and spell recasting improvements.

The final addition for January was to enable daily gifts for every day of the year, instead of just for the December Advent calendar.

February, 2013 - The Haunted Hills

In February, I did something I haven't done in a very long time: I built an area. This was the level 14 area 'The Haunted Hills', on the Island of Kordan. This is the first full area I've built in quite a while, and I got to use some really cool dprocs (and add some cool new dproc code) in it. A lot of the ideas for this came about because of the special things added for the anniversary event the month before.

February also saw the opening of the official Alter Aeon Wiki, a project which I've wanted to do for many years. Several AA wikis have sprung up over the years, each just to be ignored or shut down over time. It's good to finally have a wiki for the game that isn't going to go anywhere and that I can make backups of.

We also opened for general use two of the anniversary zones - the planar knot from the 17th anniversary, and the ash mountain ice fortress from January. Both areas were intended to help address the need for high level zones that people could group in.

A controversial change was to give items an 'identified' flag, so that they would only ever need to be identified once. After an item has been identified, the 'id' command will always show its stats, for free. This helped ease the burden on new players, while still keeping the identify spell relevant. Later in the year, we strengthened this by only requiring items above level 25 to be identified.

There were a lot of other minor changes in February, including adding an 'overall rank' leaderboard, a new gambling slot machine, and splitting out a new spell group for necromancers.

March, 2013 - The Exp and Fame Rework

With high level groups and players consistently running the new high level event areas, cracks and problems started appearing in the way that experience was calculated and given to groups. After several sets of changes and a lot of experimentation, it was discovered that the fundamental problem was actually something different: fame.

In short, fame was preventing builders from properly setting levels on mobs, and the improperly set levels were fouling up the experience calculations. At lower levels, below the fame cutoff, experience worked rather well, but above the fame cutoff, there were real problems with the experience functions.

There was also another problem with fame: some areas had ridiculous amounts of it, and it became clear that any reasonable high level exp zone would have a lot of fame, even though the mobs were pretty ordinary. As an example, the City of Kings had over 20 fame in it prior to the fame updates.

Once the problem was understood, we started a massive three part plan to fix it. The first part was to change the code so that fame was assigned differently. Rather than simply treating all mobs above level 30 as fame, only the six highest level mobs in the area were 'eligible' for fame, and even then they could be disqualified based on area level or other constraints.

The second part was to change the experience calculations so that all the special cases for high level mobs were removed. This got rid of a lot of stupid workarounds and hacks, and actually simplified the experience code a lot.

The third part was the biggest. Now that builders could set mob levels without worrying about fame, we undertook a massive revamp of the most common zones to relevel everything. I built new checking tools, and after two or three months most of the areas on the game had been cleaned up.

Once we got the area levels straightened out, I expected to have to go back and completely rework the exp calculations, but it turned out to not be a problem. The calculations were now simple enough, and properly matched for mob level, that I only had to make minor tweaks.

April, 2013 - No Limits and a Whole Lotta Stupid

Two of the more interesting changes were related to trainers: first, trainers were no longer needed for leveling. That meant that players could level any time they wanted, regardless of where they were, even if above level 30. As of this writing, trainers are completely unneeded (teachers for spells and skills still are, however.)

The second change was to eliminate stat requirements for levels beyond 30. In the past, some number of stats at 25 was required to level, but when I looked at this restriction and considered the amount of practices that would be required for higher levels, I just couldn't justify it as a good idea.

However, by far the biggest event of April was the removal of the 'mob deaths' field from the finger display. I removed it for two reasons - to stop contests to see who could get the highest death count, and to reduce the amount of 'im better than you because I have a lower death count' posturing. Death count doesn't say much about a character, so I figured hey, no big deal. I'll just remove it from the display.

The shitstorm was amazing, relentless, stupid, and lasted for two months. Even now, there's a handful of players who insist on putting it in their title. If anything, the idiotic responses and violent reactions I got for making the change convinced me that I'd done the right thing.

May, 2013 - Building Tools and the Center of the Mud

With all the fame and experience mob releveling going on in the game, it became clear that we needed much better checking tools for the builders. A lot of time was spent in May to create those tools:

  • checkers were made to look for mobs loading in the wrong areas

  • a quick and easy way to move mobs between zones was added for world builders

  • an area level checker was added, to show when high level areas were too close to low level areas

  • we started looking at the altitude/height coordinate in the room maps for the first time

Over the remainder of the year, these tools would help to dramatically increase the number of high level exp zones on the game, and made fame a lot easier to find and work with.

One side effect of these building tools was to give players a warning when moving into an area that's too high level. Exploration has always been hard for low level players, and the warning messages make that much easier: it's now pretty clear when you walk into an area that's too high level for you, usually before you hit anything dangerous.

May was also the time of another interesting system-wide change: the decentralization of Ralnoth. Traditionally, all clans could get an exit to the Temple of Dentin directly from their clan area, and the official board rooms for the game were also linked to the temple. While this worked well in the beginning, it works less well for a game that has a half dozen different gathering places for different levels. Most new players couldn't reach the boards if they wanted to, and most high levels kept Ralnoth as their central starting point, even if they were far too high level for it.

The solution to this was to make the central bulletin board its own area, and allow people to waypoint into it from anywhere. The waypointing was a lot more complicated than it seems, but after a handful of different versions we finally settled on one that works pretty well. Regarding the clan links, there are a few that still have the old link to Ralnoth, but new clans don't and older clans will eventually lose their connection.

Lastly, Alter Aeon got an integrated credit card system, for buying credits directly on the web. Simply log in your character on the secure web interface at https://login.alteraeon.com:8081, then click 'buy credits' on the top menubar.

This was a really interesting project for me: none of the actual credit card information actually goes to the AA server - it goes directly to the credit card processor, who in turn tells the AA server how many credits to give and who to give them to. It's a neat setup that protects the buyers and prevents me from having to deal with card information.

June, 2013 - The Great Library

June saw a handful of interesting changes. One of my favorites is the Great Library. In a game as old as Alter Aeon, you're bound to end up with a lot of book items, ranging from histories to lore and spellbooks. However, with books scattered about the game, it's virtually impossible to keep track of them or read them in any order. Hence, the 'library' command.

The Great Library indexes all kinds of books and other material, allowing players to find and read about the history of the game from anywhere. It's been very handy for me as a builder too - I've used it several times to try to find existing lore to work from, or to make sure I'm not conflicting with some other piece of history. The library started with only 160 books, and is now up to over 230.

June also marked an interesting, if not very obvious change: aligned equipment now consumes alignment when worn. This effect is fairly weak and is hardly noticeable, but it definitely matters. The alignment controllers are having to work much less hard to keep alignment under control, and we haven't had the same kinds of violent swings we saw a year or more ago.

An experimental change was to add a custom login point for new necromancer characters. When looking at new players, I noticed that a lot of them didn't know how to cast spells or use even their most basic skills, so this new area was tailored to get necromancers casting useful spells right off the bat. These kinds of changes are always hard to measure, but from the data I have, it appears to have helped new necromancers quite a bit.

In tandem with this, we also disabled access to the old Vemarken Mud School. All new characters now start at or near the encampment, which should make it easier for helpers to understand what's going on and how best to help them.

Lastly, the player Weyoun made a large number of fixes and updates to the Mush-Z client, giving us an awesome stable bugfix release.

July, 2013 - Jobs

Daily autoquests and jobs really came to the fore in July. Jobs turned out to be hugely popular, with some players completing thousands of them in the seven months they've been available.

August, 2013 - Character Check

In response to confusion by new players regarding what spells and skills were important, we added a simple 'check' command. This checks for the most common important spells and skills, and displays the ones that are missing. It also handles a couple of specialties, for example 'check warrior' and 'check brewmaster'.

For something so simple, it's been hugely helpful, to the point that even I use it on my new characters.

September, 2013 - Brewing

As part of the reworking and releveling of area to fix mob experience, we realized that we still had a problem when trying to build group areas. In september, the issue was solved by adding a group flag for areas, which allowed builders to build properly scaled mobs for groups without violating the area level constraints. There are about 30 group flagged areas on the game now.

Another set of changes that started around September had to do with the various brewing skills. These originally started out as show and search routines intended to make potion recipes easier to manage. As a result of discussions with various brewers, some algorithm changes were also made. Brew focus got strengthened substantially, and lower chance brews were made more common to give players something to focus on.

Later on, after the addition of the Druid class, the 'brew salve' and 'brew tincture' skills would get a brand new brewing feature: the ability to analyze ingredients in your inventory to see what they will brew in advance. Potion bottling was also changed to allow all classes to learn it, so that druid and poison brews could be safely bottled without knowing the mage brewing skills first.

October and November, 2013 - Druid

Work on the Druid class really started up in late September and early October. The two months of October and November were almost entirely consumed with druid code, or things related to it. Of the few things that were not related to Druid work:

  • The limit for stat training was changed to be linked to the maximum player level, allowing players to now train stats to natural 26 instead of the previous 25. That limit will automatically go to 27 when the maximum player level is raised again.

  • All old-style level type characters have been converted to the current leveling system. The current system was introduced in 1997, and players have been able to convert from old to new for several years. Rather than try to maintain the old code any longer, everyone was forcibly upgraded.

  • A whole new enchanting system was added, giving most classes unique enchanting abilities, ranging from alignment and dieroll to camouflage and rune words.

  • The random item generation code was improved, allowing random weapons and reducing the number of unusable randoms.

  • Potions were allowed to save, instead of vanishing on logout or reboot. This was a holdover from the early days, before potion quaffing timers were added.

December, 2013 - Druid

In December, the long awaited Druid class was enabled. This actually went pretty smoothly: there were very few crashes, and the balance problems are slowly being worked out. For such a big change, the rollout went largely as expected, thanks to the previous work done in 2010 when adding necromancer.

Throughout the year, minor changes were made to PK, but in December it was decided that tracking and improving PK balance was important. Several sets of changes have already gone in, and more are expected in 2014.


See you next year!



BACK - Alter Aeon Article Index



Copyright (C) 2015 DentinMud Internet Services - Contact Us