Friday, September 4, 2009

Mud Connector and new area.

Recently,  the mud connector started requiring a membership to vote: regular votes from anonymous IPs are no longer counted :(. Starting a membership doesn't take very long, and with this new requirement it means the top MUDs will be losing a lot of ground in the coming weeks. This is a great chance for us to climb in the ranks and attract new players! I'll be making my mud connect account, hopefully you guys will too :)

A new area has just recently been put into the game, a new guild area for the boys in red. This area will be worked upon further in future, and right now has no equipment mobs: really it's more an area to promote RP but will be more in future! It's been linked in an interesting way through the marsh area near the wastelands... if you have trouble finding it, I'm sure there's a guild that knows the way. If you see typos or glitchy bits in the area feel free to send me a note :)

Sunday, August 9, 2009

The Chrysalis Project

Hi everyone,

Although our new project is as yet unnamed, we're calling it the Chrysalis Project for the time being. I think the best part of having a project to work on is having a cool code name for it :)

I have just finished setting up a basic blog. There's nothing on it yet (and don't expect there to be for a little while... the next three weeks are pretty hectic both for Parvi and for me), but if you would like to follow the blog for the new project, then check out the following link:

http://chrysalisgames.blogspot.com/

With that, we turn this blog over to Nate and DR-related discussion.

<3
Sido

Wednesday, July 22, 2009

The New Project: An Explanation

Hello everyone!

As of today, Parviane and I have officially stepped away from active management and development of Dark Risings. I want to thank everyone who came forward with kind words over the last week. It's been wonderful to hear that so many of you enjoy the changes we've made to the game, and I hope you continue to enjoy them for a long time to come. We feel great about leaving DR in the very creative and capable hands of our admin Nate and the rest of the imm team. I have full confidence in their abilities, and I am definitely looking forward to seeing the direction they decide to take with DR. Good luck and best wishes!

I know there has been a lot of speculation about why we have chosen to retain rights to DR rather than just leave as most IMPs who step away from the position have done. I appreciate those of you who have taken the time to ask me about it rather than, as others have done, simply bashing us on public forums, knowing we will not respond there. I'd like to try to explain our decision, for anyone who is interested in reading more about it.

Aside from the endless cosmetic changes (such as helpfiles and building, which Nate and the team can do) DR right now is as good as Parvi and I can make it. However, DR is a ten-year old mud, based on ten-year-old code and ten-year-old game design. More and more, it's becoming clear to me that although I don't want to run a text-based version of WoW (which is NOT a role playing game) the fundamental setup of Dark Risings not only enables but encourages this. As a result, we have things happening which, as a game designer, I find extremely frustrating.

For example, many DR players seem to feel that the best way to create a character is to powerlevel to 50 as fast as possible, then spend 3 weeks spamming skills to save an extra 20 or 30 hp, then spend another week spamming gold runs. By the time they are ready to actually play the game (and not just spend hours doing the same thing over and over) they are already a higher level than 90% of the game is intended for. So we get complaints about how boring levelling is, how boring spamming is, how hard it is to get gold, how boring it is to explore areas since they don't give anything good, and so on. This is how the game has always been, and it's proven impossible to convince the majority of players that it should be done differently. It seems like players prefer to play DR in boring ways (and prefer to complain about the game being boring) to trying a different way of playing it.

Personally, I don't like playing games which require (or encourage) excessive mindless repetition, and I don't like running them, either. I think players should explore as they level, finding all sorts of useful equipment and other items which can help them fight, and which they can sell off as they find more, gradually padding their bank accounts. I think they should use their trains, skills, and spells as they get them, because they make an extreme difference in both how easy mobs are to kill, and how fun it is to kill them. This is the kind of game I want to build, and have been building at Dark Risings since I first became a builder almost seven years ago.

However, most Dark Risings players are fundamentally opposed to this kind of game play. I think the "min-max" statsmongering mentality has become so entrenched in the game itself that trying to root it out now would cause not only widespread player unhappiness, since so many people are used to doing it, but would also require code changes so massive that a pwipe would be inevitable. I love Dark Risings: its history, its longevity, its mythology, and its players. It is an established mud with some excellent code and storylines which stretch back over a decade, with no breaks or gaps where the mud was inactive. I think that forcing a pwipe on a mud this old would be fundamentally wrong.

