Being bored over my four-day weekend, I decided to give Second Life a go. I mean, a game that has a real currency exchange which changes around US$250,000 per day can't be all that lame, right?
There's one fundamental flaw with Second Life: The client (they call it the "Viewer"). It's poorly written, and usability is terrible.
As an ex-gamer, there's three things that'll make or break a game for me:
- Frame rate
- Usability
- Responsiveness/latency (to some extent).
Second Life fails on all fronts. The graphics in SL aren't anything smashing:
The complexity of avatars and landscapes are comparable to the meshes in Quake 1 or Quake 2. The main difference is the world is huge, so your machine has to dynamically request and load the landscape, models etc. Similar to the Quake engine, scripts (such as moving objects) are run on the server-side. But the graphical complexity is certainly nowhere near the level of Quake 3 or Doom 3.
So why does the client perform so poorly? On my machine, I'm seeing an average frame rate of 6 to 9 frames per second. Quake 3 and Doom 3 on the other hand run smoothly (20-30 fps, depending on the amount of particle activity).
Almost as bad as the frame rate is the usability of the client. It feels like the client was written by idiots. It's completely unintuitive, and worse, not reconfigurable. In a setting like SL, with vast wide-open landscapes, you would expect them to stick to conventions other games have set, namely, Diablo or Dungeon Siege. Left click once takes you to where you clicked. Maybe a right-click menu for 'additional actions'. Instead they've chosen to take a first-person shooter-type approach, with the user having to navigate to where they're going using the arrow keys on their keyboard.
Worse than the poorly thought-out usability is the implementation of progressive loading. In a setting like SL, you should never see buildings progressively render from polygons. And you should never see models with no textures applied. But that's what you get in SL. Worse, is when signs giving you instructions render at a lower resolution while the client 'waits' for a higher-resolution texture.
If the Second Life client were done properly, it'd be written by ID Software or Westwood studios. With any luck, the open-sourcing of the viewer code will result in some better-written clients.
Stay tuned for "Surveys dominated by cheapskates".