Thursday, September 07, 2006

Exactly How Many PCI-E Slots Does One Need?

I'm pretty much hammering this subject into the ground, but then again so are component makers.

Recently we saw Ageia's physics accelerator come to market as an add-on expansion card, astride your existing video accelerator and sound card. Next we saw the Killer NIC reviewed by IGN, a "network interface accelerator" which promises to offload the assembly of TCP and UDP packets to take load off the CPU. It's actually an embedded Linux instance, assembling your TCP stack instead of Windows. Windows just sends the Killer NIC raw datagrams, then the Killer NIC does all the work to disassemble the datagrams into bare signals over the wire.

Now there's supposedly an accelerator in the works, the Intia Processor, dedicated to nonplayer character AI acceleration. It would offload AI processing from the CPU and instead have a dedicated API for pathfinding, terrain adaptation and line-of-site detection.

So let's count the possible gaming accelerators here:
  • Sound (i.e. Sound Blaser X-Fi)
  • Video (i.e. NVIDIA GeForce)
  • Video (additional NVIDIA GeForce for SLI)
  • Physics (Ageia PhysX)
  • Networking (Killer NIC)
  • AI (Intia Processor)

    So that eats at least six slots, but if you have double-wide video cards, more like eight. Oh yeah, and you'll spend nearly $1,500 on just the above hardware accelerators alone.

    This is a cycle that repeats itself in the computer world, tho. Popular software algorithms become API's. API's become baked into hardware. The hardware becomes to inflexible and becomes firmware. The firmware isn't flexible so it goes into software. And on and on we go.

    But this hasn't necessarily happened for OpenGL or graphics acceleration. Why? Because there you're not baking an API into silicon, you're using a different type of processing unit altogether to solve a different genre of problems. Multiple vector processing pipelines can streamline linear algorithms much more effectively that complex instruction set CPU's. The same analogy can be made for floating point units when they were introduced along side elder CPU's that could only handle integer math.

    Not only that, we're looking at chip makers shy away from raw clock speeds and instead looking at cramming as many CPU cores as possible on a single die. This allows for every CPU stamped out of the factory to be a multiprocessor machine. Once API's become more threadsafe, this crazy specialized hardware will instead just be an API call sent to one of the four idle CPU's on someone's desktop.

    I think the eventual result of this crazy hardwareization (feel free to use that one) is that people are going to want to fit their algorithms into one of three processing units: the CPU pool (by "pool" I mean a pool of processors upon which to dump your asymmetric threads), the VPU (vector processing unit) or the FPU. The CPU & FPU have already become as one but as any C/C++ programmer can attest to, the decision to use integer based math as opposed to floating point math still rests heavily on the programmer's mind.

    Given people are already compiling & running applications on a GPU that have nothing at all to do with graphics, it's only a matter of time before chipset manufacturers come up with a way to capitalize on the new general purpose processing unit.
  • Sunday, September 03, 2006

    My Platforms are Still Supported: New Product Announcements

    A few interesting product announcements of note. First, it turns out that Assassin's Creed (which I mentioned earlier for its innovative reflection of reality) isn't going to be a PS3 exclusive after all - it also will have a PC version released. Good news for those of us who don't own, nor plan to own, a console to game on. I've lived in HD for about ten years now, man. Thanks anyway.

    To any point, this is fantastic to hear. I was psyched about how this title would handle physics, collision detection and character constraints, and I'm looking forward to picking up a copy.

    On a somewhat related topic, SPEC has now released SPECviewperf 9 for Linux. I think this is a fairly big deal - the fact that SPEC believes Linux is a platform that can handle actual intense rendering shows a level of confidence in the platform that everyone but NVIDIA has been slow to realize.

    Saturday, August 26, 2006

    Rampant Flashbacks

    I finally watched Carmack's presentation at QuakeCon. He mostly discussed the fun of hacking on new and differnet platforms, how parallelization is inevitable but is also an extreme engineering chore, and open sourcing older engines.

    He brought up an interesting point - he mentioned he was suprised that no one has yet launched a commercial game based on one of his GPL'ed engines. At first I thought how... unique it was for him to want someone to capitalize on something he dedicated his life to then gave away for free. Then I started to wonder why that was. True, everyone took the sourced engines and ported it to every platform under the sun. That's nifty. But it is somewhat surprising that no one has launched a commercial game on an engine that's not only free but definitely tried-and-true in the marketplace.

    In the latest GDC Radio podcast about marketing departments versus developers, they mention how modding or using an existing engine to prove a game concept is usually a quick way to demo something and prove a game function. Carmack also talks about that, mentioning how the mod community is very important and can realize all sorts of gameplay without the huge R&D. However, he also mentions that mods are (or at least their total conversion counterparts) are becoming increasingly rare, probably because the emphasis has now shifted to content creation, and without a team of artists it takes exceptionally long to generate good looking content.

    It's interesting to sit back and watch the trials of the CrystalSpace community and how it mirrors... or at least proves... the difficulties in independant game development. They recently had their first international developer conference, and it was interesting the topics that were discussed. It seems like only in the past year has the emphasis really been content creation and building working demos. The engine is absolutely fantastic, but now it's the sweat and tears of taking a title the rest of the way. Take a look at the projects page for CrystalSpace and compare that to the number of titles actually completed (or at least still actively maintained). It's tough to get off the ground.

    All this talk of the original mod community and Doom made me a bit nostalgic for my roots. For the hell of it I fired up my good ol' Doom installer... and took it for a run.


    Seeing that ol' DOS installer brought back a rush of old memories... if I closed my eyes I could hear the hum of my Acer 486/66.

    Friday, August 25, 2006

    GREAT DAY IN THE MORNIN'...

    A Penny Arcade eposodic gaming title. I crap you not.

    There can be none higher. Everyone, turn in your compilers and heightmaps. The battle has been won. And Gabe and Tycho carry the prize.

    Thursday, August 24, 2006

    Darwinia's Defcon

    I was so uber-psyched about Darwinia it was ridiculous. I was hopelessly addicted to Introversion's Uplink, which is still by all measures a great game, I was sure Darwinia was going to be the culmination of my being. Alas, mere weeks after I started playing, I stopped. It just didn't grab my attention enough to warrant stealing away the little free time I have.

    Now the press is showing the same ridiculous anticipation towards Defcon (check out the trailers), Introversion's latest brainchild. It seems to keep the same sort of nihilistic layout, UI and score that Uplink had, which is perfect for the isolated, distant war machine they're hoping to portray. But my Darwinia experience keeps me at bay, wondering if they're going to get this one right.

    Looks like Uplink with warheads. If that's what it ends up being, this may just be another hit.

    A Brief Tangent on Printing

    Every so often, there's a weird lil' Windows twitch that I'm called on to support. Here a printer connecting to a Samba print server was taking for-freakin'-ever to spool documents to the remote queue - along the lines of 90 seconds at a time. It wasn't a pause due to an IP resolution or the like... instead Windows was sending massive freakin' amounts of traffic across the line. I'd evesdrop using Ethereal and hear tons of noise... absolute floods of SMB traffic.

    I love the Samba listserv posters. I really do. They had traced this back to an issue where Windows XP will open the properties of not just the printer you want to send documents to, but every other printer on the server. Get one bad apple, and you're sent into a backfill of network requests.

    Luckily they had found the way to get rid of this brute interrogation by hacking off a few registry keys, which saved the day. But its another minor annoyance that leeched time away until my very being was sucked dry without me noticing.

    For those wondering, it was basically just a matter of hacking off the entries in HKEY_CURRENT_USER\Printers\DevModePerUser and HKEY_CURRENT_USER\Printers\DevModes2.

    Back to our regularly scheduled program.

    Wednesday, August 23, 2006

    Xbox 360 Indie Development?

    Rocky pointed me to an interesting announcement (first seen on Gamasutra, then expanded upon later) that Microsoft will be releasing a special "XNA Game Studio Express" - which from what I can gather is a rebranded version of Visual Studio Basic and DirectX bundled together. Their selling point is offering the "XNA Creators Club" for $99 - which sounds something akin to the Microsoft Developers Network (MSDN) for independent game developers.

    Now, this would make sense if they allowed you to have an easy-to-use build and test environment for the 360. But instead it appears their way for copying code to the Xbox is uploading all your source and content to the KreatorsKlub, compiling for the 360, then obtaining it via Xbox Live. "Games developed using XNA Game Studio Express cannot be shared through a memory card at this time."

    Rebranding Visual Studio, DirectX and an MSDN subscription as the "XNA Game Studio" is kind of a stretch... but hopefully it can lower the entry point of creating a development environment and let people focus on content creation earlier. And as any developer can attest to, establishing a build environment can be excruciating at best.

    It is interesting, however, that GarageGames has started promoting its Torque engine for XNA. This can bring a serious producer of indie titles to the 360... and could definitely offer an interesting range of titles (and markets) to Xbox Live. If Microsoft would offer an easier way to test & prototype on the 360, they could see a huge influx of titles, and could easily become the indie hacker's platform of choice.

    Saturday, August 19, 2006

    Power Equals Work Over Time

    Notice anything missing?

    Our friends at Antec have had my PSU for over a week now. It started making a very high-pitched squeal when running, which confirms that the switching circuits (I think) started to go. So I sent it back for an RMA on Friday, and it arrived at Antec's door on Monday morning.

    A replacement unit has finally shipped from California last night... but that means it won't be at my doorstep until Wednesday at best. And since my computer lacks any means to provide power to its wonderous self, I'm left with this suck-ass laptop with an ATI card that displays whatever resolution it damn well feels like, forget it if it's an awful 1024x768 on an LCD monitor that has a native resolution of 1280x1024.

    Soo... all work that I need to do on my latest "projects" have slowed to a crawl. Crap.

    Wednesday, August 09, 2006

    The Enigma of TV Movies

    Have you (or your significant other) ever been sitting on the couch, mindlessly watching an edited-for-network-TV movie, replete with commercials, even though you own the same, unedited, high-definition, 5.1 audio movie in your DVD collection? You may even offer to drop said DVD into the strategically placed player, mere inches below above TV, only to be stopped short because "they're just watching it because its on." Because it would be silly to watch it if it wasn't on.

    It the very same enigma that means the living room PC will never take off, as so observed by Slate. A media center PC would mean finding the remote, switching to the right input on the set, navigating through a few menus, deciding on an option, then actually hitting play. The alternative is randomly navigating channels until you find a Full House rerun. Whilst you may have a more edifying experience with the former, the cerebellum would rather turn itself completely off and opt for the latter.

    It's also the same reason why Internet Explorer owns the majority share of all browser traffic, in spite of its awesome list of well-observed glitches. It's why so many people play solitare on their PC. Hell, it's why Windows won the OS war. It's just on. It's already there, and installing/inserting something different would require the cerebellum to turn back on, and unfortunately 50 hours of mind-numbing tomfoolery at the office has beaten it unconscious.

    If one wants to penetrate the vast sea of casual gamers out there, you have to make something easier to aquire than finding a DVD and watching it on the TV. Why are Flash games so popular? Bingo. Easier than a DVD.

    Mebbe the next frontier isn't the game per se... it's the installer. Direct into your brain. Or whichever pieces of it remain working.

    Friday, August 04, 2006

    Distributed Development

    Gamasutra recently released the conclusion to their two-part interview with John Baez, whose company The Behemoth created the 2D title Alien Hominid.

    The interview largely focuses on how a small, naive start-up was able to "make it" (albeit still without making a profit) and the lessons they learned. They have even been able to make distributed development work - with two offices, and even individual developers, on opposite sides of the country.

    It's an interesting contrast to the current "small companies don't have a chance in hell" talk that is currently floating around. Admittedly, The Behemoth serves a largely niche market, but they're fine with that. And they're still paying salaries. A company has gone alone, taken a title that no one wanted to touch, written it with decentralized developers, and published a title to the PS2, GameCube and 360. They also have merchandising to go along with it, banking on some very original intellectual property.

    12.8 Minutes of Gaming

    In the August 2006 Reader's Digest (shut up) I noticed the following ad on the penultimate page...



    This ad for the Nintendo DS then goes on to push Brain Age, Nintendogs, Magnetica and True Swing Golf. Brain Age being, of course, the latest rage for casual gamers 30 and over.

    It was interesting on several levels: a) this was in freakin' Reader's Digest, b) this was the first overt marketing pitch that I've seen specifically targeting the 30+ crowd, which of course is the demographic that not only is the most plentiful but has the most purchasing power and c) This is obviously Nintendo getting ready to position itself (quite intelligently) not on raw horsepower, but on gameplay and ease-of-use. This is in direct contrast to Sony and Microsoft, and stands to turn decades of console marketing on its ear.

    Given how peeps not unlike myself are relegated to just a few spare moments a week, this could be the key to not only courting a new demographic, but changing the types of titles. AAA games will still have their niche, but it's back to being about the gameplay instead of beautifully rendered shrapnel.

    Sunday, July 30, 2006

    Everybody Loves a Spore

    I've been kinda harping on procedurally and user-generated content as the salvation of the Earth for a while, but I hadn't conceived of how our good friend Will Wright has taken it to the next level. It's beyond procedural content, beyond user-generated content... it's now "pollinated content."

    The GDC was where several interesting Will Wright innovations were unveiled... such as the sure-to-be-a-AAA-title USBEmily. But he also presented an early demo of several gameplay prototypes and fortold of thousands upon millions of objects, each procedurally generated and user defined, wrapped up into 3K files and archived by a massive database.

    This massive database of every player's creations would rank, sort and weigh each item and make it asynchronously available to every other player's universe. You could then "shop" for creations you like, browse archives and even automatically populate your space with balanced flora and fauna automagically pulled from other users.

    This just struck me recently when waxing rhapsodic about Creatures, a game I was way addicted to back in the good ol' college days. There the strength of the game was creature building with learning & adaptive AI, breeding and genetic algorithms. It was quite cool and allowed for much procedurally and user generated content, which players loved to post to fan sites. So you'd browse fan sites, find Norns or DNA strands you liked, download 'em, hack the game, install them, then relaunch. Here, Will is streamlining the entire process: browsing, collecting and installing them is the game.

    I know this is old news for many people out there... but the thing that really got me thinking about it was a recent article in Business Week. Yup, Business Week. Will's idea is making huge splashes in the business side of gaming; think about it: you're now having your user base become your artists, transferring all rights for their creations directly to you. They make the stories, the artwork, the worlds. And these creatures and structs aren't just limited to encounters in your game space... they transcend the digital world into cross-marketing with card games as well.

    For those of you keeping count: Spore is a minigame, Pac-Man clone, RTS, 3rd person adventure (i.e. Diablo-style gameplay), creature builder, construction sandbox (i.e. SimCity), social game (i.e. The Sims), and action card game. Lessee... Will has basically covered every genre fanatically devoured by casual and hardcore gamers alike. You couldn't make Spore more addictive if you laced it with crack.



    Speaking of which... I never knew Robin Williams was a big FPS fan. My friends... I give you the figurehead of our emergent demographic.

    Tuesday, July 25, 2006

    Hiding in an Onion from Big Brother

    Personal security and confidentiality has become something of an item to white hats nowadays. With the Internet allowing for the rapid dissemination of information and speech, an untapped capability to free connected citizens of more oppressive regimes now exists where it didn't before. However, the big shots aren't interested in grass-roots democracy, they'd like cash instead.

    Indeed, even resident democracies are putting random bystanders on government watch lists and performing unmonitored surveillance at large.

    Of note is a particular instance when a few ABC News reports were tipped off that their cell phones were being monitored to track down anonymous sources for investigative stories. That they were being monitored wasn't particularly surprising, but what caught me off guard was how they were subsequently astroturfed en masse. The blog post was so quickly riddled with newspeak one has to wonder how quickly the machine is trying to spread.

    The current environment has raised more than a few eyebrows. Security and privacy tools have taken on new and innovative roles. Phil has stepped up and created Zfone for securing voice communications in an interoperable way between VoIP clients. Scatterchat has really hit the mainstream, using both encryption and onion routing to create a secure channel for IM while still maintaining interoperability as well. Both options provide a way for communication while providing personal protection against evesdropping. Although, one could make the argument that using encryption at all could put you on the list of suspicious persons.

    To be honest, I was hesitant to make this post. I know more and more employers and agencies are monitoring people's blogs to ascertain their relative "risk". I realize that this isn't supposed to be an opinion blog per se, and largely I've avoided political topics other than intellectual property issues. Consider this a brief tangent from my larger mission.

    But just the fact that I was somewhat afraid to make this post... doesn't that say something about the current state of affairs?

    AMDTI? ATIMD? The Vector and the CPU

    I hate to say I told you so, but...

    AMD and ATI are now one. It's the talk of the town: AMD has taken over ATI, to make... umm... AMDTI?

    The hardware ramifications aren't well known... who knows if this will spawn a new core-logic chipset, a new southbridge, a new means of fabricating ATI/AMD procs, new GPU's and physics accelerators, or just new marketing. However... if the core reason they've joined together is for intellectual property, we may start to see some vector units in CPU's. Who knows.

    From my perspective, this smells like a bad deal. ATI's Linux support, while existant, is shallowly so. One need only to try to manage a dual-screen setup or hack an xorg.conf file to realize how kaboshed ATI's Linux driver support is. Contrast it to the robustness of Nvidia's unified driver model and there is simply no comparison. Nvidia wins by not inventing their own wacky configuration schema, but instead streamlining their X11 integration with the mainline accepted standards and augmenting it only when necessary.

    And yet, AMD has proven to be a big Linux supporter. So maybe their ingestion of ATI will be a driving force for them to get their collective butts in gear. Here's to hoping ATI will be the big winner of all this, and that they get in line with AMD's more competitive practices.

    Wednesday, July 19, 2006

    The Next Evolution in Gameplay

    Earlier this year, students at the DigiPen Institute of Technology submitted a game to 2006 Independent Games Festival which is still causing people to rethink gameplay. Their senior project, Narbacular Drop, relied on a unique way of placing portals around a maze to navigate from one end to another. It's a physics-y puzzle game at its heart, and was extremely innovative.

    Our favorite physics-loving company, Valve, caught notice and had the team start porting the game to its Source engine. And now it appears that Valve is adding this game to Half-Life 2: Episode 2.

    Of course, soon as Valve started showing of the game (see it yourself via YouTube or GameVideos), the sites became abuzz. The Ars Technica article says it all: "[The] video makes my brain hurt in all the right ways."

    Mixing this with the right physics toys would definitely make a very innovative physics game... or FPS... or... anything. It's one of those ideas that sends ripples throughout the industry - expect to see this sort of portal-play popping into games as soon as developer's grubby little neurons can wrap around the coding. And really, the coding has got to be clever... just think of the math you'd have to perform in order to get a recursive portal to render.

    Tuesday, July 18, 2006

    Much Work To Do... Before Making Absolutely No Progress

    Aight... so here's how my ConsultComm development schedule goes:

    1. Get coffee
    2. Make change to fix some bug due to a tweak I made in NetBeans 5.0
    3. Find way to fix things so RPM builds work correctly
    4. Spend 30 minutes trying to work around SourceForge problems that have existed since the dawn of ages
    5. Spend another 30 minutes uploading files and publishing new beta revision
    6. Mark bugs as closed, send e-mails
    7. Rinse, repeat

    So... for point releases only 20-40% of my time is spent actually writing code. Kinda drives you batty after a while.

    But, if anyone is inclined, take the latest beta release for a test drive.

    Sunday, July 16, 2006

    From the Desk of DeckerEgo



    Inspired by GEV Episode 16 and the soon-to-be-Oprah-book-of-the-month auteurs Mike and Brad, my Oblivion alter-ego bought a nice little nook in Cheydinhal, decorated the space with some books & undulating Daedric artifacts, and is settled in for a bit of a hiatus.

    I'm finishing up my work on some OSS projects and settling down for work on more CrystalSpace projects. I really only have about three hours of open time a week... and I'm falling waaaaaaaaaay behind...

    Tuesday, July 11, 2006

    Obviously Unpatentable

    How non-obvious should something be in order for it to be patented? Can you patent someone clicking a button to buy something on the Web? Can you patent keeping score in a game?

    Most would say not, but so far the USPTO has disagreed. Some fairly "obvious" patents have made their way through the courts, such as alternate ways of swinging on a swingset. The current methodology appears to be "grant every patent, cull the fee, if someone wants to litigate grant a review, cull the fee, then make motions to remove it if need be, whilst culling the fee."

    I know, I know, I've lectured on this verbosely before, but it's something that can completely screw over a small business that happens to out-innovate companies with in-house counsel. That's why I found it interesting that the Supreme Court is hearing KSR International Co. v. Teleflex, Inc., et al. As several sites (news.com for one) have noted, this is a case on how "obvious" a patent should be. Specifically this covers KSR's gas pedal technology... but people are already seeing an immediate connection to technology.

    With common law like this in the books, small business would still... aw, who am I kidding... they would still get smashed like grapes. But at least officeless companies that simply go on a USPTO filing spree can be knocked around by those with the resources to do so. Perhaps this will provide some with the means to overturn the blatantly obvious (and littered with prior art) patents currently on file.

    Take a look at who has filed amicus briefs already. Hmmmmm.....

    Sunday, July 09, 2006

    Boxing Kicked My Butt

    Waaaay back at the inception of this blog I wanted to start working on some proof-of-concept game, mainly to try my hand at physics and collision detection. I didn't even really want to get into art and animation at the time - I was more into the code. My first thought was a quick boxing demo, since I could wrap collision detection, reactive animations and ragdoll physics into it.

    Generally when I learn, I like to place what I learned into this huge document that has become the source for the tutorials I post. And since I had to learn how to build meshes to be collided upon, the first chunk of my tutorials was how to build sprite meshes.

    So I began mesh building. Once I found out MakeHuman meshes were a bit too detailed, I started to build my own. Nine months later I found out how mesh building wasn't something that could be glossed over; I had to figure out the hard way how crucial concept art and reference images were. I didn't even get to scratch the surface of texture building... just building and animating meshes kicked my butt.

    Since I had a newfound respect for concept art and texture building, I figured I'd better learn a thing or two about art concepts. That's what started me down the current track of learning the fundamentals of drawing, so I have concept art to use as reference images for my meshes. And maybe learn a thing or two about colors and textures for my UV maps.

    So, for those of you just tuning in, boxing -> coding -> mesh building -> reference photos -> concept art -> drawing classes. Basically I'm having to take grade school art classes in order to figure out how to build meshes, and get me back on track to where I was eighteen months ago.

    Even given all the work I've put into building the foundations of my lil' demo, I'm considering ditching it all for a change in focus. It seems there's a budding new game genre that would accomplish my earlier goals much more readily: physics toys. GameTunnel's review of June's independent games had two interesting titles that piqued my curiosity: Soup Toys and Armadillo Run. I haven't played them since they're Windows apps... but both are something of physics sandboxes, not unlike World of Sand. One is more of a "desktop distraction" (like AMOR), the other one is more of a standalone engineering challenge. Both are compelling as something as a logic puzzle, but has the draw of Legos or building blocks. In a high-brow physics sort of way, of course.

    Games that can easily be jumped into, run in a standalone window and can soak up just a few minutes of spare time are perfect for the current generation of casual gamers. Mixing that with the appeal of a physics toy is a pretty clever idea. And it would definitely bring me closer to my original goal of a collision detection and physics proof-of-concept demo...

    Friday, July 07, 2006

    Fighting for a Job

    It's interesting to see how people "in the biz" have offered advice on how to get into the gaming industry. Ever since Kenn Hoekstra first wrote his article (which used to be hosted at Ravensoft's Web servers) on "Getting A Job In The Game Development Industry", several developers, project managers and have jumped in to offer their advice, including Tom Sloper's "Game Biz Advice". Just recently Chris Avellone offered insight on what employers actually look for nowadays and Steve Bowler retold his anecdotes to talk about how to stay in the industry.

    It does seem that the ages-old mantra of getting in at the ground level may not apply nearly as much as it used to, at least to hear recent accounts of bug hunters. But there are several points that seem to reoccur:

  • Be professional. You aren't applying to be a lifeguard at the community pool. Treat this like a real job, because it is. Evidentally 90% of the people fail at this task.
  • An impressive portfolio and experience is better than a degree.
  • Don't have an AOL e-mail address.
  • Know people in the industry. Shine their shoes.
  • Don't beg. Make people think, at least until you land a job, that you have some dignity.
  • 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:

    ...in 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
    printing.


    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.

    Friday, May 26, 2006

    Rotate Your Desktop on a Cube

    I just tried out the very nifty Kororaa Project live CD - a Gentoo live CD with Xgl already built and configured for both KDE and Gnome. It's quite a demo - the screenshots alone don't do it justice.

    Your desktop can act like faces on a cube - as you rotate the cube you switch your visible desktop. This works surprisingly well; moving a window from desktop to desktop can be as easy as sliding it from one face of the cube to another.

    Also, since everything is an OpenGL surface, you can render video quite nicely and not take a performance hit while all the eye candy is turned on. Windows and UI elements all scale correctly, so you can accurately zoom in and zoom out of an area. Windows also have "bounce" or "wiggle" animations, which makes things feel more plastic and actually gives you useful feedback as you traverse workspaces. The famous OSX F12 key is there too, and allows you to select from all your open windows in one fell swoop.

    There are a few drawbacks, both of which happen to be deal breakers for me. First, Xgl doesn't support dual head setups for stretching your desktop across multiple monitors. Second, there does appear to be a performance hit to regular OpenGL applications. Running glxgears in Kororaa yielded about 12,200 frames per second, but in my default SuSE 10 install it runs at about 15,200 FPS. A 20% performance hit ain't good.

    Still, the Kororaa live CD is definitely worth a whirl. Since it boots off the CD, Xgl works without configuration and the OS doesn't even touch your hard drive you can try it without risk and see the nifty effects and affects on your own.

    Sunday, May 21, 2006

    A Mountain Lion Ate My Horse

    You hear me mountain lions? It's freakin' ON! I've got a hankerin' for a double-breated mountain lion suit with matching clogs, and the only cure is mountain lion on a pig pole.

    Oh, it's on. It's on.

    Wednesday, May 17, 2006

    Left Behind: The Search for Cash

    Christian gaming is starting to hit the spotlight now that E3 is rolling around. While some titles disguise their message in innuendo and hidden subtext, such as Bibleman: A Fight for Faith, others are more mainstream.

    Left Behind: Eternal Forces is an RTS where the Tribulation Force deploys units against Antichrist's Global Community Peacekeepers. In single player you play the Tribulation Force, where your units lose spirit points every time they kill enemy units. Prayer restores the points, otherwise they can be recruited to the other side.

    Michael Pachter of Wedbush Morgan Securities noted "The reason that I think this game has a chance is that it's not particularly preachy... I will say some of the dialogue is pretty lame - people saying 'Praise the Lord' after they blow away the bad guys. I think they're overdoing it a bit. But the message is OK."

    Good ol' Jack Thompson, also lookin' to get some E3 press, of course had something to say. "We're going to push this game at Christian kids to let them know there's a cool shooter game out there... because of the Christian context, somehow it's OK? It's not OK. The context is irrelevant. It's a mass-killing game."

    AAAAAAAAAAAAAAAAAAAAAIIIIIIIIIIIIIIIEEEEEEEEEEEEEE!!!!!! I agree with Jack Thompson! Someone hit me with a pipe!

    It sounds like they're attempting to hit a new target demographic... not relay a message. Then again... I kinda expect a bad book series deserves a bad game.

    Tuesday, May 16, 2006

    SuSE 10.1 - Avoiding the Fedora Trap

    Just installed SuSE 10.1 on my Latitude D600... and all in all it's a great release. It's really deserving for a "SuSE 11" moniker, but I have a feeling they're waiting on that until KDE 4.0.

    Gone is a lot of SuSE-centric software with new, more standardized set of hardware detection and system management packages. SuSE used to need their own hardware detection monitor, but with KDE's hardware abstraction layer coming into fruition and packages such as KNetworkManager, you don't need it. It's a nice shift, as this allows you to have more integrated and widely accepted tools.

    Zen, however... that's a different situation.

    SuSE's YaST Online Update and Software Management has been replaced by Novell's Zen software management, which while good in concept, absolutely sucks in practice. While it's nice that it monitors any package repository you want (such as PackMan or Guru) for updates, it takes for freaking ever for it to load and install packages. FOR. FREAKING. EVER.

    It's nice being on a fresh new install. Every release that comes out I swear to myself "I'm going to keep a pristine factory install - no beta packages." Then a new KDE release comes out that I must have, and I say "well, I'll just try the new KDE out." Then I figure "since I'm already non-stock with the unofficial KDE packages, I might as well try this other hack out..." and then a runaway train of applications and hacks leaves me with a mutt of a system.

    So now I'm starting with a clean(ish) slate. I'm trying to break myself of the console habit - so I'm using more GUI tools to diagnose stuff. I never realized how handy KSystemlog and KDE System Guard was... quite nice.

    10.1 really is a fantastic OS - encrypted filesystems are even handled sensibly with the boot GUI doing just a brief break to prompt for the password. Partitions are now broken apart into root and home directories, and swap & extended portions are sensible. The desktop itself has little clutter, and less stuff starts at boot time and desktop startup. Nice 'n' clean.

    The visor kernel module for my Samsung i500 still renders my keyboard useless, however. For some reason syncing via USB causes the laptop to stop receiving input from the keyboard altogether and then can't shut down. I'm relegated to IrDA only, which is sloooooooooooow and an overall pain in the butt. I am working on using Kitchensync in KDE, however, which is quite nice. In theory it should render my custom hackish sync script unnecessary, which would get rid of an extra step and hopefully allow for a two-way sync between the i500 and Exchange.

    Oblivion Newbs

    There's a rash of newbs whose first exposure to the Elder Scolls series is Oblivion, which is a crying shame. Of course, the fact that I didn't come in at Arena makes me a n00b too, but I'm less n00bish.

    I have to rank Morrowind over Oblivion so far. It seems that the level of detail in Oblivion has hit the uncanny valley, where things look so real you can't help but notice it's fake. Like the animatronic Hall of Presidents, your subconscious keeps interjecting and telling you what you're seeing is fake... like an animated corpse. Your mind is constantly aware that something is awry, albeit minor, grinding away like annoying grains of sand. Shaders being too shiny, grass shaders eating frame rates alive, leaf pixmaps popping in and out of the Z buffer as they sway on branches... these all just serve to remind you that what you're seeing is a damn close approximation of the real world, but something is out of place.

    Morrowind had its cutting edge (at the time) water effects, which made people swoon as soon as they had a DX9 card. Otherwise, however, it was obvious you were living inside an American RPG. Dialog was text-based, little voice acting was done (don't get me started on Dagoth Ur), and magic effects basically looked like Quake 2 runes. The vistas were still stunning - hell, Morrowind even has photography guilds. Towns were a seamless collection of buildings, just like they should be. Oblivion attempts to optimize framerates and create hard edges to the world with the old fasioned stupid game mechanic of we-built-four-hundred-foot-walls-around-our-entire-city-so-players-can't-just-walk-inside; the engine can then unload a mega-texture landscape setting and load a much more finite city setting. Morrowind accomplished the same thing by only spawning new areas within buildings, which is a much more natural transition. It makes sense to start a new area inside a building... you're going outside, in. You could just stroll into a city using whatever means necessary... just levitate in if you want. The bounds placed on cities in Oblivion are much more artifical and abrupt, with NPC's "teleporting" inside of city gates instead of just stepping through the freaking door.

    Then again, I could just be waxing rhapsotic for Morrowind's storyline. I'm drawn to the "creationist" or "origin" adventures, the type where you find out that the world wasn't created using the schema you've always believed. It's a bias I've carried with me ever since I was first hooked into the RPG genre - with Final Fantasy Legend.

    Aaaaah... those were the days. I took my glass sword and beat the livin' snot out of Creator many, many times in that era of my life. There, the big reveal was after ascending the monolithic tower that stood in the middle of every realm of existence you came face-to-face with the creator of the world. Then, for reasons that are still completely hazy, Creator starts getting all up in your grill. Then your party feels stilted and a fight ensues. Not sure why. But after you destroy your (C)reator, you can ascend into the realm beyond creation (the door behind Mr. Creator de Jerkbutt). But the party starts feeling nostalgic and returns to relive the adventures they had and the people they helped along the way. It was epic. Good times.

    After that, I moved on to Phantasy Star III for the Sega Genesis. There, you find out that your world is not some rotating sphere circling a medium-sized star... instead your on a freakin' space ship set into orbit to save your civilization. The world isn't natural... it's completely mechanical and manufactured. Take that!

    Morrowind goes back as far as any other Elder Scrolls title I know of... all the way to the very creation of the mortal realm, the inception of the Dumner, the extinction of the Dwemer and the very heart of a god. If that's not freakin' epic, I don't know what is. It frames things in a very religious context, with a healthy reflection of the Roman's assimilation of Greek religion and Nordic roots. There's very much the sense that the current faith was one built up around, but in displacement of, the old pagan ritual and history. Here we find that the volcano that erupted in Morrowind wasn't some natural disaster... it was an ancient, advanced culture that had harnessed the power of an actual god. Kinda like if we discovered the Aztec's actually built a Cray out of steam power and the pancreas of an immortal then teleported themselves to Mars.

    Morrowind even had a book in-game called "On Oblivion", something to lay the path for the current title. In fact, there's a lot of literature that's shared between games in the series. This battle in the Daedric realm was a long time coming evidentally. Maybe we'll see another reference to the Numidium. Maybe another big reveal about the true origin of the Elder Scrolls world.

    I'm happy enough to ride the current title out and give it a fair shake. Currently I'm engrossed by my kick-butt Rastin wanna-be, looking pale and sickly, clad in only a monk's robe. He can't carry much of anything, can't swing a sword and can't take a punch to save his life. But he can cast like freakin' motha.

    Thursday, April 27, 2006

    I Caved


    Okay, so I buckled. I picked up Oblivion over the weekend. I'm weak. I admit it.

    Oh, and not just the normal version that was $12 off at Fry's. Although that's the version that sold me. For some reason I thought "Wow! Oblivion is just $37! I need to pick up a copy! And since I decided to pick up a copy, I should get the collector's edition? Why? Because I fear that the greatest regret in my life will not be owning the replica GP or behind-the-scenes footage." Jeesh. I'm such a tool.

    One day I hope to sleep again.

    Wednesday, April 26, 2006

    We're Old.

    I'm old. Gamers are getting old. Developers are getting old. We're no longer in the realm of the grey-bearded big-iron mainframe developers vs. the cowboy CS-kid desktop developers. The legends of the DooM generation are getting older: Carmack, Wright, Spector - hell, even Gabe and Tycho are middle-aged with families. It blows my freaking mind.

    Warren Spector published a quartet of articles in The Escapist about the where the industry is headed. In one instance it seems to be the shadow of big companies getting ready to smash independent developers into a gooey paste, in another he talks about how innovation and independence can spell the industry's salvation.

    One particularly nostalgic (although that's not quite the word...) quote was

    Maybe this is just a personal problem - a result of my friends and me getting older. Priorities change. Interests change. Time for games seems tougher to come by. Or maybe my values - notably a fascination with
    innovation, novelty and forward progress on the story and design side of things - aren't shared by the folks who make up an increasingly international audience. Maybe it isn't games or the game business that have changed - maybe it's me.


    Jeff Vogel voiced his opinion on straying outside the norm and how dangerous that can be for an independent developer. Wander too long off the beaten path and you may find it hard to get a lot of buyers on board. However, it could be that the trick is really in finding the right market to land in. Like he says:

    There is nothing scarier that aiming at a market that doesn't exist yet. It might not exist at all.


    It's like Warren spells out in his article...

    GTA clones are making money hand over fist. All we have to do is keep making them until players tell us to stop.


    So now gamers are getting older and getting families. Want to know the way to hit that demographic?
  • Load times should be in seconds and not minutes. I should hit an icon, here a few clicks of the hard drive and be able to pick up right where I left off. I'm tired of skipping through layers and layers of splash screens, logos, intro videos, copyright text, menus, etc.
  • If I log in to my machine, I should see my own savegames and restore my own convoluted settings. If someone else logs on to the same machine, they should have their own save points and key bindings. Linux has been doing this for years; how hard is it to write preferences to the user's home directory?
  • Make play controls so simple it's almost sophomoric. Carmack definitely had the right idea when he made the user interface limited to just a handful of keys... you don't need to bind the entire keyboard for a FPS.
  • Break things into digestible chunks. You should hit natural "breaking points" often... there's a good chance that you'll forget what the hell is going on in some long convoluted errand when you can only do ten minutes at a time.
  • Sunday, April 16, 2006

    Proximity Hacks

    Visiting the local Fry's I found the infamous USB Wireless Security Lock for... if I'm reading the rebate receipt right... free. The price was right, so I picked one up. I had seen some hacks and descriptions of it previously and the concept intrigued me. Basically it's a wireless USB mouse's guts ripped out and put into a keyfob and a USB dongle. It's recognized as a mouse under Linux, but someone wrote a driver for the 2.6 kernel that seems to create a unique device node for it if you bypass the regular hotplug routines. Another person seems to have created a more mainstream driver and is trying to get it into the latest mainstream 2.6 kernel. Don't know if it actually landed there or not...

    Edit: I was able to get things working quite nicely. The example at www.schau.com worked well - thankfully it was written to be as modular as possible. I wrote my own script to lock/unlock KDE's screensaver, and just had to make a few minor hacks to hid-core.c and wslxsctl.c so the USB kernel module would ignore the vendor id / device id of the key and the userspace app would listen to it.

    It doesn't appear to be validating the unique ID sent by the keyfob however - so I'll need to code that part.

    Bad Mojo

    Sooooo... it's been a week filled with rampant chaos and wanton destruction.

    First, I noticed my smoke detector was making some odd chirping sounds. I took out the 9V backup battery and noticed it had slightly bulged at the end. Examining closer... it exploded in my face.

    Yeah, that was neat. I set it down and attempted to wipe the chemicals burning into my flesh when it exploded again and launched a payload of alkaline across about 10' of wallspace. Greaaaat.

    Speaking of batteries, my UPS started neither supplying power nor was it interruptable. The battery in my UPS was nearing the end of its warrantied lifespan, at which point evidentally it starts making a noise like a badger trying to claw its way out of a plastic trashcan. It also abruptly shut off all power to my home office e-mail/media/print/proxy server, rendering most of the stuff I need to do during the workweek useless. I spent most of two mornings in my bathrobe underneath my desk trying to get the freakin' thing to do a cold start, reset and come back to life. The battery is still dead, but at least now it's sending power. You'd think that despite a dead battery power would still flow to through the outlets at least, but alas that's not so. Great way to start a couple of mornings.

    I also spent several late nights trying to update several Java application servers in a cluster... but after hacking into the wee hours of the morning one freaking application wouldn't start. I spent the majority of two days working on finding a solution. The problem? The hostname went from case-insensitive to case-sensitive. That's it. Dammit.

    Wednesday, April 12, 2006

    J equals :)

    Did you know there is now a work-appropriate emoticon?

    Now everyone in business correspondance is using 'J' to mean :). I didn't understand what the hell they were talking about until I looked at the HTML source of someone's e-mail to me... 'J' is a ☺ in the Windings font.

    But if you're like me and you don't have Wingdings, your e-mail client overrides fonts or you don't give a crap, you just see 'J'.

    For some reason, it just drives me up the freakin' wall J

    Tuesday, April 11, 2006

    Organically Growing Content

    Digging through my old GMSV e-mails that I haven't read yet, I found a link to this video of Will Wright talking about the exponential level of effort required for content generation. I've hit upon this point many a time, since it's kinda the mantra of the independant game developer: you can get around having a team of content artists & developers if you're smart enough. For example, user generated content (such as in Second Life) or procedurally generated content (such as the new Unreal engine) or a mixture of both (as in Spore).

    Will talks about his latest work on Spore, and how being smart about content creation allows you to avoid the mega-teams required to create the next Morrowind. Note the applause in the video when Will suggests an alternative to nonlinear levels of effort required to build titles... I have a feeling there were a lot of one-person shows in the audience...

    Monday, April 10, 2006

    Gaming FM Back Online!

    One of the few stations that makes Internet radio interesting, Gaming FM, is back online after a LOOOOOOOOOOOOOOOOOOOOOONG hiatus. One can only guess why the hell they were offline for so long, but their great mix of ambient, arrangements, remix and standards was pretty much irreplaceable. Hats off to all those forum users who never gave up hope, and the Gaming FM crew for finally coming back.

    Sunday, April 09, 2006

    Back to Pluggin'

    The initial novelty of SecondLife has kinda worn off on me... so I'm working on getting back into productive work again. I spent some time learning SecondLife's scripting language with the vehicle tutorial, and got a floaty balloon thingy working. The fact that you can add arbitrary scripting, animations, texture mapping, etc. to objects within an MMO is a pretty nifty concept. You can see from ninjafoo's blog and the SecondTux wiki there's a lot to talk about in the Linux client, but little to discuss.

    I managed to prevent myself from purchasing Oblivion again today. Thanks... I was pretty proud of myself too.

    I'm working on getting ConsultComm 3.1.2 out. It's been long delayed because I keep adding extra crap - a revamped plugin manager, a Java WebStart launcher, kicking out the platform-dependent timeout plugin, making my TableTree a separate component, etc. Finally I had so much scope creep I decided to kick out all the new changes, save it for a future version, and instead just fix bugs and push out a minor release. I have so little time anymore, all the new features I want to create just don't have much of a chance right now.

    Sunday, April 02, 2006

    Fun SuSE 10 Advanced Desktop Hacks

    I've been attempting to use Linux exclusively for my personal desktop for about a year now, and it has gone surprisingly well (when I don't go without sleep and accidentally reformat my entire freakin' drive, that is). I've learned a few nifty hacks along the way that has made my life inside of KDE that much sweeter. Such as:


    You can allow Linux to use WINS for native hostname resolution (like what Windows machines would do if you have a directory server) by installing samba-winbind and hacking /etc/nsswitch.conf to have the following line:
    hosts: files lwres dns wins

    and then restarting nscd. Since your WINS server is responding to your computer from a broadcast message you may have to open UDP ports 1100 to 1200 on your firewall config; responses are sent back to those ports with NetBIOS.

    EDIT: Ports 1100 to 1200 are conservative - in actuality NetBIOS sends back on a somewhat random (but seemingly incremental) UDP port between 1000 and 4000. That means you actually have to open ports 1000 to 4000 for UDP wholesale - which of course major league sucks for security. However, it appears even Windows Firewall has to do this - talking to the local security expert I found that Windows Firewall briefly opens up this port range during NetBIOS queries. Ugly design? Hell yeah.


    You can automatically mount/unmount remote directories and file shares upon login, using pam_mount. This adds functionality kinda like Windows' "mapped drive," except it uses Linux' central authentication mechanism and your mounted drive can be absolutely anything you want (NFS, Samba, a local file system, etc). First, change /etc/pam.d/xdm to have
    auth optional pam_mount.so use_first_pass
    session optional pam_mount.so


    Next, modify /etc/security/pam_mount.conf to add your mount point. For example, I want to have users' individual shares on my file server automatically map to their Documents directory in KDE. To do that, all I need to add to my pam_mount.conf is:
    volume * smb fileserverhostname & ~/Documents uid=&,gid=users - -

    Things are then automatically mounted/unmounted as they login/logout of KDE.


    I like to allow passwordless logins for two accounts. Both of them have very restrictive access, and both are basically setup in kiosk mode. Since the accounts themselves are pretty locked down, I don't need to worry about someone walking up and using the account. That's pretty much what they were designed for.

    SuSE by default, however, has a special "local" configuration in SuSE 10 that you can't override using their admin tools in order to skip local password authentication in KDE's login manager. To do so, you need to edit /etc/opt/kde3/share/config/kdm/kdmrc and remove the sections [X-:0-Core] and [X-:0-Greeter]. You can then use KDE's Control Center to administer the login manager and allow passwordless logins.


    For some reason that completely fails me, SuSE doesn't allow users to share devices by default. This means if you use KDE's "Switch User" functionality the second person logged on won't be able to connect to your sound device.

    To remedy this, modify /etc/logindevperm. You'll see the octal mask for file/device permissions in the second column, along with a list of devices in the third. By default everything is allowed to run only with single user permissions, but for things like sound we want to open it up for everyone. Change the file to have 0666 permissions on devices you want to open up, such as:
    :0 0666 /dev/dsp:/dev/dsp0:/dev/dsp1:/dev/dsp2:/dev/dsp3
    :0 0666 /dev/sequencer:/dev/sequencer2:/dev/music