I still want to be working on a very different kind of game, though, and I sure don't have time to work on two muds at once. Therefore, what Parvi and I are doing are splitting the game into two sections: one, Dark Risings, is the game we HAVE built, and which I hope will continue to run for another ten years; the other, as yet unnamed, is the mud we WILL build, using all the things I love about Dark Risings as well all the great code Parviane has written specifically for DR. We are not simply building DR2; the MUD we intend to make will be fundamentally different from DR in many, many, many ways. But certainly, we will be using what we have built on DR; without it, we would have to start from scratch and, in all likelihood, never it get off the ground. It takes far less time to gut a mud and rewrite than it does to start from nothing.

I don't think it's selfish to keep what we have built so that we can continue to build on it. I think it would be a lot more selfish for us to erase ten years' worth of characters so that we could do that. To my knowledge, no other past implementors have gone on to build or even play other muds, and that is pretty significant. We may yet release DR code and our rights to it. That just won't be happening right now, because unlike past owners, we are still USING it. I feel that my last four years as an IMP combined with Parvi's last three as a coder give us the right to do that.

I would love to discuss this more with anyone who would like to comment on it, and I will continue to post updates here as they occur. Once we decide on a name for the new mud, I will create a new blog for it, as well.

Thanks again to everyone who made imming on DR a pleasure. I look forward to seeing you on DR, and having the chance to play with you as a mort!

<3
Sido

Monday, June 15, 2009

Lag Issues

Although people have always been complaining about lag that originates in their connections, we've started experiencing server-side lag issues in the game in the last few months. While connection-related lag is something you all can feasibly fix (by changing ISPs, fiddling with their wireless connections, upgrading in-home wiring, et cetera), mitigating server-side lag is something beyond your control; it will happen no matter how good your connection is. Fortunately, server-side lag affects all players equally, and you won't find your character dead if a server-side lag spike happens while you're in a fight.

For the sake of appeasing any fears related to this increase in lag, here is some useful information:
  • If you come out of the lag spike and a bunch of text (eg battle spam) dumps out on your screen all at once, the lag is due to your connection. If you come out of the lag spike and only one more round of battle spam happens though, it was a server-side problem.
  • Server-side lag locks up the whole game, including battle, mobs, pk, and everything else. If you're in PK and there is some server-side lag, your opponent feels it just as bad as you do--the tables will not be turned on you. Connection-related lag, though, can be fatal.
  • Similarly, you aren't going to die if you're fighting the hydra and the server locks up momentarily. The fight itself locks up, so the hydra isn't hitting you while your screen is frozen; the hydra is frozen up too. While it can be unnerving to have your screen freeze up mid-fight, if the problem is on the server side, the fight will resume as normal when everything unfreezes. There will be no catching up on battle as there would've been if the lag was due to your connection.
Thus, if your connection is usually good and you notice your screen freezing up momentarily, for the most part you don't have to worry about anything bad happening to your character.

For those of you who are interested in the technical details, this server-side lag is due to the server on which we run being momentarily overloaded, an effect similar to when you run too many programs on your computer and you get the hourglass icon for a few seconds. Dark Risings runs on the same server as a number of other muds, and if one of them reboots, experiences some nasty bug which causes them to go rogue, or does anything which momentarily strains the server as a whole, we can feel the effects of that in the form of a lag spike.

Unfortunately, these server-side lag issues are something we will all have to just put up with for the time being. Dedicated hosting solutions cost between 3x and 4x as much as our current hosting, and our current costs are already about as much as we can afford without relying on some sort of revenue (donations, fees, et cetera). However, there is light at the end of the tunnel--our server is due to receive a hardware upgrade in the coming months. If this upgrade will include moving to a SMP (multicore) platform, the server-side lag spikes should go away almost completely.

Thursday, June 11, 2009

Trouble Logging In?

If you're having trouble logging into darkrisings.com 1313, redirect your client to titan.mudmagic.com 1313, or 70.85.106.90 1313. All three are the same thing, but the last two should work for everyone. Sorry for the inconvenience! Hopefully we can resolve these technical difficulties soon.
<3
S

PS All technical difficulties are cleared up now, thanks your patience :)

Monday, June 8, 2009

