Friday, June 30, 2006

No More Mortar

Small business titles, akin to Ragdoll Kung-Fu or Darwinia have always had one big problem in trying to get published - finding shelf space on the retail store fronts. I've mentioned about how developers are lamenting the current delivery methods and craving new ones, but the problem is more complex than securing a domain name to host downloads for your title. You have to worry about rights management, registration, managing credit card transactions (which isn't exactly easy and risk-free) and customer support.

Think about how iTunes has changed the music space. Instead of augmenting sales channels they started replacing them, much to the chagrin of their brick-and-mortar counterparts. Instant delivery, cheaper costs, more portability, centralized DRM, and a single payment gateway to eat all your money. Valve's Steam deliver system hopes to be the iTunes of gaming - where titles are encrypted and assigned to only entitled machines. Vivendi's fight with Valve just reinforces the analogy... they fear that retail distribution will take a hit in lieu of digital delivery, just as iTunes has made dowloading music a palattable alternative to hopping in the car and burning petrol.

Online gaming sales & delivery have the obvious benefit for independant game developers in that they're easily accessible by the masses, easy(ish) to use and easy to publish to. With digital delivery publishers are also more likely to take risks with unknown titles... if it doesn't sell, it will just sit there taking up drive space on some dusty server. That's a much better condition than boxes sitting in inventory, taking up space and eating up production costs. A billion titles in-stock is a "feature" when you're an online retail presence, a liability if you're a warehouse.

It appears Microsoft's Live! service hopes to accomplish the same thing as Steam, except in the console space. Sony has the same thing lined up for the PS3 - there are signs that they're betting digital delivery to their modest hard drives could reap some possible benefits. If the 360's DirectX development continues to encourage developer participation, and Sony opens up its specs to the world at large, selling a vast catalog of even small titles opens up a whole new revenue stream. Episodic content now becomes that much easier... you can subscribe to the latest $15 quarterly release of your favorite title and have it delivered before it hits the presses. It's like having the latest Archie delivered magically to your breakfast table by mystical lil' wood nymphs.

But it doesn't just stop at home my friends... no siree... because Microsoft is all about the "connected household." They've also announced plans to extend Live! to other platforms, such as your lovely cell phone. This has merits beyond Penny Arcade's target users; imagine a game that's persistent beyond just your console. Complete a quest on your console, solve a mini-game on your cell, and finish it off on your PC - all for the same game. A single title could have playable "fragments" that can travel with you, mayhaps sync'd to a central repository at home or on Live!

It's a clever idea - one that's a good compliment to existing titles. Imagine working on your alchemy skill with Oblivion on your cell phone, then having your inventory reflect your changes when you sit back down on your PC. This sort of pervasive - nay, incessive - environment would keep people addicted to your title for endless hours.

On second thought... maybe society should take a pass on that idea...

Top 10 Signs You're Addicted to Oblivion (Continued)

  1. You walk outside into a bright, sunny day and think "wow, this HDR lighting is really something..."
  2. Your friends don't show up at the pub, and you assume it's just a quest bug
  3. You write a "Top 10 Signs You're Addicted to Oblivion" list

Tuesday, June 27, 2006

Goodbye WinFS, We Hardly Knew Ye

One of the uber-cool features of Vista was supposed to be WinFS, the filesystem that was actually a database. It's not a new concept - Oracle wanted to create their own OS based on the concept (but since stuck with Linux crawling with Oracle contributions), and IBM has been doing that with the AS/400 since horses were brought to the Americas. Lotus Notes keeps most of it's file info in database tables, formatted in largely unconstrained recordsets. But those implementations were more server-centric, used to accelerate huge tables of data. WinFS was supposed to bring order to the average consumer - and finally catalog the bazillions of MP3 files we all have.

It's a good idea when you think about it... and something that Google Desktop is already capitalizing on. Now that hard drives have reached astronomical sizes it's getting harder and harder to find that Christmas card list you built two years ago. Google Desktop extracts a basic summary out of each file - the meta-data out of the data - and keeps that in a big honkin' index. That way when you search for a file, it can do an extremely fast lookup in the index instead of sequentially looking at each individual file on the drive.

