19 April 2004
do not look into Lsongs with remaining eye

Now, I’m no usability wizard or anything, but even I know a steaming pile when I stumble onto one.

At least they’re working on Nvu as well. (Attention software people: I am available to name things on very short notice!)

Update: It burns!

Further: They must have been hacked or something. I mean, honestly.

Posted by shaver at 10:18 PM | Comments (6) | TrackBack
13 April 2004
a legacy of wisdom

There are no easy buckets on this court.

I’d vote Greenspan in a second, I tell ya.

Posted by shaver at 12:58 PM | Comments (2) | TrackBack
12 April 2004
at least they're being creative

My Bell woes are well-documented. It’s never fun dealing with them, but there are few other choices for some of the services I want, like DSL.

Recently, they were upgrading DSL services, moving their 1.5 megabit customers up to 3 megabit for no charge, and we 3-meg customers up to a nice 4.5 megabits. I was quite looking forward to it.

First, they did the 1.5→3.0 upgrade, and apparently that didn’t work exceptionally well, so they reverted those customers to 1.5. Except, whoops, they took all the existing, premium-paying customers with them. What a crock.

Posted by shaver at 04:49 PM | Comments (8) | TrackBack
no, honestly, I'm relaxing

After last night’s hockey-watching extravaganza, I had to get to bed pretty quickly, because this morning was my first trip rock climbing in well over a year. It went pretty well, and the previous irrational fear issue seems to be largely resolved. Lots of fun.

A mostly-lazy afternoon followed, in which I played video games, watched still-more hockey, made a nice dinner of grilled-beef-and-veggie sandwiches, and then made a fair bit of progress on monoconnect:

: old; mono --debug ../xpcom-dotnet.exe say this-is-sorta-cool

testimpl says: this-is-sorta-cool!

: old; mono --debug ../xpcom-dotnet.exe shout this-is-sorta-cool

testimpl shouts: this-is-sorta-cool!