Operation Sacred Spork

Phase six of Operation Sacred Spork has finally been concluded, and we're pleased to announce the templar class is finally live! We've been thoroughly testing it for the last couple of weeks and as Parviane said in his last change, we're skipping any "testing" stages as we're fully confident the class is nicely balanced, and will perform great. In terms of player kill, I've had a lot of fun testing this class out and am really interested to see what kind of combos start to turn up; I found that while heavy HP is tempting with them (as they are a fighter variety) the speed of their spells and costs really make heavy mana a necessity. They respond really well to turn around situations which is in the same vein of strategy as a cleric, but with a wildmage touch of chance. Inquisition you can fire off enough to really make the best of a bad situation, but the hp it eats just makes it that much scarier; I'm curious how people will use these... lots of noexits? Less? I'll be watching you guys spar and PK so make sure you aren't slacking >:D

It isn't in the help class tables JUST yet, so just to make it accessible to ever one the stat bonuses are +2 to con, and +1 to wis.

TEMPLARS AREN'T PALADINS! I've already heard this tossed around a lot and I can see how it's easy to think that with the similarities in RP, but this is a class unique to DR that has been constructed to operate very differently (not to mention that we have three different types of Templars, that aren't necessarily "good" "evil" or "neutral"). Warrior-Wildmage-Cleric is what we've described them as in a pinch, like I said... unique class, unique way to operate >:). Really I guess... you just have to try them out to see!

EDIT-

By the way everyone, great work on the voting! We've secured and maintained our number ten position and finally made our way back to the top ten muds. I can't say how impressed I am with the dedication of our pbase, and I really hope you all keep up the great work, this is sure to bring in some new faces. I've had some staff mention to me recently that they're really interested in what the players have been thinking about the changes to the game, so I'd love to see some new reviews on TMC if anyone has time or desire too.

Sunday, June 7, 2009

Crash Last Night

Last night the game crashed, bringing our total crash count for 2009 up to three. The problem which caused the crash was a bit tricky to find because the actual crash was caused by memory corruption which occurred fifteen minutes before. Tracking it down and fixing it was ultimately not very difficult, but what was particularly frustrating for me in this case was that the root of the crash involved the bane of my existence: an old CODE SNIPPET.

In this case, the problem lay in the rename snippet, v1.1 written by some fellows named Voltec and belial in 1998. This particular snippet has been in the Dark Risings source for as long as I've been here (so it was likely in from the beginning), and it is what allows us imms to rename characters named "Drizzt" without forcing them to delete and recreate. However, the guys who wrote it really didn't know what they were doing (which, from my experience, has been 100% of the people who author publicly available snippets) and thought this would be a good way to rename a character:
/* grab old name, insert new name, Save the new p-file */
strcpy(old_name, victim->name);
strcpy(victim->name, new_name);
Unfortunately for every mud which has used this snippet, the authors of it did not understand that the game does not allocate entire player characters in the game on the stack as it would a local variable; characters (and therefore the names associated with them) are malloc'ed to some block of permanent memory. Using strcpy on any permanently allocated member of a char_data structure is an incredibly novice mistake; strcpy knows nothing about the size of the space in memory allocated for a character's name, so it does absolutely nothing to ensure that it doesn't either overrun the space allocated for the character's name (and therefore corrupts whatever is in the memory adjacent to it, which is what caused yesterday's crash) or release any unused but allocated memory (which would cause a memory leak).

So at best, this snippet causes memory leaks, and at worst, it overruns the boundaries of the part of memory reserved for a character's name, silently corrupts other parts of adjacent memory, and causes a mysterious crash a few minutes down the road when the game tries to allocate memory for a new string and cannot find the correct boundaries for existing strings because they got corrupted. The correct way of doing this sort of renaming routine is actually already written all over the stock ROM code, so it's not like it is even a novel concept:
free_string(victim->name);
victim->name = str_dup( newname );
ROM and ROM-derivatives have their own internal memory handling and allocation subroutines which must be used when creating and destroying strings in this malloc'ed space; that's what free_string() and str_dup() do. My guess is that the authors of the original rename snippet learned about strcpy in their high school programming class, but did not learn about the importance of understanding how the whole program works before screwing around with pieces of it. Shoddy and broken code was the result.

This is exactly the reason Dark Risings no longer incorporates any publicly available snippets. I found myself spending my Sunday morning rewriting the rename command from scratch because the snippet we have been using for it was sloppy, buggy, and caused our game to crash right in the middle of our peak hours, undoubtedly ticking off some players and disrupting the experience for everyone logged in. It took me less time to just rewrite this command myself than it took to debug the code and trace the crash back to some crumby snippet that triggered a bug a quarter of an hour before the game actually caught up with the corrupted memory and tanked.

The funniest part of all of this is that the snippet says at the top:
* also, comes complete with comments! for the budding
* coder to know whats going on */
I feel genuinely sorry for any mudder who plays on a game whose "budding coder" learned how to code from junk snippets like this. At any rate, anyone who posts an idea or suggests to me "______ should be easy to implement because there is a snippet available" will be very rudely pointed to this blog entry. Dark Risings will never use anyone else's code under my tenure as coder.

Saturday, June 6, 2009

Arcing Quest

The quest tonight started off slow but ended up being very fast-paced and eventful! Thanks so much to all the players who made this fun for each other and for me... you know who you are, I hope!

I'll give out prizes as people start to hand in their roses.... the question is, as it always is for me, what do people want? Hmmm....

I am really looking forward to Sunday!!!!! Hopefully we get a great turnout for it... It's getting hard to wait :D

I'm so curious to hear what people thought of the new spell Parvi whipped up for this quest...and of how the quest has been in general so far.... If you want to comment about it, I'd love to hear it :)

