|
My brain is built of paths and slides and ladders and lasers and I have invited all of you to enter its pavilion. My brain, as you enter, will smell of tangerines and brand-new running shoes.
| Thursday, January 26, 2006 |
 Postscript |
Posted - 1/26/2006 2:51:26 AM | Holy crap... I'm so tired that I completely forgot to mention that I finally installed my TVWonder Elite and got it running tonight. I also seem to have broken my sacred tradition and posted a journal entry that does not fill a browser window at 1280x960. My only excuse is that I've been writing for the last three hours, and my brain is at the point where it has given up coherency, and decided it is much more fond of producing splatters of linguistic gibberish (ever notice how "gibberish" sounds a lot like "giblets"? There, that's the kind of stuff I mean).
The installation was a breeze, as far as hardware installs go. All told it took about half an hour to set up and get running; most of that time was spent goofing with video drivers before I remembered that I'm on Windows Server 2003 and the software wants Windows XP. (As a side note, thank you Microsoft for compatibility emulation. I owe you my soul many times over for that feature.) After that it took a few minutes to figure out why I wasn't getting any audio. Turns out my sound card drivers decided to forget that I told them to output over SPDIF to my surround sound decoder, so they were outputting standard stereo analog to... nothing.
As many users have commented out on the Great Intarwebnets, the software bundled with the card is pretty craptacular. It's not downright bad (I've used much worse in my time) but it is a little annoying. The channel change speed is fairly slow, but I'm not much of a channel-surfer anyways, so I don't really care.
Picture quality is superb, and easily outdoes the $15 VCR I had from WalMart. No complaints there, although the filtering algorithm does seem to do weird things to text.
Next quest is to figure out how to get it to record shows on a schedule, so I can get my Adult Swim fix without having to wait until the TV station deems it appropriate to air the shows. Silly TV stations. I'll probably go hunting for some better TV software for that, as the bundled package makes me want to kick someone's cat.
So... now I'm really going to bed. For real this time. But really I'm going to stalk your cat. Read my article. Generic subliminal message.
| |
 Making Good on Threats |