WinFS takes it one step further... all "files" exist purely as records in a database schema. This can be pretty liberating when you stop to think about it - no longer do you care about what directory a file is in. You don't even need directories anymore. You can instead organize files and information any way you want as "views," or collections of records.

For example, say you have a lecture your grandmother gave on neutrino collisions, saved as an MP3. In the old filesystem model you might have a folder for MP3's, a folder for family collections and a folder for general relativity. Which one do you put it in? With WinFS you don't care - you store the document once, then you can have different views called "MP3's" that show you all your MP3 files, another view called "Family Collections" that have family members in the ID3 genre, and another view called "General Relativity" that sorts off the file's topic. The file is in one physical place on disk, but is listed under three separate views.

It's easy to see how this can be utilized with multimedia files and office documents... your music can have a ton of different, virtual "folders" by album, title, artist and genre, but the file is still only in one place. Using the old file system model, you'd have to copy the file over and over again.

There's one problem tho: this method requires a lot of computing beef. You're basically running a massive, 750 GB SQL Server 2003 database on a consumer OS. Not only does this eat memory and CPU cycles like candy, but you also come up with a whole mess of file integrity issues. BeOS tried to do this before, but there's a slew of problems running a filesystem-as-a-database-in-userspace. First off... if you lose power in the middle of a write, how do you recover? Was the data lost in the filesystem, in the database, or when being committed to disk? What about deadlocks? If you have 5000 I/O requests hitting the filesystem at one time, to you lock the database and handle each request sequentially? Do you do some sort of record-level locking? How to you stop deadlock states from a huge queue of I/O, especially with writing out to temporary files or performing huge non-sequential reads?

As far as gaming goes, WinFS would likely be a nightmare. Not only would your resources become sparse, but doing large sequential reads or small file lookups would suddenly become a drain. No longer can you just jump to an .ogg and start streaming it... you have to basically change an open file request to execute an SQL statement which gets the file as a record and then returns the file handle. Your filesystem with quick search time has just become an unnecessary bottleneck.

In the end, you have to start building a journalled filesystem on top of your journalled file system. Maybe create a separate partition that's database-centric, another partition that's node (or allocation table)-centric. Then Occam's razor comes by and stabs you repeatedly, harshing you for building some weird golem of code.

You know what ultimately can get you 90% of the way with 10% of the complexity? Symbolic links, a good journalling file system (like EXT3 or ReiserFS) and a good desktop search tool. Which is where we're at today.

It seems as if Microsoft has finally come to the realization that a filesystem based on SQL Server was just unwieldly. They first receded WinFS' scope by just bolting it on to NTFS, tantamount to the weird file system amalgam. Now it seems they've dropped WinFS altogether, perhaps realizing that the BeOS developers had a point after all.

We should probably all be happy about that. It's taken Linux devs log enough to reverse-engineer NTFS, after all.

Thursday, June 22, 2006

Oblivion: Pea Soup or Peanut Butter

Alright... I'll do my best to stop my Oblivion rants here. I already railed on poor town loading, the invisible walls and the auto-leveling system. But the sole reader of this blog, good ol' Rocky, told me that the mod community has once again come to our rescue.

It seems like I'm not the only one who believes Oblivion is, at times, half-assed. GameSpot's article "Oblivion: Make it Pretty" brings to light several important points. When looking at terrain deep towards the horizon, things start to look more like it was written in Microsoft Paint as an 8-bit bitmap. I didn't realize that Oblivion forum magnates already had a term for this kind of rampant pixelization: "pea soup." Right on.

