Month: December 2007

We are at our usual New Year’s LAN party. This is when I am reminded that most of our people drink while playing (instead of healing me), with less drinking out and about. This is your reminder to have a designated driver. Ideally, sleep wherever you party, because many will not be heeding that reminder. There will be extra police on the roads tonight just in case you forget.

On that note, open container laws were a question at last year’s party. Transport booze in your trunk. Anything that has ever been opened counts as an open container, even if it is closed now. A re-corked bottle of champagne in the back seat counts the same as an open beer in the driver’s hand. Not every state has that law, but unless you have checked the law in every city and county you will be driving through, don’t turn a stop for a broken-out taillight into a misdemeanor.

And now back to LAN games. Maybe we can get another round of WarCraft III. Yesterday a CoX guildmate asked me what WarCraft III was. Seriously.

When you unsummon your pets on a Robotics Mastermind, they may announce that they are initializing homing beacons. If you think you just saw a robot say, “I loves me some bacon!” it is probably time for bed.

Today’s bit from Douglas Hofstadter relates to realizing you made a mistake back at the beginning:

…suppose you had written [a program for deriving theorems in number theory] but had forgotten to include TNT’s Axiom 1 in the list of axioms. After the program had done many thousands of derivations, you realized your oversight, and inserted the new axiom. The fact that you can do so in a trice shows that the system’s implicit knowledge is modular: but the new axiom’s contribution to the explicit knowledge of the system will only be reflected after a long time — after its effects have “diffused” outwards, as the odor of perfume slowly diffuses in a room when the bottle is broken. … Furthermore, if you wanted to go back and replace Axiom 1 by its negation, you could not just do that by itself; you would have to delete all theorems which had involved Axiom 1 in their derivations. Clearly the system’s explicit knowledge is not nearly so modular as its implicit knowledge.

A fundamental system in your game is broken or inadequate. You know it, the developers know it, everyone can see the proud nail sticking up. Why do they keep making tweaks to make the game work around it rather than just fixing it? Because fixing something upon which a lot depends is difficult, time-consuming, and risky. Adding something new is relatively easy.

We’re coming up on the new year, so this seems as good a time as any to ask: what do you think the future holds for MMOs? More to the point, what do you hope it does? I’m not talking about The Future where we’re jacking into the cyberspace and hacking the Gibson, I’m talking in the next few years. What are you hoping we’ll see in the near term future for MMOs?Continue reading The Future of MMOs

I forget which of our blogger friends pointed me towards Granado Espada, but it does not matter because it does not excite me. It does, however, have some interesting ideas, some of which may be worth pondering further. The basic gameplay is Diablo: click to move, execute some powers, get loot and level up. The fee structure is Korean: free to play with built-in RMT.

There are three significant variations in gameplay. First, it is small-unit Diablo, in which you control three characters. You walk in with your own tank, healer, and damage. Second, it uses a RTS-style auto-attack, so that your characters will attack, heal, and even self-rez without further guidance. Your participation is needed only for special abilities, moving them around, and picking up loot. You might think this would lead to AFK hunting, which leads us to the third point: AFK hunting is explicitly allowed.

There is an old saw which says, “Computers can only do what you tell them to do.” This is right in one sense, but it misses the point: you don’t know in advance the consequences of what you tell a computer to do; therefore its behavior can be as baffling and surprising and unpredictable to you as that of a person. You generally know in advance the space in which the output will fall, but you dont know details of where it will fall.

The context here is that as you move from machine language to assembly language to higher-level languages, you gain abstraction at the cost of perfect predictability. The more abstract your commands, the more room there is for gaps between what you meant and what you told the computer to do. At any level sufficiently abstract to think about the whole program, significant parts will be unpredictable, especially if you are trying to cross levels. See the Wi flag.

This is a reason why we have test servers. Large programs have too many moving pieces for anything to work as intended on the first try. Even if the coding is perfect, its aggregate effect on the system may not be what was intended. The developer did not think of what rule change X would do to ability Y when used with item Z, and now players can one-shot raid bosses. Oops. And that can happen with any moving part, which is why you want thousands of players to beat on the code, going through enough combinations to find the inevitable problems.

Back to the code level, documentation exists to reduce this. If we all programmed with textbook-perfect processes, you would be able to track any change throughout the system, and unpredictability would be lower. Unfortunately your crafting system is only half-documented, the comments are haiku in Gaelic, and the guy who wrote them quit to pursue his dream of becoming a pastry chef. Expect surprises every time you change anything. To cite a non-haiku issue along these lines, City of Heroes recently noticed that the taunt/aggro system was documented incorrectly, and no one knew that no one knew how taunt worked until someone traced back why the code was not doing what it was supposed to. It was doing what it was told to.

I saw a friend’s new MP3 player this weekend: 8GB plus the software to run it, and it is about the size of five credit cards. It could probably be smaller, but there would be no way to plug in headphones or have a screen/buttons. Looking back a half-century, a 4.4MB hard drive was 5′ by 6′ by ~2′ and reportedly leased for $3,200/month. If that is before inflation, that would be $23,934.75 per month in 2007 dollars.

Many of our people will be receiving electronics this holiday. As you are opening your gifts, enjoy the benefits of Moore’s Law and its parallels in all manners of progress. You are already living in the future.

As I take a moment to step away from my yet-again broken snow blower only to find that the water heater is no longer working (I *really* needed a shower after shoveling the driveway), I wanted to wish everyone a Merry Christmas and a Happy New Year. If you celebrate a different holiday, enjoy that as well.

We have a new (fairly dull) method of getting through CoX’s upper levels quickly. Since the experience varies by level, I naturally sampled the data points, set up a spreadsheet, checked some online tables, and made a table showing experience in absolute and percentage terms with expected time to level. It seemed like the obvious thing to do.

Talking with my wife last night, I realized that today is the 10 year, 10 month, 10 day anniversary of when we started dating. Exactly a week ago was the 6 year, 6 month, 6 day anniversary of our marriage. (That gives us four anniversaries to celebrate this month.)

I will move out of quantitative work at some point. It does not seem like a great path up. Until then, I get to wonder if these thoughts are a cause or effect of my work.