Posted - 1/26/2006 2:33:59 AM | The hour of dread is finally at hand! Draft one of Digging the Ultimate Sandbox is now posted for you to pick apart and violently disagree with. It's in Word format, partly because I am an evil Microsoft drone, and partly because the GDNet+ webspace won't let me upload RTF files, and the idea of ZIPping a 50KB document just to let you non-drones read it in a portable format makes every bone of my lazy body absolutely tingle with complacency. (In the interests of being nice, and fighting The Man, I plan to do a manual HTML conversion when the writing process is done. It's just far too much work to do that for a rough draft.)
This is the first of my iterations, so it is still very rough, disjointed, and verbose. If anyone has anything interesting to say about it (more importantly, if anyone can survive reading it) I'd enjoy the opportunity to factor your feedback into further revisions.
And now, being 2:40 AM and roughly three hours later than I would like it to be, I'm going to bed. Two more days of my evil job, and I'm home free!
| |
 Game Design |
Posted - 1/20/2006 5:11:15 PM | Every few weeks, I find myself in a position where I'm lurking around on GameDev, and my "regular" forums aren't updating. Usually these are the times when I rediscover forums like Software Engineering and Game Design, which never fail to have some really interesting stuff (despite moving very slowly). These discussions usually get me thinking about all manner of things, which can be good or bad, depending on whether or not I'm supposed to be getting something done at the time. Anyways, I finally got off my lazy butt and started making use of the "my favorite forums" feature, so maybe I'll show up there a little more often. (Oh, quit your screaming. I'm not that bad!)
Today (or more correctly, over the last couple of days) I've seen some really great stuff in there. As I remarked in my last entry, I decided to shift my article-writing (stop chuckling!) over towards the issue of delivering fun, compelling, and motivating gameplay in sandbox-style games. Today, the Issue of Choice is depth of game content.
Now I'm not talking about depth in terms of feature richness here. I mean like the good old-fashioned, philosophical, "turn your brain back on" sort of depth. Admittedly my list of gaming exploits isn't nearly as long as some of the more hardcore players out there, but even still, I can't think of too many games that had truly deep content. Even games like Halo and Deus Ex that are routinely praised for having great stories still manage to barely scratch the surface of what is possible; they're fun games, but they're not deep in the sense of really getting one thinking about things larger than the game itself. RPGs seem (in my experience) to come the closest of all genres here, but usually the content is so watered down and teen-oriented that the opportunity to explore truly deep issues is lost. It seems that, as time goes on, games are becoming more and more mainstream-palatable and less willing to venture into truly thought-provoking issues.
There seems to be a backlash against this. It's still a very young and developing backlash; not nearly as potent as the backlash against cookie-cutter shooters and other such tripe that floods the market. (As a side note, I predict that said backlash will reach its peak in the next three years, and we'll see a radical shift away from war shooters and other recycled crap as the market finally gets tired of it on a large scale and quits funneling cash into dumb rehash games. The "games are too shallow" backlash is looking at at least a decade of brewing before I think it will really start to have a noticeable effect.) The "gamer generations" are starting to grow up. Soon we'll start seeing the first generation of retiree gamers who grew up on games, had to give them up for "Real Life" for a while, and are finally getting back the time and spare cash to play. A little while after that, the average gamer age is going to skew wildly towards the older end of the scale, and I think we'll see a lot stronger desire on the part of gamers for stuff with actual content.
I enjoy reading fiction, and watching movies. I tend towards science fiction and philosophically-heavy books, because I like the depth of content. I like independent, "brain movies" and don't really enjoy pure-action summer teen bilge. I like the content. I like being encouraged to think. I like having my opinions and assumptions challenged - nay, not merely challenged, but outright shredded. I like my entertainment to require me to be in Brain On mode.
Which, I think, is why I've started drifting away from playing games. It's not that I genuinely don't have time (at least, not usually; during the X3 crunch was a different matter, but I'm largely free these days). I just don't care. Every now and then, I'll get some nice brainless joy out of BF2 or Halo 2 or whatever. When I have the energy I'll play on the FF series or the X series. But I'm increasingly finding myself just totally bored with games; they can't stimulate my mind the way other media can.
I hadn't really recognized that until today, reading through the Game Design forum. The specific thread is here, and I'd recommend it as a good read for anyone who can identify with my statements above. It seems that there are two reasons that people are drifting out of gaming: time, and interest. Time I can't do much about (except recommend polyphasic sleep schedules) but I think the game industry as a whole needs to answer for the proliferation of utterly banal games. (Yes, I realize this is largely because the dominant publishers are money-grubbing selfish bastards an economic issue.)
I think there's really starting to become an opening, in the gaming market, for games that can really appeal to people like myself who want their minds stimulated. I hear all kinds of raving about how "we have to do more to capture the casual market" but I think that emphasizes time too much and forgets the other opportunities. We're missing a lot of potential out there, and if someone can start really delivering good, thought-provoking, content in games, I think they'd find themselves in extremely high demand among the "older" gaming crowd (read: people who aren't in high school).
I've had a game concept for a while now, which I think I've mentioned here before. It's still not nearly developed enough to share, but the basic idea is that the entire game is built around exploring some very dark and deep issues of morality and reality. Sure, we've got the usual "violence excused because it's For A Good Cause" and "the Good Guy gets haunted by his evil deeds forever" cliches; those are so overdone (in all media) that they've totally lost their message and are just annoying now. I'm looking at something that reframes some core human issues in a way that is so dark, so twisted, and so utterly alien to most people that it forces a lot of introspection among anyone remotely intellectually honest with themselves.
Of course, it'd be great if such a game could start to explore the casual side of gaming more deeply as well. I'm really feeling a void in the market for RPG-style games that don't require ridiculous amounts of time investment; something big that I can get lost in, and immerse myself in, but can still quit in time to make dinner. It's a challenge, to be sure, but the industry is full of a lot of really smart people - I'm sure that we can manage it.
In short, I'm feeling some inspiration here. I want to take this game and really make it into a powerful example of how content can truly be delivered in interactive media. I fully believe that it's possible - even easy to convey some really deep and provocative stuff through games, and I think it's high time the industry started taking advantage of that possibility.
Maybe then I could start being a hardcore gamer again.
| |
 Article Update (of sorts) |