<3
S

Friday, June 5, 2009

Reboot

We rebooted this afternoon and a couple of large revisions to portions of the code went in. Most of these changes should be completely unnoticed by you all, as they were aimed at restructuring the internals of the game to make future changes a bit easier to make. One major revision, though, has resulted in the 'practice' list now being sorted alphabetically by spells, then skills. This should make it much easier to find certain spells or skills on your practice list as you spam, practice, or whatever else.

This process of restructuring the master skill and spell table had some unintended side effects which we quickly patched up before the revision went live. While we're pretty confident that everything should be fine now, if anyone notices anything clearly weird with skills or spells now (such as you clearly missing some spells you had before the reboot, or certain objects in the game no longer having spells on them which they should have), I'd like to hear about it. Most of these anomalies, should they occur, will show up on my screen before they show up on yours, and so far the game has shown no indication that anything went awry. Thus, I don't expect to hear any bug reports related to this most recent reboot for now, and hopefully the number of people crying wolf will remain low.

I am posting this to the blog rather than as a note because I don't think the changes that went in with this reboot are important enough to bring to everyone's attention.

Tuesday, June 2, 2009

New Arcing Quest Series

I wanted to say thanks to everyone who participated in the quest last night, and to say that if you're not involved yet, find a way to get in on the action. It's not over yet, and things are going to get very interesting >:)

It's been a while since I did a series of arcing quest -- the last one was the Golden Knights quests for which the winner got a complete set of matching questeq. They're a lot of work to put together, but the combination of having an awesome admin team to scheme/work with and terrific mortals to RP with makes it a lot of fun, too.

The grand prize for this isn't going to be a set of jacked-up eq, but there will be prizes for each individual quest within the arc (last night's prize was a jacked-up held container full of goodies including a multifaceted gem), and the prize for the finale is going to be BIG.

When will that be? Stay tuned, get involved, and find out :D

<3
S

Monday, June 1, 2009

TMC Rankings Reset

This morning The Mud Connector reset its rankings, putting us back at an arbitrarily low ranking on the list. My guess is that they've started doing this every other month (or every quarter?) so that gigantic muds who have short-lived voting drives can't stay at the top forever without sustained voting. That can be good and that can be bad, but what's nice is that the playing field is even. As of this morning when I checked, we were already ranked at #7 with 15 total votes, but I'm sure we'll need to do better than that to maintain a solid lead.

Our officially stated ranking is updated only once a day, so today's rank of #1986 is really what we were ranked when we had zero votes (which is the same number of votes as every other mud) this morning. You can check the up-to-the-minute rankings here, and you can vote for us here.

Vote for Our Mud on TMC!

Friday, May 29, 2009

Sacred Spork

