Archive for May, 2009

I have two posts upcoming that I’m sure will bore everyone to tears. In the meantime, here’s a game I’m looking forward to (until God of War 3 forces me to buy a PS3).

Read Full Post »

More notes on page views

Weekends have been consistently poor performers for page views. Inevitably I see a substantially lower view rate during weekends, which perhaps seems intuitive, but I do wonder as to the cause. I don’t think it’s straight computer access…I suspect it has more to do with people who read this during the week being parked in front a computer all day long.

Read Full Post »

With Metaplace entering open beta, I went to go take a look.  This is probably more a function of my slavish tendency to click on any link Scott feels like posting, which has already landed – and will continue to land – me in trouble.  I’ve known vaguely about Metaplace for sometime.  It is, in fact, virtually impossible to follow the MMO/Virtual World development landscape for any length of time without running repeatedly into Raph Koster’s (along with fellow luminaries such as Richard Bartle’s) name, so I don’t think I could have escaped hearing about Metaplace.

I admit feeling a bit…well, bleh about it.  I get that this is likely because the game isn’t FOR me, which is fine.  Many things aren’t for me.  Sucker punches to the nuts, for instance, are really simply not in my taste.  Watching the video introduction they have up reminded me vaguely of the Sims…and of that ill-fated Google deal, Lively.  That probably is unfair, but really…that’s all I can come up with.  It doesn’t even appear like I have Sims to torture, which was really the one redeeming trait of that game: the endless variety of ways in which to inflict misery on your Sim.  It was revenge for being born in this world.  “Look, I get to play God over some other mediocre schmuck!  Finally, my day has come!”

I’m not saying there isn’t a market for this sort of thing; there is, as the Sims so aptly demonstrates by continuing to be bought in defiance of all edicts of sane taste.  I’m saying that I am not that market.  I suspect this means I ought to be quiet about the whole thing, but I do so enjoy being able to sit amidst the Internet Peanut gallery.

One thing that has driven me absolutely bat-shit insane about most development is it seems rarely driven very internally.  That is, I just don’t see many games being made by developers who want to play their own games.  Honestly, that seems to be what drives company’s such as Blizzard’s success: they make the game they want to play.  Usually, that amounts to “That other game, but really polished.”  It works.  I, and millions of others, gobble up everything they see fit to finally release.  But I don’t feel like they ever make those games for us; they make the games for themselves.  Years of hard effort and late nights finally pay off in something very sweet for them: a game they want to play.  As it happens, others do to, so they get paid.  But foremost it feels an awful lot like they’re doing something for themselves.

By contrast, many other games simply feel like something built for other people.  They satisfy a marketing decision, not an internal decision.  It’s rather hard to build something fun when the vision is externally provided, I’ve found, and a great many games bear this observation out.  Metaplace feels similar, for whatever reason.  It’s as if it were built externally, by observers thinking they could bring to life something to satisfy others, rather than something built initially to slake an internal thirst, and finds that, in its abundance, it can be sold to others.

In that sense, I suppose, it feels pretentious.  It’s TRYING too hard, much like Google Lively was.  I know, I’m saying a podium built on pretension, and on top of that haven’t even PLAYED it.  I’m judging off of watching a single video.  Still, I’m entitled to my impressions and, having gotten this far, you seem willing to read them.

It does seem to me that Metaplace, as Lively did, misunderstands information movement among social networks.  Nodes do not go to information, information goes to nodes.  A world is a shared space, on the whole; privacy is a rarity.  Yet Metaplace seems to offer a series of connected, but distinct worlds.  In that case, a world must be navigated to.  The Metaworld does not offer direction or impact, so…what am I doing here?

It’s essentially like the problem of player housing.  I know of several games which have implemented player housing, and the best implementation, for a design perspective, I’ve always felt was Ultima Online’s.  Why?  Because the houses were right there, in the world.  They had an impact o nthe player experience.  By contrast, recent player housing is done like LoTRO does it: in instances, off to the side.  You don’t have to see the houses, and they serve little purpose beyond a place to store your stuff and play house with.  Seriously, home decoration can only eat up so much time and interest.