(Meaning, roughly, that I can now invoke methods on XPCOM objects from C#, as long as they only take string parameters, and as long as I don’t need to do anything especially tricky to get my hands on those objects in the first place. Baby steps, baby steps.)

I hear tell that Nat and Erik of XImian fame are descending on my fair city tomorrow, so I should do some liver stretches before going to sleep, I suppose.

Posted by shaver at 03:15 AM | Comments (2) | TrackBack
10 April 2004

Today was my last day of work for CFS, and I spent most of last night up finishing off the last features I really wanted to see in this first cut of the web management tool, so I had a bit of a slack day. Turned off the bugzilla notifications, deleted my ssh keys from the company server, removed some autoconnect entries from my IRC config, sent the requisite “thanks+bye” mail, all the usual stuff.

I am in a ridiculously good mood.

At some point, Coop will really have a great manager, and this will clear up some of his misconceptions. I had a great time working with him, as I always do, and always knew I would. I hope, too, that he can continue to enjoy his time with CFS, and that they’ll take good care of him.

To celebrate, I suppose, my new unemployment, I sat on the couch reading fiction (link has spoilers), of all things, and drinking girl drinks — the kind with real vodka and sugar, though; you can keep your corn-syrup-malt-beverage nonsense down south, thanks. That led, of course, to a nap, and upon waking I watched some quality playoff hockey. If you were at the Calgary/Vancouver game, I will confess mortal, all-consuming jealousy. It was one of the finest hockey games I have seen in years, non-call on the Vancouver shove-and-shoot goal and everything.

And because I’m a geek, I did a little bit of hacking on a Mono/XPCOM bridge, which I’ve been meaning to do for some time:

: xpcom.net; mono --debug typeinfo.exe nsIComponentManager 4

nsIComponentManager#4: [0] UInt32 getClassObjectByContractID([In] [Pointer]String, [In] [Reference, Pointer]NSIdPtr, [RetVal, Out] [Pointer]InterfaceIs)

Relaxing is my business, and business is good.

Posted by shaver at 01:58 AM | Comments (2) | TrackBack
7 April 2004
the Underground Grammarian does not advocate violence; it advocates ridicule

There are no subscriptions. We don’t lack money, and we may attack you in the next issue. No one is safe.

We will print no letters to the editor. We will give no space to opposing points of view. They are wrong. The Underground Grammarian is at war and will give the enemy nothing but battle.

A friend of mine says that my writing reminds him of Mr Mitchell’s, which I find quite flattering, though I remain skeptical.

Posted by shaver at 09:56 PM | Comments (0) | TrackBack
6 April 2004
moire-coloured glasses

The monitor at home is starting to make these periodic colour-and-brightness shifts that lead me to believe that it’s on its way out. I’d like to buy one of these little babiesZach, Phil and the boys at AnandTech really like theirs — but Tyla says I have to find a new job before I can do that.

She’s no fun at all.

Posted by shaver at 06:05 PM | Comments (7) | TrackBack
pharoah hydroponics

"We've got to put it behind us," Senators defenseman Wade Redden said. "We obviously don't feel good about it, but it's not like they really dominated us."

On that note, bring on the playoffs!

Posted by shaver at 12:43 AM | Comments (5) | TrackBack
spinning the chamber

< dria> we should so totally rule the world
< phik> if we'd just stop playing russian roulette with each others' careers

This Friday, as some of you are aware, is my last day with CFS. I'm not going into the whys and wherefores of the decision right now, if ever, but your guesses are probably not all that far off the mark. It was a very fun ride, and I learned a tremendous amount, which is basically the sum of my success conditions for a job; I wish the CFS crew nothing but the best, of course.

I am presently entangled in a mutual courtship with a large software vendor who is looking for a strong open source strategist and technologist to lead their nascent efforts in the whole "open desktop space". None were available, apparently, so they're talking to me.

Posted by shaver at 12:39 AM | Comments (1) | TrackBack
1 April 2004
it's the motion of the ocean

Carmack is totally right about work expanding to fill the time available, and the fact that people will add more polish rather than just finish faster, given the tools to automate or accelerate a previously-lengthy task. Middleware helps by letting people skip or exponentially compress entire phases of game development, but there is basically no middleware that really takes the meaty part out of an art-production schedule, that I've seen. You can outsource to cheaper people (Eastern Europe is booming, I hear) and parallelize that way, but at the obvious cost of the risk that brings, and the perhaps-less-obvious cost of a fractured art style.

My proposed solution is generated content.

Not just fractal terrain or Elite-style pseudo-random infinite worlds, but the development of systems and grammars in which artists and world/level-builders can express the essential elements of a class of assets (building contents for a given culture's towns, mission/quest flavours for different NPCs, biological characteristics for species of monsters, hole-layout preferences for golf course designers, etc.). Given that expression, and perhaps some "yes, yes, no, no, yes" quick filtering on the part of the artists, I think it should be quite possible to mechanically generate a lot of models and textures and suchlike, with minimal cost in artist time. Force multipliers rule. (There's some AI-field work existing here that is ripe for the cherry-picking, I think, especially the "imitate a famous musical/painting style" stuff that pops up every few years.)

John Arras has done some work on both model generation and quest generation for MUDs, and I think it looks very promising, once you get past the fact that his model-generation work depends on a modelling environment that even I consider to be creaky and obscure. Other work in this field includes the Instant Architecture paper, and a variety of people have done work on cityscape or planet/terrain/etc. generation, but in the large these tools rely heavily on randomness, and little-to-not-at-all on getting "advice" from a skilled human designer. To say nothing of the totally untapped field of application of different types of AI to this problem, which I think could be very fruitful. (If you know of good examples of "designer-seeded" content generation, please comment promptly! If you want to throw a couple of million dollars into the development of a game around these principles, mail any time.)

These sorts of tools are what, IMO, will bring small-studio development back to the head of the class -- outside the exploding cell-phone/flash game market, where they already seem to be doing quite well. Microsoft's XNA and other such frameworks will help a bit, by nudging the curve of middleware development -- and use! for the love of Spector, why doesn't everyone license the RAD tools? -- upward a bit, but nobody really seems to be making a bold enough play to catalyze a serious shift.

(Addendum: Speedtree is an example of a tool that works somewhat in this fashion, as the L-system used to generate the vegetation is under artist control, and they have tools to let the artist express her wishes in a relatively intuitive way. A great piece of middleware, at a very reasonable price, but it's totally tuned towards tree-like content, and any producer who went over schedule because they needed more hand-done tree models is probably not even going to get hired at EA.)

(Addendum the second: I should probably be careful about making fun of EA, because unexpected companies have a history of turning around and firing out amazing games by the handful when you least, uh, expect it. But I think I'm probably not alone in thinking that they haven't lived down even Majestic yet.)

Posted by shaver at 02:47 AM | Comments (5) | TrackBack
but I know what I like

First off, I don't know anything about art. I consider myself to be having a very cultured day if I can distinguish opera from bluegrass; if someone were to hold a gun to my head demanding the names of 3 famous pointillists or dancers, I would be praying for a jam. Tyla knows me for the savage that I am, and drags me through museums occasionally just hoping that something will stick to me.

With that out of the way, I think that it's quite possible for games to be art, in as much as art seems to be routinely defined as "appealing to aesthetic sensibilities without pandering to the empty-experiential-calorie crowd".

The whole concept of interactive entertainment reminds me of all the times I've read an interview with a live performer (musician, actor, dancer, stand-up comedian, conference speaker) describing how important it is to react to the audience's moods and so forth.

One problem with this is obviously that the "artist" is usually greatly removed in time and space from the audience/player. This requires that all the (often subconscious, I believe) human facilities for "reading a crowd" be distilled into something that a computer can perform, and this is a pretty underdeveloped field of research. Some AI weenies have made attempts at it, but putting research-grade AI into a modern game system is often like trying to make an ancient water-clock into a pocketwatch. We'll get there, though, and people like [Peter Molyneux][] are making great strides.

Another, related, problem is that the means of expression for the player, in terms of inputs perceptible by the game, are quite coarse and crude. We can do better than is generally done now simply by trying (see Scott Miller on adaptive difficulty), but there's still a long way to go before a game can get enough data to react to a player's apprehension, boredom, or excitement. I think we'll see a lot of clever heuristics going into games in the next few years to pick up the low-hanging fruit here, but then there will likely be a plateau while more research goes on in the background. Feel free to start a pool.

Additionally, we have the fact -- and I use the term "fact" here in its web-page meaning; read: assertion convenient for my argument -- that people are generally more patient and open to "artistic" experiences in other forms, which is why nobody complains that Rigoletto doesn't let you save anywhere or skip the long cut scenes.

Even with those problems I think some games do a good job of being "experiential art", in that they perform admirably at the task of pulling the player -- and often viewers as well -- into a constructed experience, albeit one that may not have the same narrative or sensory focus as music, dance, sculpture, etc. Prince of Persia, Rez, Chu Chu Rocket, you get the idea.

Sturgeon's law defends games admirably here, and I don't think it applies any more forcefully to them than to other art forms. Various issues with upwards pressure on production values, budget, and team size affect games just as they affect film. We still get Baraka and Lost in Translation along with our Scooby Doo 2, so there's reason to be hopeful.

(These issues apply equally to "game design" as to assets like art, music, modelling and level/world design, I think, but I think the influence there is more a function of the estimation of the value of "casual user" focus for many game types. That, in turn, flows from the same tainted spring as the "Hollywood envy".)

Personally, I'm more disappointed that I don't see more game in most art.

Posted by shaver at 02:29 AM | Comments (3) | TrackBack
gdc 3

We were too tired to stick around the whole day, and actually I'm now thinking that I mixed up the days for some of these events. Ah well.

Will Wright, Emergent Gameplay, and John Gaeta follow.

Will Wright

This talk made me feel very smart. He provided a lot of tactical suggestions for working with game design teams and problems, and many of them were very similar to my own tactics for dealing with software-development teams or problems. I think I'm pretty clever, and one of these days I'm going to prove it.

Will is a very engaging speaker, and because he's a rock star, I had to stand through the whole talk. Would have been much more bearable if the conference staff guy hadn't spent 5 minutes loudly telling people that the talk would be replayed later in the Game Theatre, making it very hard to hear what he was saying now/then. Ah well.

Emergent Gameplay, Randy and Harvey Smith

Say what you will about Deus Ex: Invisible War -- and I suspect that Harvey can match you bitch for whine on the topic -- but let it never be said that Harvey and Randy don't really like to get their emergence on. I was considering skipping this one, because I saw a similar-sounding one in 2002, but I pressed on, and the more practical, make-it-go-in-your-game focus made for a different take on the core material. Emergence goes hand-in-hand with generated content -- being, really, a form of implicitly generated content -- so it's no surprise that I dig it.

I had some questions for them -- one of which was caught on the recording of the lecture; my 15 minutes drift gently away -- after the presentation, and more than a few of them were met with an honest-but-not-so-useful "I don't think anyone has figured that out yet". When I'm a world-famous game developer, I will be sure to have a slide at my GDC keynote talking about how I was motivated by Harvey Smith saying that something was hard.

John Gaeta

Love or hate, as this one goes. On the one hand, he did stand up there and read a medley of conspiracy-theorist web site text for the bulk of his talk. On the other hand, it was pretty entertaining screed, and he did a good Q&A after. I liked it, Vlad didn't.

Posted by shaver at 02:18 AM | Comments (0) | TrackBack
gdc 2

More blathering about the second day of the Game Developers Conference.

Topics include: Carmack's keynote, a talk on spherical harmonics, and the Experimental Gameplay Workshop.

ATI: Adding Spherical Harmonics to the Sushi engine

Spherical Harmonics are one of the rising stars of game visualization. I didn't understand the math when I first encountered them in 2001, and I don't understand it now, but the effects on dynamic lighting in games and other real-time-with-preprocess applications are quite impressive. Most of the current state of the art is due to Peter-Pike Sloan, IMO, and his work adapting and fixing the elements from the seminal paper.

We missed the first part of the talk, and therefore the eye candy demos, but the description of the experimentation they underwent adding SH support to their demo engine ("Sushi") was still interesting. One classic industry moment came at the end of the Q&A session, in which the questioner pointed out that having to manually indicate which "blocker" objects can shadow which "reciever" targets is quite a burden on the art process. The obvious thing to do at that point is automate, but the ATI rep said that it wasn't really viable, because of the need to specify the range of possible positions for lights, so you have to make the artists match up receivers and blockers for what they know that position-domain to be. (This is not a trivial process, and the presentation had many examples of cases in which the "obvious" matches fail in visually unpleasant ways.) The correct answer, of course, is "you can automate most of it, if you can give the artists a way to indicate where the light can be".

Carmack keynote

It was quite good. He's a decent speaker and his material was interesting. You can read a variety of accounts for more detail, if you want. He is, in many ways, still The Man of game development, so it wasn't really an optional event for me.

Experimental game workshop

If you ever get a chance to attend this -- and, for me, "get a chance" involves some high-stakes fiscal brinkmanship with my wife -- you really should. Really really. You don't have to care about games at all, really, and you certainly don't need to care about them as viscerally as I do.

The EGW (especially the Indy Game Jam portion) showcases some of the most engaging practical-thought-experiment work I've seen in any field, and I think anyone that doesn't come out of it inspired and astonished by something needs to have their wowothalmus checked at once.

This year we were treated to a demonstration of about twenty "pure minigames" built in 4 days around the loose constraint of "use this cool 2D physics engine" (that's the IGJ); a presentation of some promising-sounding but poorly-demonstrated "emotional intelligence" technology that people say is basically ready for prime time; some Stanford grad students' work with 6 DOF haptic interfaces adapted to gaming requirements; and a presentation of a truly incredible Japanese title (the screen shots don't do it justice) courtesy of its developer and a translator. There were other things as well, but I don't recall them right now as I sit on the plane; it's easy to fill your brain after just a portion of the 3 hours, and I wasn't going to look down for an instant to take notes.

Posted by shaver at 01:50 AM | Comments (3) | TrackBack