Posted - 1/16/2006 11:24:24 PM | So I was thinking of writing up the article that I threatened you all with. Actually, I've been thinking about it a lot. Originally, my intent was to do an analysis of abstraction methods and embedded languages in game development, and propose a mechanism for generating dialectic languages on-demand for generating rigid levels of abstraction arbitrarily for various tasks. The idea would be that the dialects would form enforced levels of arbitration and separation between disconnected architectural units in the engine itself; i.e. instead of a loose, code-level, likely-unwritten rule like "The FooBaz never interacts with Quux objects directly" you create an actual mini-language in which FooBaz objects have no syntactical way to interact with Quux objects at all.
Now, I'm aware of similar concepts like aspect-oriented programming and the general theory of language embedding. However, these things miss one element that I think would really make this whole abstraction notion powerful: interchangeability. Specifically, if I embed Foo in my application (or game) and add bindings for Bletch, I then have to redo the bindings in Bar when I want some of Bletch's functionality. Even worse, if Bletch depends on "engine-side" core elements of Foo to work, I have a nasty chain of dependencies.
Let me clarify with an example. At Egosoft, we do things in a custom-built bytecode language called KC. KC has a C-style syntax with deterministic garbage collection, native string and hash table objects, and some other goodies that make it extremely powerful and yet still very convenient for building stuff with. I've often wished I could use KC, and the extensive library functions it has, for stuff like web applications. (In fact, we do some of that, but in general it's more of a toy than a genuine web-ready technology.) The problem is, the functions I want (mostly hash tables) are bound directly to the X engine, and a large part of the library functions' implementations lies engine-side in the bytecode engine code. This means I can't just wholesale lift KC and make a standalone scripting shell with it, for instance. This is what most embedded, tightly-bound languages suffer from: they are too domain-specific.
Compare this with stuff like aspect-oriented programming, which is a lot less domain-specific, but is tightly bound to specific code. Aspect-oriented programming, to do genuinely useful work, has to be bound to very specific chunks of code, and that means it takes some work to move a block from one project to another, especially if the block has nontrivial interactions that have to be redefined in a new domain scope.
My concept here is to not actually generate new languages but instead dialects. We get the benefits of enforced encapsulation and very well-defined interfaces, but the syntax stays the same, and in fact we stay loosely decoupled from an actual execution methodology; that is, the dialects can be compiled, interpreted, etc. at will, and each layer can be relocated to a different execution method on the fly. Say we build a language, Baz, that we can use to generate C++ code, or KC code, or even compile direct to assembler and hand-tune. Now, we can define all of our game logic in Baz, and then manually relocate chunks of Baz to different systems as we need it. Performance-critical bits of Baz can be dropped into C++ and compiled, or shot straight to assembler. Pieces that we want to dynamically modify at runtime can be interpreted or bytecode compiled.
Even better, our programmers only have to learn one language: Baz. KC has vastly different semantics and "good style" than C, C++, Java, Python, PHP, or any other language I've ever worked with. It is very unique, and I've seen it throw very competent programmers for a complete loop. Yet it remains powerful precisely because it lets us define and enforce an abstraction layer that is distinct from the game engine. It is high level, but it can talk to very low-level code, and do very low-level things - and it can do it fast.
Anyways, I have this sort of nebulous ideal about building a Baz-style system, and making a project out of it to demonstrate the potential. Unfortunately, I have no real interest in writing formally about it. I've been meaning to do it for weeks, but every time I sit down to write, I end up not writing. Every time I think about sitting down to write I end up getting a burger or going to bed or shooting things in BF2. This is usually a sign that I've picked the wrong topic to write about.
So instead, I'm going to shift gears a bit. Earlier today I caught a thread on highly linear vs. sandbox style gaming, and it piqued my interests. In fact, it reminds me of a panel discussion at E3 last year, in which somebody (I think it was Peter Molyneaux) commented that sandbox gaming was going to either become really big or die depending on whether or not content creators figured out how to tell compelling stories in a sandbox environment.
At Egosoft, it's basically our stated and sworn duty to produce highly kick-ass sandbox games in space (although I think the official company mission statement uses slightly different vernacular...). I'm officially, by my paycheck, a programmer, but I do a lot of gameplay-level design as well; and the issue of delivering compelling, motivating content in a sandbox game is very much a major part of what I do.
Thusly, I think I'm going to write about that, as I've got some things to say that are a bit less dense and obscure than hypothetical language dialects and abstraction concepts. It also gives me an excuse to mention space aliens in my article, which is always good.
| |
 Grandpa Jim |
