Archive for January, 2010

Ghostcrawler posted today to talk about their intent for talent trees in Cataclysm.  It’s a rundown of stuff we already know, but gathered together; I thought it would be interesting to discuss it and wave my hands a bit about what this means we might expect from talent trees (and the new passive bonuses) in Cataclysm.

I’ll just quote the relevant part in full:

1) We are changing talent trees, in some cases substantially. The major focus is pruning out boring but valuable talents that passively increase say damage or healing.

2) A secondary focus is to fix the clunky areas (e.g. warlocks having two conflicting range increasing talents). We’re not going to remove old favorites or radically change the focus of the trees. You will definitely have to rethink your builds however.

3) Because you earn passive bonuses just for spending points in the tree, those fun, niche or utility talents won’t seem as expensive as they do today. We want to create a lot more choices where you are choosing utility vs. utility. We want to see far more “cookie cutter” build guides that say “Spend the last 5-10 points where you want.”

4) In some cases, trees will flat out get new abilities. These are in addition to the new level 81+ abilities.

5) You will get 5 additional talent points for the new levels.

6) We are not deepening the trees. This actually unlocks some interesting opportunities. For the first time, you can reach a 51 point talent and a 21 point talent in another tree.

I recalled that I’d already done a speculative examination of the Druid Balance tree in light of the plans announced at Blizzcon.  I went back to have a look, keeping in mind Ghostcrawler’s summary and stand by my basic analysis.  Hearing GC, though, I suspect I was a bit over-generous with my shears compared to Blizzard.  For instance, I said Improved Moonfire might go away.  Given GC’s comment that “we’re not going to remove old favorites”, I think Improved Moonfire will stay very close to its present form.  It may even receive a buff.

In general, I think Blizzard will be getting rid of all blanket passive damage increases (like the Earth and Moon spell damage increase) and pushing those into passives.  However, I think Blizzard will nerf those passives along the way, and make up for it by moving bonuses into talents that impact 1-2 abilities.

I’m wholly expecting a certain amount of experimentation here.  Blizzard saw a certain amount of success in moving damage dealers to priority-based rotations and proc-based rotations.  However, I don’t think they’re done (at least, I hope not).  The move to add more utility to talents provides the chance to make strings of abilities, and ability chains, viable.

Stepping back from WoW specifically, to make gameplay interesting, you want to present players with interesting choices.  Interesting choices involve a certain amount of unpredictability: they require the player to assess their options with respect to the current situation.  Let me illustrate by pointing at a common situation in Halo: you’ve got yourself an assault rifle, a rocket launcher with a single rocket, and a few grenades.  A group of enemies is ahead of you, with more potentially around the corner, though you’re not entirely sure how many or what weapons caches might be along the way.  You can use your rocket to take out the group, use a grenade and potentially mop up with your rifle (or rocket), or just plow in with the assault rifle.  Already we’re at three basic options, none of which seem, a priori, worse.  The biggest question here is the time that it takes you to kill them, as that impacts the time they have to kill you.  The longer they have, the more chance you die.  Considering nothing else, it’s wisest to hit them with the rocket/grenade, and maybe mop up remainders with the rifle.

That’s generally the WoW option method, particularly in pve: always hit with your strongest ability, because there’s no particular penalty to not doing so: there’s no tradeoff.  However, in the above situation, we’re forced to consider the possibilities presented by the encounters beyond this current one.  If I spend my rocket now, I won’t have it later.  Depending on just how big a group I’m facing now, versus what I think I may see later, I may be better off holding the rocket till later.  Heck, even if I have absolutely no idea what’s up ahead, if I think I can safely take out my current opponents with just a rifle, that is probably the most robust solution.  Rifle ammo is generally easier to come across than rockets or grenades.  Since rockets are generally very effective against vehicles and are easier to aim than grenades, if I’m facing a pack of infantry I’d rather use a grenade if I can; they’re easier to find than rockets.

Halo 3 presents us with meaningful decisions: we have a small set of options at any given time, each providing certain tradeoffs and benefits.  Each option works best for particular situations and choosing among them is not necessarily easy.  We have to attempt to assess the current situation for the optimal course, then help make that choice robust against future uncertainty.

