27 Feb, 2010, KaVir wrote in the 1st comment:
Votes: 0
In another thread I discussed features that looked good on paper, but ended up being undesirable in practice. But sometimes it works out the other way around - sometimes you add what you think will be a minor or amusing feature, and it ends up adding real value to the mud, in some cases becoming such a major part of the game that it necessitates reworking the design in order to take full advantage of it.

Here are some such features that I've added in the past. I'd rather pretend that I'd planned them to work that way all along, but sadly that wasn't the case. Still, it worked out okay in the end, so I'm not really complaining.

Please feel free to add your own to the list!

Gremlin farming

In GodWars1 I added a mogwai-like creature who would follow players around and beg for food. I was mostly just playing around with spec_procs, experimenting with ideas for non-standard mob behaviour, and thought some players might find it briefly amusing.

If you fed him, he'd turn into cocoon which would eventually hatch into a gremlin. The gremlin would then hunt and eat other mobs, laying eggs which hatched into stronger gremlins, and those gremlins would do the same again. I wanted to have some sort of limit on the gremlins though, so their population didn't get too badly out of hand - so I decided to have the third and strongest generation lay small crystallised eggs which didn't hatch, but were instead "pill" objects that could be collected and eaten for bonuses.

However some players actually turned it into a sort of farming game. They would take the mogwai creature to an isolated part of the mud, seed the area with food, then come back later (usually after the last generation had died out) to "harvest" the small eggs.

The code actually cause some real problems and required some rewrites, as I hadn't really expected people to use it that way.

Talent system

For a long time I'd been throwing around the idea of boolean abilities laid out in a skill web - I'd proposed it on another project I'd been involved with (although sadly the project went nowhere), and it had always been in the back of my mind.

For some reason the idea it came back while I was working on an early test version of my mud - I suspect it was probably after I'd been reading about charms in Exalted or feats in D&D, but I don't recall exactly what reminded me of it. Either way, I fancied taking a shot at adding some boolean abilities, and called them 'talents' to differentiate them from the skill system that I'd already added.

Talents weren't part of the original game design, but I figured they might add a little flavour, and mostly thought they could be used to test the balance of some of the class powers (as the engine at the time didn't have any classes, and I didn't want to add classes just to test out individual powers).

As it was, the talents proved so popular and effective that I ended up scrapping the original design for class powers entirely (even though they were already partially implemented) and redesigning them to work in the same way as the talents (except with ranks rather than boolean).

What started out as a mixture of "developer's toy" and "temporary testing tool" ended up becoming one of the core features of the mud, necessitating some major changes to the design.

Free respec

In the early days of testing, many character options were unfinished, and even many of those I thought I'd finished would later undergo major changes. So I decided the only fair thing to do was to let players respec/redesign their characters freely - not only did this avoid crippling existing characters every time I made a major update, it also encouraged the players (who were really playtesters after all) to try out a wider range of options. Good for them, good for me.

As the game progressed things settled down somewhat, but there were always more changes and additions coming in, so I never felt it was the right time to remove the ability to respec.

Years passed, things became much more stable, reaching the point where the respec could be removed…but I'd come to realise something: the free respec was really popular with the players, it gave the game more replay value, and it encouraged diversity and experimentation. It had actually become a signature feature of the mud. So I figured "what the hell" and just left it in.

War minigame

A few years back, Kyndig decided to run some coding contests on MudMagic, and the first of these involved writing a card game snippet. I wasn't overly excited about the prizes, but I really liked the idea of regular coding contests, so I decided to take part to show my support for the idea.

The problem is I hate writing code that never gets used. So after the contest, I started trying to think of a way to use the snippet in my mud. I didn't want a literal card game, as I didn't feel it would fit the theme, but I thought I could probably use it for a minigame of some sort.

I thought about using it for climbing trees or running a race, but none of that really felt right. In the end I came up with a "War" minigame, which I was able to tie in with the theme of the mud.

Some months later Kyndig announced another card game coding contest, this time adding AI for computer opponents. I took part in the contest, building it on top of my previous entry, and then modified the code afterwards so that the mud could play "War". I then used that as the basis of a "Great War" which fires off every 6 hours, and gives rewards that are tied it with the main game.

I only created the card game to show my support for the coding contest, and pretty much shoehorned it into the mud because I hated seeing it go to waste (something I would normally strongly recommend against doing). But the minigame is really popular - and although it pains me to say it, there are actually quite a few players who like it more than playing the mud itself.

Customisable shapechanging

I use dynamic descriptions for most things, including players. But back in the old days, demons who transformed into their "true form" all looked exactly the same - red skin, horns, claws, etc. They all had the exact same description.

One of the demon players complained about this, asking if it would be possible to change his appearance. I agreed that it was pretty boring for all demons to look the same, but I felt that if demons should be able to change their appearance, they should be able to include features that went beyond simple cosmetics.

This lead on to discussions and brainstorming, and eventually resulted in a solution which provided the basis for player-customisable shapechanging - now considered by many players to be one of the coolest powers in the game due to the variety and creativity it allows. The same mechanic has also allowed me to create numerous new mobs with custom body shapes without actually having to change any code, saving me a lot of time when creating content.

And it only happened because a player complained that his character looked boring.
27 Feb, 2010, Runter wrote in the 2nd comment:
Votes: 0
In the past I was toying around with maze generation algorithms mostly for fun. They generated many interesting patterns and some of which looked like specific kinds of areas. Villages, open areas, winding paths, etc etc. It wasn't difficult to change room sectors and automate the process for various types of zones. We threw together some functions we already had for generating random treasures, equipment, parties of enemies, doors with locks and key, etc etc.

It wasn't planned but after allowing a few of our players to try to traverse a maze or two for fun we soon had people asking to make it accessible as a minigame. It soon became one of the most popular pass-times for our max level players to do solo and in party. We further developed it and it actually turned out better than I would have thought. We found that players liked to be able to repeat the process and get meaningful even if not overpowered rewards. This eventually evolved from large areas to much briefer ones.
05 May, 2010, KaVir wrote in the 3rd comment:
Votes: 0
Following some recent discussions about map plugins, I decided to look into creating bitmap files from internal server data - the idea being that the mud client could use the tiles to generate a graphical map of the surrounding area, with the server only needing to tell the client which tile number/s to draw.

To test it out, I created fairly simple in-game command that could be used to define the rows and columns of a small image, with one character in the mud representing one pixel in the bmp file. It worked as planned, so I was about to delete it and get on with the conversion from the internal map data - but then on a whim I decided to make the command available to clan leaders, allowing them to create a banner for their clan profile and the weekly scoreboard.

I wasn't sure if anyone would bother using it, but I figured someone might enjoy playing with it, and as the code was already there it didn't cost me any effort to just leave it in. The players love it though! Even one of the blind players was able to use the tool to create a banner (although he obviously couldn't see the result).

You can see the current banners here: http://www.godwars2.org/mwi/pantheons

Such a simple little tool, I sometimes forgot how much players love customisation. I'm now thinking about expanding it to personal icons.
05 May, 2010, Kline wrote in the 4th comment:
Votes: 0
That's pretty neat KaVir; you have some artistic players from the looks of it :).
05 May, 2010, Idealiad wrote in the 5th comment:
Votes: 0
haha, that's great.