Posted - 1/6/2006 1:50:05 AM | A week ago, on December 29th, my Grandpa Jim passed away. I found out by way of an email from my parents the next morning (well, it was technically afternoon, because I had that Friday off of work for the New Year's holiday, and there's no way in heck anyone is gonna catch me awake before noon on a day off).
Grandpa Jim wasn't technically my grandfather. He was, by way of a fairly convoluted chain of remarriages, essentially my great-grandfather. I'm still not entirely clear on how my dad's side of the family works, but I know that for as long as I can remember, Grandpa Jim was a big part of it. He always was a lot of fun to be around, and always had some cool picture book, story, National Geographic video documentary, or bit of wisdom to share.
He had an amazing personality and spirit. He was a tail gunner on a B-17 during WW2. He was a fantastically devoted, loyal, and dedicated worker. He was the kind of guy who, in his early eighties, volunteered for a county sherrif's posse in Arizona of all places, where, for a few years, he packed a Beretta and went on manhunts in the desert. I don't think there was ever a church function or a community gathering that he didn't contribute to in some direct way. The guy was amazing.
Almost all of my memories of him are from when I was fairly young. I remember that, even when under pressure and agitated, he always spoke slowly, quietly, and calmly. It made a big impression on me, for reasons I still don't really understand. He had a really cool stutter, and would often stammer the first sound of a word three or four times before getting the rest of it out. I have no idea why, but when I was a kid, that was the awesomest thing ever. I remember thinking that, when I was that old, I wanted to have that sort of kind, gentle stutter myself.
The last time I got to see him was in August. He'd had some pretty bad kidney problems, and ended up with a DNR living will and a sad but comfortable slot in an assisted living home. For a while, he went through the typical habits of old age, inventing wild stories of kidnappings and conspiracies to try and drum up attention. Then, he just kind of dropped off the radar. He seemed to be doing fine for so long. In a lot of ways, I think a lot of us just kind of forgot that he was getting on in life and took it for granted that he'd be around for a while still.
I was with my parents for Christmas, and on Christmas Eve my dad tried to call Grandpa. He got connected to an empty shell, a broken man who didn't remember much of anything. This poor man tried valiantly to explain to the lunatic on the other end of the line that he was 88 years old, darn it, and I don't know why you're so interested in telling me about this kid that's supposedly my newest great-grandson, but I'm going to go eat lunch now. It was tough to hear, but we all more or less let it slide in the face of Christmas.
I can't get over how bizarre it is to know, on many levels of conscious awareness, that you have a relative who is near death; and yet, when they finally move on to that which comes next, it's almost always some kind of shock. It's not nearly as much of a jolt as if you weren't expecting it, but somehow, we manage to tell ourselves that it isn't going to happen just yet. There'll always be one more lucid phone call, one last photo, one last time to hear the old stories.
I don't understand death, really. The literal, physiological bit is easy enough: stop enough of the body's processes, and natural decay catches up with you and wins the fight. There's some metaphysical, spiritual type stuff that's involved, too, but somehow that doesn't seem to really play that much of a role from the observer's viewpoint. All I know is, I've lost a few people that I care about. It's always the same, too; the initial news is weird, but sort of numbing. It always takes me more or less exactly a week to really comprehend what's happened. And even after that, for years later, I'll catch myself having fond memories, and suddenly, with a sickening shock, realize that I'll never see that person again.
My first jolt hit tonight, somewhere between drinking Gatorade out of a gallon jug and taking a shower before bed. There's so much more I wish I could have done. People are so easy to forget when they're still here, but there's always one last thing you wish you could have said, one more experience to share, one more au revoir before the real goodbye.
I'm finally at a point in my life where I feel like I could really have appreciated some of the years of gentle, quietly passionate wisdom and power that my Grandpa Jim had. I feel like we could have had some very deep bonds, and had some great times. It's hard to accept that I'll have to be content with the times that we did have. It's even harder to accept that, no matter how many times I do this, I'll probably never really learn to quit taking people for granted before it's too late. The immortal folly of being a selfish human being, I guess.
When we visited in August, I think all of us deep down knew it was going to be one of the last good visits we had together. We were very blessed to all be in relatively sane states of mind (as "sane" as any of my family ever gets), and it was a good time to write the last chapter. Leaving from a visit like that is always awkward, but this particular one hit me pretty hard. As we got up from our seats to head for the door, Grandpa Jim grabbed my arm and pulled me back. For a person facing death and, in essence, virtually immobile all day, he was frighteningly strong and steady. He didn't even stutter. In fact, that conversation that day was the only time in my entire life when I can remember him saying more than two consecutive words without stuttering.
He stared in my eyes, and in his quiet, gentle voice, said "Michael, thanks for coming." It is an enormous honor, and an enormous feeling of responsibility, to have a man with that kind of character and legacy look in your eyes and, in not so many words, tell you that you have brightened the final pages of his life.
Somewhere, our family has a five generation photo, with everyone from Grandpa Jim on down to my nephews. I know that I've had a rare privilege to even know someone that far back in my ancestry, and yet I can't help but wish that I could have known him just a little bit more.
More than that, I wish that someday, I will be able to sit in my chair, look at my own great-grandchildren, and tell them that they are the happy ending of my own long and fulfilled life. I've never really been too concerned about death (mostly just the pain and the suffering that usually precedes it), but I don't think I could handle looking back on my years and having any kind of regrets.
It always hurts to lose someone you love. Even still, though, I'm happy for Grandpa Jim. He got by with, by all accounts, a decent minimum of the unpleasantries of old age. He got to see things happen and change in his lifetime that I can't even begin to imagine. All in all, he checked out of the hotel just before booking time, and it worked out pretty good for all involved.
I know for sure he didn't have any regrets.
So long, Grandpa Jim. Sometime, when the rest of us finish up our dues here in this world, we'll have to meet up again, and make up for lost time.
Say hi to God for me.
| |
 Assorted Crap |