Stage 5 of Project Sacred Spork has concluded, and thus the project is ready to be unveiled. This is all very exciting to us admins, as we've put a considerable amount of time and effort into clarifying what our vision for this was, discussing how it should all fit into the framework of the exiting game, actually implementing it all, and then testing and re-testing everything. As of our last bout of testing this afternoon, everything is in working order, and this evening I finally attached the last pieces of the code to the rest of the game with which players interface.

We're aiming to unveil the project sometime in the coming ten days or so, with the latest target date being Sunday, June 7. Hopefully everyone finds that it's worth all of this hype.

Thursday, May 28, 2009

Did you know?

Now that the introductory stuff is out of the way, I can post some meat.

Soon after becoming an IMP, I posted a change to everyone that in fact was not a change at all. It was entitled "Did you know?" (a name inspired by a series of emails that used to be sent out by a dean of mine) and it contained little features that existed in the game that were underutilized or undocumented. The original change posting is still in the game (change search know), and I think another round of fun insider info is past due. Here goes.

Here are some fun facts:
  • The chance to get were is not 5%. Although it has long been stated as such, the truth is that it's been 7% for a long time--longer than I've been an admin. Granted, a 2% difference isn't that big, but all you statisticians who want to recreate for were twice in a row might find this useful to know.
  • We have an online who list. It's still in its beta testing stage and will probably always be that way, but it's a good way to see who's on so that you can decide which character to log. A link is also provided on this blog's sidebar there.
  • There is no cap for hit, dam, or saves. Hitroll and saves work against other factors, so there is no hard cap on them. For example, having higher hitroll decreases your opponent's ability to parry. At some point of having absurdly high hitroll, your opponent's chance to parry cannot get any lower--sure, that's a cap, but it's different depending on who you're fighting. The same applies to saves. Damroll, on the other hand, never stops being useful. Its effect becomes less apparent the higher it gets because the ranges between the different damage indicators (eg, <<< ERADICATES >>> and <*>_MORTALLY WOUNDS_<*>) widens. That extra +5 dam helps no matter what, but it may not be enough to show up as a change from eradication to mortally wounding.
  • Clerics do not get any sort of casting bonus over any other spellcasting class. They may have at some point, but they have not since I started coding.
  • Barbarians heal much faster than any other class. This is a relatively recent change, but keep this in mind the next time you consider poisoning your barbarian before going into pk. Sure, you might get maladicted up and put in an exitless room, but you'll also be at full health when you wake up, even if your opponent is quick about it.
  • You can get experience while leveling for completing in-game miniquests. Miniquests are being added to the game every day, and completing each one typically rewards you with 1000-5000 experience. The next time you create a new character, check out the sewers area. It has been redone to have quite a number of very cool and very lucrative miniquests.
  • Contrary to how it used to be, the %l tag in prompts will now accurately indicate whether or not you're in latelog. If your prompt does not say you are in latelog, you are not in latelog, period.
  • You can send notes to... admin, brawler, immortal, imm, any guild, any player, any race, any class, and any brood. You can also send notes to Snitch to submit gossip and it'll get read by someone.
  • There is an open bounty on crashing the game. If you can crash the game, you will get a restring token. In the year of 2009, the game has only crashed twice--in both cases, the offending crash bug was identified and fixed in less than ten minutes after the game booted back up.
Here are some goofy and dorky things that most people won't care about.
  • The mud's source is written in C and compiles readily on GNU/Linux systems and Sun Solaris using both GNU and Sun compilers. This cross-compatibility is necessary due to one of the game's testing platforms being a SPARC-based Sun system. The game which everyone actually connects to runs on a regular PC server and is compiled with GNU.
  • There is a limit to how much gold you can have deposited. Because the game stores bank accounts in signed long integers (32 bits), it cannot count past 2,147,483,647 gold. If you deposit anything in excess of this, you wind up having negative gold.
  • As of this writing, the game currently takes up 35.5MB of physical memory. This is not to be confused with how much disk space it takes up; that figure is somewhere in the vincinity of 250MB.
  • Since I have become the coder, Dark Risings' official policy is to not use code snippets, ever. All new code is written specifically for Dark Risings from scratch, as the time it would take to properly audit, port, and test others' code (which is often amateur and unreliable) would take far longer than just writing it correctly from scratch.