World of Warcraft pve tends not to present meaningful decisions of this sort.  The most complicated damage rotations in WoW tend to be proceed based, and are purely a function of rapid reaction time and being aware of the optimal action.  For instance, because damage rotations are resource-neutral, there’s no tradeoff between burst damage and sustainability.  There are no coordination puzzles, where a series of actions can set up a new situation which alters the optimal action choices.

My hope for Cataclysm is to see meaningful decisions and situational analysis brought into rotations.  More buttons is not purely the solution.  The feral cat rotation, complex as it is, is not the solution, because Ovale can solve it.  Interesting choices are precisely those choices which cannot be easily scripted and require a certain amount of creativity to arrive at a spontaneous solution.

(Sirlin does a pretty solid breakdown of this in his series on game design.)

In pve WoW we’re presented with a single encounter, of a reasonably known duration, after which all available resources are effectively reset.  Currently, ability options are pretty well theory-crafted: we know what is best, in what circumstances.  Those circumstances don’t really vary in a way that’s unpredictable.  For instance, we know whether our target will have the 5% crit debuff on them and how that will affect our damage.  While a proc does add a bit of variety, it’s not a choice to make: there exists a strictly optimal action to take after a proc; the only thing WoW tests is our knowledge of that and our ability to perceive the proc.  Therefore, there exists no uncertainty in optimal rotations – no risk/reward trade-offs.

Let’s assume a purely single-player situation, where only your actions and your enemy’s actions impact your situation (i.e. removing the complicating factors of other player’s actions).  How can we make your damage rotation interesting?  Let’s assume, for the moment, that we’re worried strictly about damage – additional utility of actions is irrelevant beyond the damage increases they can provide.

I think the best way to examine this would be to posit a sort of baseline damage level, which is resource neutral and consistently maintainable – the rough equivalent of the assault rifle in the above Halo 3 situation.  To make things interesting, we want to give players the opportunity to bring their damage above that baseline, but at the risk of dipping below.  The risk derives from an improper analysis of the situation; proper pressing of buttons is assumed to hit the baseline.  To move above the baseline, the player must deviate from it; that deviation establishes the first risk of dipping below.  The risk here is to not let the deviation become a new baseline; this is the situation WoW finds itself in now.

Bear in mind that I’m ignoring things that encounter design, etc. add in.  For instance, if a lot of the move towards variable damage comes from combos of abilities that rely on you being able to remain near the target and encounters involve lots of movement, well, we’ve got room for interesting decisions.  That makes the combo string duration the resource being managed, with very short combos forming the baseline, and the ability to perform strings that risk dropping below the baseline if they don’t complete but increasing output if you do finish them offer up interesting choices.

But can we make a Patchwerk-style fight interesting without adding any core mechanics to WoW?  I would suggest yes, to an extent.  Frankly, I think that we would gain more from Blizzard making utility offer more of an impact…especially because that would support cooperation.  For instance, the ability to proc short-duration buffs/debuffs on command could be coordinated amongst the party.  10-second damage reduction on the boss that’s on a 30-second cooldown…but must be triggered by a DPS class?  Or perhaps a mini-heroism for healers.  I’m talking short buffs, debuffs that can be fed off, etc.  Things that, when coordinated around, produce multiplicative gains over simply pressing them on command.  This in itself is a trade off, because you’re likely giving up a straight damage ability in order to, hopefully, magnify the damage of your group.  The key here would be building these such that there exists a significant difference between using them on CD and coordinating them with the group for maximum effect.

The other way I’d approach this would be decision-making built around trading-off sustained damage in favor of a chance at greater success.  For instance, as a very sloppy example, imagine that, by deviating from the baseline, you can build up an effect…say charges are placed on you over the course of time, but you dip below the baseline damage and you cease to be resource neutral.  You may expend those charges using another ability, taking you back up to baseline.  However, you also have a chance to proc an effect that can magnify your final ability.  However, you’re running out of resources.  If you wait too long, or you’ll miss out on the chance for the extra damage, dipping below baseline until you can work your way back up to it.  If you proc it and use it too early, you won’t use enough charges to see much damage increase.