Posted - 1/3/2006 9:36:46 PM | So I'm drinking another Bawls on Gin at the moment, surfing around a bit, getting ready to crack open the copy of Pulp Fiction that I just got from Netflix. I have three pieces of advice for my readers:
1. If you have not seen Pulp Fiction, rent a copy and see it.
2. If you have not signed up for Netflix, go do it. Now.
No, seriously - stop reading this and go sign up for Netflix. Best. Service. Ever. I love not having to go to my crap podunk Hollywood or Blockbuster, discover they are closed, rant in anger, go back over lunch break the next day, and discover they do not have the title I wanted to rent. Netflix is awesome.
3. If you have not tried Bawls on Gin, go do it. Soon. Maybe not now. Honestly, though; get yourself a pack of Bawls, a bottle of Tanqueray or Bombay, and mix one up - 1 bottle Bawls, 1 shot gin (vary the amount of gin to taste; I prefer about 1.1 shots worth). This drink is amazing and you want one. I expect all two of my dutiful regulars to report to me within the week that you have tried Bawls on Gin. I fully expect, at some point in the relatively near future, to be able to actually order this drink in a bar, and have the tender know what I'm talking about. Spread the word, minions loyal friends people possibly semi-sentient (or better) reading audience someone. I think.
Other than that... I'm drafting my article off and on. I have a slow, perfectionist method to writing formally, so it may be a while, but as soon as I have a completed and more-or-less coherent draft I'll post it for evaluation before I start revisions.
I've also got the beginnings of a very large, very intricate, and very twisted plot concept jotted down in Notepad, sitting on my desktop. I'm not going to say any more about it, because I need more time to really understand what I'm thinking (if I'm thinking at all) before I start discussing it publicly. Suffice it to say I've bounced it off a couple of people and gotten exceedingly good reactions, so I'm hoping to fully pursue this concept at some point in my game-writing future.
I'm also getting very, very close to finishing up my day job and going full-time with Egosoft. That makes me exceedingly happy, because I'm sick and tired of this product and just want to be done with the thing.
Anyways, happy 2006, and such, etc.
| |
In locus hic, omnes res dementes sunt.
|
| S | M | T | W | T | F | S | 1 | 2 | | 4 | 5 | | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | | 17 | 18 | 19 | | 21 | 22 | 23 | 24 | 25 | | 27 | 28 | 29 | 30 | 31 | | | | |
OPTIONS
Track this Journal
ARCHIVES
July, 2009
June, 2009
May, 2009
April, 2009
March, 2009
February, 2009
January, 2009
October, 2008
September, 2008
August, 2008
July, 2008
June, 2008
May, 2008
April, 2008
March, 2008
February, 2008
January, 2008
December, 2007
November, 2007
October, 2007
September, 2007
August, 2007
July, 2007
June, 2007
May, 2007
April, 2007
March, 2007
February, 2007
January, 2007
December, 2006
November, 2006
October, 2006
September, 2006
August, 2006
July, 2006
June, 2006
May, 2006
April, 2006
March, 2006
February, 2006
January, 2006
December, 2005
November, 2005
October, 2005
|