Postmortem: Etilica’s Lag – Part II

Since this is post two of the lag theme, I’ll catalog the things that I would have done differently as a live team dev. Later in the week I can delve into design and management lessons. I’ll try to keep the lessons generic and skip the platform specific ones. What I’d do differently taking over running the live team of a world now:

Perform an exhaustive survey of the world – Let’s not trust the documentation; even if it exists. Even among professional teams, the design docs are likely to be outdated. Let’s assume that we don’t have a large block of time for a handover. Up to date design docs and handover meetings are luxuries that professionals have. The alternative that amateurs have is to survey the server. Don’t change anything until all of the resources are understood.

Run scheduled stress tests – Do you have a new AI package? Have you completely revamped your honey pot zones? Do you have a fancy schmancy new dynamic content generator or crafting system? Run a scheduled stress test on a dev server before making those changes live. Advertise it to your playerbase like you would an event. Beg, borrow and steal players from other places just to be there for the stress test.

Make sure that there is only ONE definitive version of the module – From Thrym’s observations of the Etilica in the comments on part one, I suspect that he is looking at a different version than I worked on. I know that there were multiple, unsynchronized versions of the module lying about. Sometimes it was a mystery as to who had a version of the module with which changes. I made the biggest changes and made the most cleanup, but other versions sometimes slipped into the live position or were passed to builders. Etilica should have been committed to a version control system such as Perforce or SVN, so that changes could be tracked, rolled back and there would be only one head revision.

What I would not do is start overhauling the module at the kind of rate that I did last time – There were certain things that needed to be done to whip Etilica into shape that were not really practical, or were just so painful to do that nobody wanted to do them. First and foremost, there was the issue of the half-implemented and orphaned script packages and other resources. A huge portion of the module’s resources were deprecated, but could not safely be removed without an exhaustive and time consuming survey of the mod. There are no tools for that engine that allow you to search for deprecated and unused resources. Moreover, many obscure resources WERE used somewhere. You would be surprised how many different AI scripts were in use and how many item and creature templates popped up somewhere; but making changes too rapidly in a cruft encrusted environment is asking for trouble.


About Dave

I’m a 38 year old American who has lived the past 9 years in Germany and India.
This entry was posted in Uncategorized and tagged , . Bookmark the permalink.

2 Responses to Postmortem: Etilica’s Lag – Part II

  1. Phil Coyne says:

    I like what you’re doing here, Dave. In retrospect, this is what should have been done before the mod got too big.

    It would have been much more prudent to keep Eti small, make sure the AI, permadeath, banking systems etc were up to spec and THEN release it to the playerbase.

    We were too hasty in getting things released once we saw there was a part of the mod that worked well.

    This is a good way to set things up for any future incarnations of Eti, does anyone have any backups of the forum?

    • Dave says:

      One aspect of Etilica’s size – its area count – was not a drawback at all. One really nice thing about that server was its balance between focused honey pot areas and far flung places where you could literally disappear. If you wanted to travel between the main general regions of the world, the shipping lanes acted as natural choke points and afforded good positions for honey pots; so it did not suffer from that common problem of worlds that are large relative to the playerbase size; a feeling of loneliness when others are on.

      > This is a good way to set things up for any future incarnations of Eti, does anyone have any backups of the forum?

      I have no idea. Remus or G might have a copy of the database.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s