This is akin to Arcane mages at the end of BC, switching between their high-dps and high efficiency rotations to manage mana between evocation CDs, but involves a more complex tradeoff.  Imagine a fire mage: their baseline is fireball spam.  They may switch to another spell, say inflame, which costs more mana than fireball (taking you away from mana neutral), deals less damage, and has a chance to put a fiery veins proc on you, which increase the damage of fireblast by 10%.  Just blowing charges on fireblast is not enough to bring inflame back in line with fireball damage, though.  Instead, you can cast exploding heart, which has a chance to double your current charges and deals damage to the enemy equivalent to inflame, but has a long cooldown.  Now you have a choice: exploding heart will take this whole combo chain above fireball spam…if it procs.  Further, if you can chain exploding heart procs, you can get a massive boost.  However, your mana is being annihilated here.  The longer you hold out, the more you’re losing over fireball spam, because it’ll take sometime to get mana ramped back up.

That turns mana into a medium term resource to be watched.  We want it to refill quickly, so you can get back in the action.  But we want it to take long enough to be harmful to burn through it all.  We also want the pool to be sizable enough to give people using this method some room to play with.  Then we want to turn buffs/debuffs into short-term resources.  The above example added two abilities and two procs to manage.  Just a couple more, and you can produce interesting synergies between buffs/procs, such that a series of ability chains become viable, based on 1) where your mana is, 2) what triggers you have access to, and 3) what you’ve procced leading to now.

I actually request some feedback here on people’s ideas.  This is something of an interesting design question, and I’d like to hear people’s thoughts.

Read Full Post »

Mourning the Book

Despite the iPad really not impressing me much (though kudos to Apple for really just knocking the name right out of the “good” park and straight into “fucking terrible” land), I am forced to admit that the march of technology upon the backs of books is finally mashing them into their grave.

I mourn the loss of their grandeur, of the heft of the words within their bindings, of the visceral weight of the knowledge within as we move towards libraries stored on SD cards in the torn jeans of some apathetic hipster.  I bow to the inevitability of the death of the book as a physical entity, but I grieve for its passing.

Read Full Post »

Terminal Computing

Apple has revealed their iPad, which has launched various discussions of the utility of tablets.  One of those conversations – highly tangential to the tablet discussion – was regarding computers as terminals rather than the current model of (mostly) locally hosted applications.  Basically, you simply have a monitor at home and enough computing horsepower to send input information over the wire and display the visual information sent back.  A server, or “the cloud” or whatever, receives your input data, processes it, generates visual data, and ships it back to you for your terminal to display.

The concept of terminal computing is nothing new.  Telnet has been around for ages, and many software people use VPN for telecommuting.  Windows has had Remote Desktop since XP.  For a while, Microsoft was betting heavily on terminal computing taking off, but it hasn’t yet.  Why?

On the face of it, it seems like a great idea and the natural evolution of computing.  It’s specialization, right?  Datacenters and server farms can focus purely on providing horsepower and network connections (as they already do), while consumers can spend less for something very much like what they already have: a monitor, mouse, and keyboard connected to a box that connects to the internet.  Presumably savings would be realized in moving all the circuitry out of the box and into the server farms.

OnLive is predicated on precisely this concept.

Network applications are inherently distributed.  Common software engineering design patterns tend to emphasize this (MVC, for instance), which emphasizes this, reducing the need for all software components to be co-located.  If we think of the act of using a modern computer as akin to interacting with a single application, we see this is even more the case.  What that means is that, from a software development perspective, you want to try to get things running in places where they’re most effectively run.  For now, that usually means rendering is offloaded to the client.  Small applications can be offloaded to the client, where there resources are generally somewhat abundant, while back-end logic and data access can run on servers, where locality is important and access is non-trivial.

Effectively, the entirety of computing is very much like running a complex network application.

Now, computer hardware runs has a very interesting curve on their returns per manufacturing cost.  For low transistor-count parts, the cost of adding additional transistors shrinks the more you add…until you hit a certain ceiling, where that trend abruptly reverses.  That implies there exists a “sweetspot”, a processing unit with the most circuits at the lowest cost per circuit.  To maximize the computing power/cost ratio, you want to use as many chips as possible which are in that sweet-spot (obviously the precise optimal transistor/money ratio changes as technology changes).  The broad economics is going to emphasize this, as both suppliers and consumers tend to prefer the sweetspot, if possible.

That optimal chip size also implies there’s a space optimum…that is, you need a place to put the chip, along with supporting infrastructure.  Because of this, co-location implies diminishing marginal returns, once a certain ceiling is reached…eventually, your building just runs out of room, so there’s a very strong drive to insure that only things that most require a giant processing center are actually run there.