As people come up with more goofy rumors and outrageous claims over the OOC channel, I will post more of these little clarifications and fun facts. Of course, this isn't to say that us admins are going to disclose how everything works; some aspects of the game (such as what role intelligence plays in spellcasting) will remain deliberately ambiguous.

Premise of the Dark Risings Admin Blog

In the past, I've not thought there to be much of a reason to expand Dark Risings outside of itself; notes, ideas, histories, changes, and the OOC channel really seemed to cover all of the necessary bases. I didn't think there would be any reason for anyone to post thoughts or comments on anything mud-related anywhere else, and the short-lived, unofficial Dark Risings forums sort of exemplified that. After all, if someone had something to share with the rest of the players about the game, why wouldn't it get blurted out on the OOC channel (as what usually happens) or in a note?

Of course, I've become somewhat wizened over the years to the fact that there are gaps within our mud's channels-notes-helps communication fabric. There exist a wide range of thoughts and responses of mine which aren't important enough to warrant a note to everyone yet should reach more screens than just the people who have OOC turned on. Help files are meant to fill in that gap, but they tend not to be topical and tend not to be discovered until long after they are written. While I could just be more liberal on what I say over OOC or what notes I post to everyone, I'd rather give players the option to "opt in" to all of this less-important information. Thus, having some sort of blog where I can easily post information without forcing all players to wade through it all seems like a good idea.

While I cannot speak on behalf of the other admins, I do have an idea of what I would like to post here. One major motivation for me writing to this blog is that, as an admin, I have unique access to a tremendous amount of interesting game information that nobody else does. Although some of it should be kept secret in the spirit of fairness, a lot of it is information that isn't secret; it's just hard to get out there. Nobody seems to talk to me on instant messengers except my fellow admins, and most people seem to regard the helpfiles as completely unchanging, so I cannot rely on them as a medium for disseminating new information. This blogging business fills a nice gap, as it appeals to everyone's secret desire to spy on others over the internet and get insider info, yet people who want to contribute to the discussion are free to do so (using the comment feature which should appear at the bottom of this post). All of you readers can get topical, insider info at your leisure, and can participate to whatever extent (if any) you want.

There are also sometimes new and fun things which us admins get excited about but simply have nobody to share it with, and I hope to start venting some of that here as well. This Project Sacred Spork is a good example; I personally have been working on it full-time (in excess of at least eight hours a day) for a few days now, although it has been in the planning for months now. As it nears completion and we get to test it out to make sure it's all in working order, it's hard not to get excited about it--it's fun, it's fresh, and it's finally taking its final form before our eyes. It won't be long before you all get to use it, and I hope most of you will be as pumped about it as we have been once it hits the game.

Finally, I can also see this blog as being a potential place for us IMPs to let our voices be heard with regards to some of the gossip that we know floats around the instant messages. Although I'll not get into it now, one of the biggest frustrations associated with being an IMP is that we don't often have a way to share our side of things with people. For example, when we ban someone, that person is free to (and usually does) tell everyone who will listen how we banned them for shoddy reasons over instant messengers. I'd say 99% of the people who hear how the IMPs banned _____ for no reason just leave it at that, and never hear the other side of it. Although I don't envision this blog as being a "hall of shame" sort of setup, I certainly can see it as being an appropriate place for us to vent. And, since everyone is free to comment here on what we say, it's a bit fairer than just having us IMPs talk smack about people we banned on a place where they can't defend themselves.

So, for those of you too lazy to read the giant block of prose which preceded this, here is a summary:

  • This blog will be a place for the Dark Risings admins to share our thoughts on current things happening on the game
  • Everyone will be able to stalk us on the internet anonymously and get insider info without us IMPs explicitly knowing it
  • This'll be a place for us to respond to good ideas or common misconceptions that keep cropping up but don't quite warrant a note to all or a help file
  • We might vent here from time to time--but everyone will be allowed to post comments
I should also say that, for the time being, this blog is "unofficial." Despite being the DR Admin Blog, what I post here under my name are my thoughts alone. Unlike the notes I post to everyone on the game, what I post here has not been previewed and approved by the other admins, and my views here may differ from my "official" stance on the game. Don't expect to be able to hold anything I write here against me in the game.