As much as Scott calls many MMOs theme parks, they are places where people interact with the world and have at least the illusion of impact.  Seriously, that’s the point of quests: the illusion of impact.  It’s not just rewards, it’s not just experience, it’s the feeling of forward motion in a changing environment.  All of the greatest stories people tell come from that interaction, from the impact they can have.  You’ll find in MMOs that this often has to do with interacting with other people; that’s not because interacting with other people is inherently more fun that anything else, it’s that in a generally static world, people are often the best means of having an impact and generating a story.  I listened in on a conversation between a couple co-workers, reminiscing about Everquest, and one noted that, in spite of the outcry against griefing, it’s often griefing that provided the best stories.  Beyond that, it seems like trouble and travail are the biggest source of stories…and I’d suggest this derives from the feeling of accomplishment on having an impact.

As an example, I’ll never, ever forget the time a friend and I, early in our WoW careers, delved into an instance all by our lonesome.  Our duo was slightly over-level for the dungeon, but not over-geared (this was during a time when quest-givers were miserly penny-pinchers who really assumed you were killing 30 bears out of the kindness of your heart, so 30 coppers was a perfectly reasonable reward, so our gear, built mainly from quest gear, left much to be desired).  We cleared all the way to the final boss and nearly downed him, using every tip and trick at our disposal to slowly wend our way through encounters built for parties much more optimal than ours.

That made me feel like I had an impact on a world in which I existed, but which had existence apart from me.  That’s something I can tell a story about.

Anything where a marketing point is that I can build a cafe for my friends and I to hang out in really misses the point of IM windows.  Being able to move an avatar around a world is not having an impact.

Read Full Post »

Damn Straight

“Every good guild knows it rests on the ability of its healers.”

Read Full Post »

CamelCase Standards

Working in Java, the standard convention for naming both properties and methods of objects is to use camelCase, where the first letter of the property/method name is lower case.  So, if you want to name a method “Do Something”, it would be denoted doSomething().  This contrasts to Object/Interface naming, which by convention uses CamelCase with a capitalized leading character.  Thus a new class might be called MyClass.

In C++, functions (including object methods) and class names use CamelCase with a capitalized leading letter, while variable names use camelCase with a lower-case leading character.

Notice the slight difference between the two: in Java, only type names (except primitive types) are capitalized.  Since everything else is part of an object, it starts lower-case.  In C++, by contrast, anything which is externally visible begins with a capital letter.  Because variables are either locally scoped to a function, or are, by convention, only privately accessible (i.e., scoped to the class/instance of a class), they start with lower-case letters.

For whatever reason, I prefer the C++ style.  Likely this is just because I am used to using it, but I always feel like there’s something slightly undignified about the appearance of Java method names.  It’s also mildly unreadable to me, because I have to notice the ‘.’ after the instance name in order to find the beginning of the next word/phrase, rather than simply following the CamelCase all the way across the call.

For C#, I extend this practice to property names.  a property is publicly accessible, so its leading letter is capitalized.  Private/protected members are prefixed with a lower-case letter.  Admittedly, I do tend towards adding a leading lower-case ‘m’ to private/protected properties as well.

I also extend this into my Javascript programming.  Frankly, Javascript is hard enough to read as is, so it helps me to start anything locally scoped lower-case, and anything that will be globally available capitalized.  That way I know not to trust the lower-case names.  They already look a little uncouth, a little unlettered and untrustworthy due to way I write their name.

Read Full Post »

Valnoth strikes!

The Lead World Designer for World of Warcraft says this:

We made a hotfix yesterday to several hard mode loot tables in order to spread around Algalon’s weapon drops to make the items more accessible. Algalon still has loot that is unique to him, but the acquisition of the weapons in Ulduar won’t be so soul crushingly difficult and ultimately unfair to certain class/builds.

So it turns out that we don’t hate you.

Casuals win again 😦

That final line would be hurtful and probably something I’d flag as “devs stop posting” if it weren’t so ludicrous.  Perhaps Valnoth has a better grasp of how to communicate humour online.

Read Full Post »

Probably.  I’m going to encourage you to read the first post of this thread.  It does receive a Ghostcrawler response, and I know I normally link these from mmo-champion’s blue tracker, but I thought this time that the thread itself was worth linking, as it gets to a central point about the basic tenets of the player package of World of Warcraft.