By the same token, that manufacturing sweet spot means that, if it doesn’t cost much more to have more computing power, why not buy it (until you hit that optimum spot)?  Which is generally precisely what is done.  For any given space constraint, we tend to fill it with the computing hardware that sits in at that optimal price/performance spot.  Which means that, when people are buying boxes to sit next to their terminal, they’ll probably be more powerful than they need to just to send inputs to the network and render received display info.  That will become more and more the case as time passes, as transistor packages get smaller and smaller and cheaper and cheaper.  Look at the size of the iPad.  Or the iMac.  They’re basically terminals, as far as space requirements go…and yet they come stuffed with more computing power than a terminal needs.  If you effectively are unavoidable sitting on that much computing power, and an application can make use of it…then why not use it, rather than unnecessarily run it in a server farm?

Effectively, the most extreme form of terminal computing will never really be realized because it’s just not necessary or terribly helpful on costs.  Because it’s reasonably easy to assume that the client machine will have some processing horsepower, then asking them to run client applications is a savings for server farms and imposes very little cost on the consumer.

Basically, people who talk about computing in “the cloud” neglect to mention that, by dint of connecting to it, a client machine becomes, to a large extent, a part of “the cloud”.

Read Full Post »

Watching the ongoing evolution of World of Warcraft is something of a unique experience for people interested in game system design.  In few other games do we get the same exposure to the mechanics underlying the gameplay, and in fewer still (most of them MMOs) do we get to watch the ongoing evolution of the game systems.  Developers simply don’t have much chance to iterate on a live game in response to its reception.  But here we have a game which gets to make sweeping changes to the way core mechanics interact every couple years (expansions) along with constant iteration on the pattern set in place by those sweeping changes.

As Cataclysm slowly approaches, bits and pieces of the vision for character systems have been revealed, either directly or indirectly.  Obviously, we had the big direct reveals from Blizzcon ’09.  However, we’ve also had a steady trickle of information from Ghostcrawler about where he sees stat pools, combat, and the like in Cataclysm.  On top of this, he’s also made somewhat clear what he dislikes about the current gameplay, and we can assume he’ll attempt to address this in Cataclysm.

Along those lines, we have this recent series of forum posts from GC which starts talking about protection warriors (who are currently apparently low on the damage totem pole compared to other tanks) and then moves into more high-level discussion about tanking generally.  Two quotes stand out.  First, this one:

Long-term, the paladin manner of generating AE damage and threat is probably too good, especially given how simple it is. To be honest, we have very mixed feelings on the whole AE tanking game. We brought the druid and warrior more in line with the paladin for fear of recreating the Shattered Halls / Mount Hyjal experience, where other tanks just weren’t competitive. What that has led to of course is the AE tank + AE style of damage for almost every pull. You need the tools to be able to tank legitimate adds fights (imagine lots of incoming mobs), but does that mean every pull needs to devolve into that? We’d like to see less AE overall, so buffing everyone’s AE tools isn’t going to be tops on our agenda. That does however mean that we really can’t afford to have a “best AE tank”, and while things are more fair there than they were in BC, they aren’t fair enough.

Effectively, GC is backing away from the entire style of group tanking, particularly in 5-mans, that has come to dominate Wrath: the tank grabs every single add, locks them down with massive aoe threat while DPS rains massive AoE damage on them and the healer just pounds right through.  This style of tanking is new to Wrath.  I actually remember my shock when I first ran a 5-man that was tanked this way…what, know sapping/polymorphing/rooting/hexing/whatever a couple adds to limit damage?  Nope…tank mitigation and healer throughput were high enough that the tank could absorb all that, and AoE dps was high enough to eat through the pulls before healer mana was an issue.  This manner of play has been supported throughout the expansion by Blizzard for a variety of reasons (many of them related to the “Bring the player, not the class” initiative).

The second quote is from a few posts down:

It would be nice if there were more of those pulls. BC might have been too extreme the other way where many of the trash pulls felt like boss encounters in terms of risk and planning. But maybe every third pull or something you’d need to say “Okay, we have to pay attention on this one.”

I don’t think making the tanking abilities harder to use is the answer. I’m not even sure making them do less threat is the answer. If AE dps wasn’t so effective and if tanks were at greater risk of dying to 5 pulls, then we’d end up at the right place anyway.