But yea, GameSpot offers an amalgam of hacks in order to set things straight, including:
  • Engine tweaks courtesy of TweakGuides, which fix water reflectivity and, like so many TweakGuide hacks, allow the engine to actually use the RAM you have
  • Fixes to texture resolution and normal maps, so distant textures scale correctly
  • Max Tael's "Natural Environments" mod, which changes weather patterns and textures to be more realistic and true to life. My jury is still out on this one; while it's nice to retexture in the name of realism, I worry about changing the Bethesda's artistic vision too much. I'm definitely of the mind that the artwork in-game is an expression of the artist, and if you change one you change the other.

    Tycho also has his list:
  • the bookbinding mod which re-skins and proofreads the books in game, and
  • BTMod, which offers a more "PC Centric" experience by reorganizing the UI

    Brad (by way of Rocky) also offered up the Open Cities mods, such as:
  • Chorrol with its city gates removed, as well as
  • a wide open Anvil. Notice both of them state the goal is to be more Morrowind-like.

    The Oblivion Mod Wiki loves:
  • Beautiful Stars and
  • a Better Night Sky
  • Stopping psychic guards from noticing you did something wrong, even if it's in a basement under a lake under a cave under a rug, and mystically teleporting themselves right into your shoes

    And Atom PC's:
  • Unarmored skill set, which was in Morrowind but somehow omitted by Bethesda in this incarnation
  • and the Actrobatics unarmored skill set, a cousin to the previous mod

    The crazy thing is these are all mods that don't necessarily add anything radically new... they fix what is already existing. There's tons of mods out there that add or enhance new content... but these are just the ones that "fix" existing content. While I might skip some of these that change the artistic vision or might cause some quests to be wonky, I'm definitely going to make the engine tweaks.

    It's good to know I'm not alone in thinking things are kinda... uncanny.
  • Monday, June 19, 2006

    The Invisible Wall

    My time during waking hours is pretty limited... so my Oblivion binges are largely limited to the twilight hours. That usually works, until my addiction becomes so ravenous I go on all-night benders that would even rival Gabe's WoW vices.

    As my time has become more precious, I've started to judge titles more and more harshly. If I'm going to throw hours of my life out the window, it had better be for a damn entertaining game.

    As my past... months of posts no doubt indicate, my current ball-and-chain is Oblivion. I'm a big fan of the American-style RPG, with it's roots in the good ol' pencil-and-paper heritage of the original tabletop role playing games. The emphasis on character building and non-linear storylines is what's appealing; American RPG's offered "sandbox" environments before the term became pop culture with the rampant consumption of the GTA titles.

    Japanese RPG's, by contrast, are much more linear and story-focused. Their roots are more cinematic, or perhaps more art-as-narrative driven. There everything fits together as a seamless whole, to be consumed instead like a good graphic novel.

    Of course, I'm being pretty stereotypical. There are plenty examples of titles from each locale crossing these boundaries, but I'm not speaking geographically, I'm speaking about the genre

    The reason I bring this up is because with the Japanese RPG's, one becomes accustomed to limitations being put on your actions. You can't walk offscreen. You can't kill off NPC's that are staples of the theme. But that's okay because you're playing on behalf of the protagonist, not your character.

    Conversely the American RPG makes you take ownership of your character. It's the embodiment of the ideal PC. And his options are supposed to be limitless. Of course, for all practical intents and purposes you can't have a game with the landmass of the whole Earth, where it takes months to circumnavigate the entire unique space. There has to be some limitation - but it must feel like a natural limitation.

    I'm going back to Morrowind (sorry Rocky) for examples. Here you have the general cop-out of surrounding the entire navigable area with water. That's a natural boundary - normally one can't swim across a lake (my lazy butt can't at least). Mountains are good too - you just make mountains so steep they're naturally insurmountable, then voila! a natural barrier. Morrowind did that perfectly... only naturally-borne obstacles stood in my way; never did I encounter some "invisible wall" which prohibited me from progressing further.

    Let's look at the diametric opposite of this design decision. Ever play a snowboarding, skiing or skating game (such as the infamous Tux Racer) where you fault skywards, cut to the extreme left or right, but only get stopped by some unseen, invisible, frictionless wall that stops you from going any further? The level designers stopped at this boundary - and so your avatar simply can't go past it. You may be able to see past it... it may appear to go on forever... but damned if you can actually go there.

    Oblivion, much to my chagrin, does both. I was just strolling happily along when I decided to fill up my alchemist's bag with St. John's wart or Slim Jims or something akin to that when suddenly I hit the infamous "invisible wall." A message pops up onscreen (I hate those messages) that informs me "you cannot go any further." What? Of course I can... I can see the damn hills beyond! Why not?

    I mean, just have some sort of archangel swoop by and cut me down. Or may some impassable gulch. Or flying monkeys. Whatever. But don't invent an invisible wall and say "you cannot go any further." I'm supposed to "live" in your world. Livable worlds don't have infinitely tall glass walls with warning messages on a console.

    While I'm on my rant, I also have to rail against Oblivion's "automatic leveling system." You see, in Morrowind everyone is basically "born" with the stats they have. When the world is generated, people have a given strength, HP, ability, weapons and they stay with them. Cliff racers, annoying tho they be, always do the same damage and can take the same amount back. The populous at large, both bandits in caves and passers-by selling hot cross buns, all retain their same level of fortitude and ability. Just like in real life. While this sucks for the character just starting out, later characters can clean house. At beginning levels you may accidentally meander into the wrong cave and be instantly mutilated, but two years later you may go past that very same cave and clear out all inhabitants with a mere twitch of the wrist. It makes those of us who were once tossed head-first into trash cans feel empowered.

    But with Oblivion, Bethesda had the idea to make the game more "accessible" to entry-level characters. The difficulty of your combat is in direct proportion to your current skill level. That way you could just stick to the main quest, hammer through it quickly and still take people down before you leveled up to double-digits. The downside to this, however, is the meager wolves that try to eat your horse's shins go from acquiescing after a quick rap on the nose to being able to survive past strikes of lighting directly up their posterior. Once just moderate wildlife, the become elevated to the status of uber-wolves wandering the wilderness. So now the random furry four-legged creatures still take a good four direct hits, no matter if you're level 1 or 100. Call me crazy, but if I can dole out 110 points of damage through my fingertips then I should be eating mountain lion flambe in no time flat. If I can survive a warhammer to the head I should be able to sustain a bear gnawing on my toes.

    Minor quibbles... I'm still addicted enough to forgo sleep just to save Bruma from the random Gallagher attack. But those two anti-reality mechanics are enough to pull me away from the current universe I'm engrossed in and actually glance up at the clock.

    Friday, June 16, 2006

    Top 10 Signs You're Addicted to Oblivion

    1. You could swear you just saw some nirnroot outside your window
    2. You just punched a mountain lion
    3. You attempt to summon a flame atronach to make you a grilled cheese
    4. You keep threatening, bragging, joking and complimenting people in quick succession
    5. You try to bind a daderic cell phone instead of having to carry one around
    6. "Screenshot: File 'Screenshot982.bmp' created"
    7. You skip signs 8-10 so you can get back to Bruma

    Tuesday, June 06, 2006

    Squash Go the Mods

    There was a fairly... clumsy interview with Carmack not too long ago, mainly asking the same bad questions about his MegaTexture algorithm (basically being able to map huge textures to huge meshes, even ones with steep deformations). One interesting nugget was about smaller mod teams and their ability to make an impact in light of new technology: general, all the technology progress has been essentially reducing the ability of a mod team to do something significant and competitive. We've certainly seen this over the last 10 years, where, in the early days of somebody messing with DOOM or QUAKE, you could take essentially a pure concept idea, put it in, and see how the game play evolved there. But doing a mod now, if you're making new models, new animation, you essentially need to be a game studio doing something for free to do something that's going to be the significant equivalent. And almost nobody even considers doing a total conversion anymore. Anything like this that allows more media effort to be spent, probably does not help the mods.

    Another argument that new tech is mainly aimed towards big teams. It's seeming more that it's procedural content generation that's way behind the times now, not the rendering engine itself.

    Sunday, June 04, 2006

    DooMed Music

    I recently discovered The Dark Side of Phobos, a modern remix of the good ol' DooM standards. It has some great covers - most of disc one is pretty solid. Definitely worth giving your big ears a listen.

    I had seen people employ other tricks, such as use a high-end MIDI synth to remaster the original soundtrack, but wanted something more since I can't find Bobby Prince's original soundtrack anywhere.

    Saturday, June 03, 2006

    Brother, You're Grounded

    Just got a new printer - a Brother HL-2040. I think the last Brother I had was a dot-matrix printer (300x300 dpi! w00t!). With the insane cost of inkjet cartridges, I needed something that could barf out text with the cheapest cost per page. The HL-2040 was about as expensive as a new round of color/black cartridges, and would last a helluva lot longer. Brother had a pretty good rep with Linux support, and even had a fairly good library of Linux drivers and specifications (even if the drivers were LPR).

    The weird thing was that whenever the printer arose from a slumber, my lights would flicker and my UPS' would kick in. Checking the UPS logs, they had to switch to battery due to "line noise." A bad AC sine was usually an indication of a bad ground, so I took a look at the printers undercarriage with my handy multimeter. There were a lot of chassis ground connects, but they all were grounded correctly. Cable seemed to be grounded correctly, too.

    I contacted Brother's support group, and here's the response I got back:

    Dear Brother Customer,

    Description of Symptom:19266

    The lights in my room flicker when the printer is warming up or

    Description of Solution 500000025996

    HL2040 PS QZ01 Lights flickering or dimming when using the printer can
    be explained by the following information. The average operating
    currentfor the printer, as determined by Underwriters Laboratory (UL)
    testing is 8.6 amps. However, when the fuser is cold or when the printer
    is warming up, it will jump to 40-42 amps. This is a design element to
    enable the printer to get ready for a quick time to first print. The
    power spikes up to ready the printer quickly. Sometimes the spikes will
    cause lights to flicker as the power is drawn.

    The printer has been tested and approved by UL. The printer will not
    damage home wiring. UL has confirmed that the home circuit breaker
    wouldtrip before any damage would occur. This design element ensures the
    printer performs 20 pages per minute printing and fast wake up time.
    This design cannot be altered and is not an indication of a
    manufacturing defect. We do recommend not to share the same power
    circuit with other high-power appliances, particularly an air
    conditioner, copier, shredder and so on.

    Note the copy-and-paste from a knowledgebase. I'm guessing they get several e-mails about that. A 42 amp jump seems to be enough to stress the circuit in the room... so I guess I'll just have to be glad I have a UPS to protect me when the printer eats my AC.

    The Sketchy Side of the Brain

    When I first started creating 3D meshes, I thought that sketching out models ahead of time on graphite and paper was an unnecessary step. After all, if you're going to create a 3D mesh, you need to think in 3D, right? Wrong.

    I quickly learned when trying to build my own human mesh that reference images were invaluable. In fact, without them proportion and scale just weren't even possible. Was this just a limitation of my brain, or was translating from 3D to 2D to 3D just too much of a jump?

    Looking at all the "behind the scenes" material of the major titles released, it's obvious that every mesh has to be sketched out first, even if the final mesh doesn't remotely resemble the original concept art. I could come up with plenty of concepts, I just couldn't do the art... so I decided to see if I could learn how to do some actual, "correct" drawing. To learn I've been working with Betty Edwards' book "The New Drawing on the Right Side of the Brain." It's an excellent way for people who have never graduated beyond stick figures to draw something that's actually realistic. In about one week I've been able to start drawing stuff that doesn't suck.

    Betty does her best to get people to open their "artist's eye" by explaining things in a left-brain/right-brain sort of way. The basic premise is based on the same sort of layman cognative science that we've heard for a while: the "left brain" is responsible for things in a sequential, verbal and time-based context. The "right brain" manages spacial, differential and big-picture solutions. Her excercises come back to trying to get the left brain to shut up so the right brain can do its work.

    She uses the standard exercises of constructed picture planes for coordinate reference, countour drawing and the like to teach, but also throws in some extra tricks to help get you up to speed quickly by awakening a more spatial brain state and "drawing things as they are."

    Looking at the Amazon reviews most people think the cognative science aspect of it is imaginary. After six chapters, though, I'm pretty sure she's on to something. This sketch of my hand isn't that bad, and would definitely be passable as concept art or a reference image for a mesh. I'm happy with it.

    The more I get into game design and content creation, the more I realize there's a helluva lot of learning one must do. This is no longer the quick "indy developer" scene - you have to be a jack of all trades. Any more I'd suggest any game developer take a quick course on how to draw, learn a good 3D package, do some sample material work (with textures and shaders) and then start the coding. Gone are the days when a lone coder could whip up a few pixels and create a game... now content, and content generation, is king.

    Friday, June 02, 2006

    Congratulations to A Dozen

    Congratulations to the Geeks Eye View podcast for making it to the 12th episode. I believe Rocky mentioned that most podcasts don't make it past 10... so this is indeed a testament to the endurance of GEV. I tried to derail the project by making widely inappropriate comments in three episodes (one didn't air), but alas they've survived despite me.

    Huzzahs and w00ts to Rocky, Phil and crew.

    Project Assassin

    Good ol' Gamasutra had an interesting article about Ubisoft Montreal's latest title, currently called "Project Assassin." The most interesting facet is the dedication to realism, and getting rid of some of the annoying "gameisms" that always seem to bug me.

    For example, no longer are certain textures "climbable." Now, any surface that has a relative extrusion of over 10 cm can serve as a grip. Also, player-to-player kinetics make more sense, since you can now "push" characters and have them react as if there was leverage on that part of their body. No longer should they just slide away as if they were standing on pats of melted butter... instead they should teeter appropriately.

    That's not to say they haven't eschewed fantasy altogether. There is still the crazy acrobatics, leaps off walls and kung-fu midair jumps, but they're much more akin to freestyle walking than The Matrix.

    It's not that there is anything wrong with gameisms like the infamous double-jump... but if you're shooting for realism there's kinda the sense you should go all out, lest you fall prey to the uncanny valley where most titles seem to live now. In Morrowind I didn't have an issue with the fact I couldn't slide-tackle people in the streets. But it bugs the ever living crap out of me that a minotaur in Oblivion can swing a eight-foot warhammer into his adjacent brother, who is bloody standing right in front of him, and the only effect is that the hammer pops in and out of the mesh like a pillar of smoke. And yet if I come within three feet of the swing's radius I go flying at breakneck speeds. It bugs me since Oblivion is good enough to live in the valley, Morrowind wasn't quite.

    Maybe Ageia was right after all... interaction is the "next big step" for realism. Even surrealism. Now we just need an accelerator for per-pixel collision detection so we can climb all those newly extruded surfaces... Heck, they're talking about network acceleration cards for lower lag, why not?

    Seriously Sick

    While I was sick last week I kept debating the same thing, over and over, a billion times before I jumped in the car: should I go to work or stay home?

    A recently Slashdotted story gave the argument more weight than usual. In particular I found the comments about the article compelling (comments in a Slashdot article compeling? What the...?). Given that I know of many people who are now getting yelled at for working only fourty hours a week and taking time off that they are allowed, I think work culture is definitely shifting to a permanent 50 hour work week. Not only that, life itself is getting more stressful. This isn't the idyllic America that everyone pictures, with two kids, a dog and a white picked fence. This is the America where two parents both work ten hours a day, families see each other on the weekends, costs of healthcare are growing at an exponential rate and drugs are being rammed down our throats at an ever growing rate. Looking at the haggard, exhausted looks on my pharmacist lately goes to show how she's starting to pull 60 hour weeks, too.

    TheServerSide posted an article for comment about how not pacing yourself and limiting the hours per day is quite counterproductive. I'm definitely not a proponent of eXtreme Programming, but I definitely think the practice of keeping a "sustainable pace" makes immediate sense. If mental acuity is required for your job, letting an LCD backlight burn into your retinas for ten hours a day doesn't exactly help the cause.

    We get sick, we can hardly focus enough to get behind the steering wheel and yet we go to sit behind our desks and infect everyone in the general proximity. Why? Because we're afraid. We're looked at as a liability, a cost in the general ledger. We're commoditized workers, something that can easily be purchased elsewhere at a discount. We're no longer seen as knowledge brokers or experts in a field. In this game you're either a company man, a power player to the end, or you're not.

    Maybe that's not true. Maybe it's just suburbanite fear. Maybe the whispers behind walls are just subliminal messages meant to keep us tethered. Maybe I'm not paranoid, just everyone is out to get me.

    I see how the people who spent their weekend behind a console are favored, and hear the rumblings when someone calls in sick for the second time in two weeks. And it's human nature to wonder what people are saying about me.