I’d like to say that theorycrafting of the sort applicable in WoW feels an awful lot like risk analysis in finance.  Much of what is done is statistical modelling of some set of variables in order to forecast an unknown.  What is odd, I suppose, is that on the whole the models tend to match up predictably to reality.  What this implies is not so much that the models are readily able to handle the complexities of WoW, but that WoW isn’t terribly complex.  Consider that, for all the buttons a player needs to push these days, there still exists a set pattern.  It could be boiled down into a single macro, really…and I know one DK that has done precisely that with their rotation.

In essence, the choice of class in spec in WoW establishes a pattern of button presses.  This is particularly true for DPS classes, and you’ll note that they have the most extensive and reliable theorycrafting available.  On the whole, the choices, and thus the variation from optimum, available from DPS are so limited that they are easily maximizable.  Consider talent choices: in general, talents are either completely relevant, or utterly irrelevant.  The cost-benefit analysis is laughably simple.  There is no talent choice once one chooses a spec.  Really, the cookie cutter FotM specs aren’t difficult to figure out.

The problem for DPS in WoW is that they have only one purpose: to deal damage to a target.  Their utility is secondary, and generally entirely class based rather than spec based.  Any hunter, for instance, profers freezing trap and misdirect.  Even the spec specific buffs are now overlapped by other classes.  Therefore, for DPS, if there exists a maximizable damage rotation (and there always does) which is situation inspecific – that is, there exists, for any given spec, a precise set of rules for maximum damage in the majority of situations – then they should do that to their assigned DPS target.  They should strive to perfect that rotation and make it adhere to the model as closely as possible because that is all they offer to a group.  Adding additional button presses merely extends the pattern, it does not offer meaningful choice.  Adding reactive procs also does not offer meaningful choice…it merely alters the algorithm with a minor conditional.  A good DPS, therefore, is not good because they are a cunning tactical thinker or more able to take advantage of a given situation; they aren’t a player more able to seize the moment and see weakness to exploit an opportunity.  Rather, they are able to insure their maximal button series is in play as often and as long as possible.

Contrast this with a healer.  A healing class has potential choices: they can heal, in general, one target at a time.  They may have the option to heal more than one, but that stops them from healing one target: a tradeoff.  Beyond that, they have different choices among healing spells: do they choose the large heal, the small heal, the fast heal, the slow, the instant on a CD, or what?  while their do exist maximal healing rotations, often they are unnecessary.  Primary targets do not take sufficient damage to require sustained healing of that sort.  Some maintainable subhealing rotation is sufficient.  Instead, healers must balance the raid healing vs. tank healing, understand where damage will be incoming and constantly triage potential targets.

How does this bear on the question of whether Elitist Jerks (and my theorycrafting) makes WoW suck?  Theorycrafting to the level of my own math or EJ’s math, particularly regarding damage rotations is only viable in a game that supports it.  If a damage dealer had 3 viable damage chocies, each of which had some aspect in addition to damage that made it interesting, and each of them on say a long cooldown, then running the math to model out rotations would be substantially harder.  The best that could be done would be to explore how to maximize each ability separately.  It would be left to the player to decide the optimal ability, depending on the situation.  In that sense, it is actually WoW that makes WoW suck.

That said, EJ and WoW theorycrafting evolved by examining a particular portion of the game of WoW very early in its history.  Due to the effort of guilds to min-max their raids, in desperate bids to increase their speed, buffer themselves against failure, limit their need to farm consumables, etc., a fairly substantial body of theorycrafting developed to fixate on what best helped high-level raids.  This occured congruently with the development of DPS monitoring addons, raid addons, HPS monitoring, and eventually WWS parses and such.  As this developed, Blizzard responded to the concerns raised by the community with regards to their theorycrafting.  That, in turn, focused design perception on this sort of ability analysis, rather than on some other means for developing character packages.

If WoW’s high level game can be said to be worse because of the low choice, highly modellable systems, then I would suggest that the evolution of early theorycrafting indeed helped prompt that.  As EJ is the central place for major theorycrafting, it in turn is the major community reason for this evolution.

All of which is to say, yes, Theorycrafting probably does help make WoW suck.

Read Full Post »

Older Posts »