My point earlier was we aren’t looking to make generating AE threat trivial because hopefully it will be less essential and differences in how tanks AE tank won’t turn into big problems. Some tank abilities are probably essential, such as a taunt, survivability cooldowns and a way to generate snap aggro on a single target (yes, DKs, we hear you). We hope not every tank ability needs to be shared across all 4 classes, or else the druid just becomes a warrior with different art.

We have a re-affirmation to the commitment to moving away from supporting AoE tanking, along with a hint at how they feel they’ll do this.  Any fight is a race to kill them before they kill you.  Once the tank goes, the group is generally gone as well, so the lynchpin is keeping the tank alive while the dps kills everything else.  Because AoE threat is so high, we don’t have to worry about things attacking other group members (though more on that in a bit).  Keeping the tank alive is going to be a factor of the tank’s mitigation and their incoming healing.  As long as healing per time matches damage to tank per time, the tank won’t die.

Incoming damage is a bit more granular though: burst damage can kill a tank because it may be able to ramp up faster than a healer can ramp up their healing to match.  This is something like Gormok’s impale.  You also have the point where healers run out of mana, assuming that maximum throughput drains mana faster than mana is generated.  For wrath, healer maximum throughput has exceeded damage input by a hefty amount except in very rare, high burst situations.  Usually, fights come down to killing things before the healer runs out of mana and/or making sure massive bursts don’t kill people.  Because maximum throughput exceeds incoming damage so dramatically, it takes some time to run a healer out of mana, so unless burst damage is very high, it’s almost impossible that dps won’t be able to kill things rapidly enough.

The problem is that increasing burst damage isn’t the solution.  There’s not enough granularity there, because the maximum throughput of healers, relative to effective health pools of tanks (which puts an upper bound on how much damage an unavoidable ability can do) is so high.  A healer can top off any health pool in, at most, 5 GCDs.  At worst, that’s 7.5 seconds (assuming unhasted, which is darn near unimaginable in most gear these days).  That means that the burst damage has to nearly beat the tank’s entire health pool, plus continue beyond that at greater than the healer’s max output.  That’s a ton of damage, and so open to random fluctuations that you might as well have an occassional “Just kill the tank instantly” effect.  Now, you can distract the healer (and blizzard does that via raid damage and movement) to try and limit their responsiveness, but I think you get my drift: if the boss doesn’t have a chance to damn near instantly destroy the tank, there’s almost no point.

What GC is suggesting is that trash potentially be able to kill the tank faster than DPS can kill it.  However, with the current state of Wrath, this is simply impossible without making trash viciously difficult.  Also bear in mind that Blizzard is now contending with the new world order of the LFG tool.  In order for random groups to work, frustration needs to be kept to a minimum.  Wiping is frustrating.  Thus, wiping needs to be kept to a minimum.  Trash that has the potential to murder the tank if the healer so much as glances away from their health bar is a guaranteed wipe, particularly when you’re trying for a semi-casual experience.  I know I don’t want to have to be at the edge of my friggin’ seat, nose glued to Grid for every trash pull.  So clearly massive burst is not what is meant.

I think it’s now worthwhile to call attention to a couple other broad changes Ghostcrawler has made clear will be occuring in Cataclysm.  First, health pools will be rising dramatically, relative to the increase in damage.  GC has repeatedly stated he wants damage profiles to look a lot more like a steady chipping away rather than the current massive spikes, followed by full.  Along with this, healing output will lower relative to health pools and relative to damage.  Now, I think, Ghostcrawler’s statements about a 5-pull being a threat make sense.  I get the impression that this will come along with the realization of Ghostcrawler’s long-stated intention of making mana more of a concern.  So 5-pulls will be a threat to the tank not because the tank will drop too quickly for the healer to keep up, but because the tank will steadily drop and the healer will be unable to keep up without risking eventual going out of mana.  When you couple that with reduced aoe damage, relative to enemy health pools, you end up with a severe risk of an attrition fight the trash will (eventually) win.  Importantly, though, this will take some time: that tank won’t drop instantly due to a bad pull; the healer can keep up with a sudden increase in damage.  The flow of combat ends up slowing down somewhat, particularly for healers.  Damage is more steady, more manageable, and less prone to sudden changes that are simply impossible to respond to.  This, in turn, implies that groups will have more time to react and adapt during the course of a fight.

That last is important.  It means that Blizzard can afford to make interesting fights, fights that require players to do more, to think more, without forcing them to wipe in order to try something new.  Thus, we can imagine a group venturing into an instance for the first time and pulling just 2 mobs.  However, it rapidly becomes evident to the healer that they won’t be able to keep the tank alive in the face of the damage from both mobs.  Seeing this, the healer can communicate this because the tank isn’t in IMMINENT danger…just eventually, he’ll die if things continue as they are.  Maybe they can plow through because damage is high enough in this case.  Maybe one needs to be CC’ed.  Maybe it needs kited, or maybe some ability is being cast that needs interrupted.  Maybe it’s a positional thing.  Regardless, people now have time to react to this, to communicate and make decisions.  If they don’t, well, they wipe eventually.

Part and parcel with this, I suspect, will be the talent revamp and masteries.  I have a sneaking suspicion that the current, highly role-streamlined talent specs will see a whittling away of their efficacy in favor of utility and reactionary abilities.

Read Full Post »

Keynes v. Hayek

Posted without comment:

H/T ZeroHedge.com

Read Full Post »

I was reading through an interview with the Lead Designer of Mass Effect 2, trying to decide if I was excited about the game or not, when I came across the following question and answer:

VideoGamer.com: What’s BioWare’s approach to breathing life into science fiction through the Mass Effect series?

CH: The goal is you don’t want to be derivative. Everything is like something, we know that for sure. No matter how original we make something, if it has three eyes then it’s like this alien from that property. If it has four eyes then it’s another alien from another property. In general we try to not base anything on any property out there, and just come back to first principles. It starts with absorbing our favourite influences. Obviously there are things we love about the best books we’ve read, or the great science fiction. A lot of Mass Effect is inspired by the feeling of the movies from the late Seventies and early Eighties, like Blade Runner, The Wrath of Khan, Star Trek: The Motion Picture, that early, ambient eerie idyllic future. What we do is we take those magic moments or feeling and influences and boil them down to their principles. What are we going for? What do we like? It comes down to ideas about art style and what makes a great character. Then using those principles then we build back up into something that’s original and come up with our own story, our own ideas for aliens and things like that. That way we avoid being derivative of something else.

At the same time, once we start developing things then we start to look for thematic symmetries, where we go, what is the high level concept really about? What are we trying to say with the story and the universe that we’re developing here? We try and make it a lot more cohesive. That’s how we end up with something that’s a nice combination of being familiar enough, because it’s based on these principles that we all appreciate about great science fiction, and yet it has fresh and original ideas in it. And then at the same time it holds together as one thing, because we’ve looked for those symmetries and themes that all tie it together.

This is absolutely fascinating as it’s essentially a formula for the creation of generic stories.  Start by choosing an atmosphere from a common set of existing stories, producing a setting which is recognisable and filled with pre-determined elements.  Bladerunner is unique for presenting a unique atmosphere: for many of us, it was a very first glimpse of a true dystopian, cyberpunk future.  Star Trek was unique for presenting a strong, grounded future, in total keeping with the Isaac Asimov’s form of science fiction.  But they were original in this.  In developing Mass Effect 2, Bioware most decidedly is not being original: they are stating they did precisely the opposite, at least in the determination of the setting of their story.

Once they had arrived at a setting tweaked from pre-existing visions of the future, they derive a story, founded within the nature of the setting, with their own ideas added into it.  However, the setting itself tends to place severe restrictions on what you can do with a story, particularly when you bring with it the atmosphere.  This is an important point, I think: the atmosphere in which we frame a story places broad restrictions on what you can do with the story.  Telling a space opera, set in a grim mature universe with a humanity struggling towards the high-minded principles espoused by Star Trek tends to say a lot about what you’re going to ultimately be talking about, without a word of actual plot being said.

After putting together the story pieces (and Bioware does assemble story piecemeal, it’s an artifact of the development process that is enhanced by the above described story-development procedure), they then re-examine them and draw them into place within the atmosphere they’d decided on, producing the “cohesion”.

In effect, they’ve created a process for developing generic stories.

Read Full Post »

Some Quick Notes

First, some reading from The Epicurean Dealmaker on Conventional Wisdom.

Second, a review of OnLive (about as I expected).

Finally, another interesting analysis from OKCupid (I love these).

Read Full Post »

Older Posts »