Jump to content

  • Log In with Google      Sign In   
  • Create Account

The Bag of Holding

Would you like a side of spam with your spam?

Posted by , 20 May 2006 - - - - - - · 72 views

I hear we have a preview feature in journals now. I must test this rumour to see if it is true.

Also, being a non-mortal, I'm obligated to keep up a quota of journal updates. Or so I've been told.

Lame Excuse for Content
I finally got Milton swapped back over to the public half of my network today. The TKC site remains dead (and will do so until I get home in 2 weeks, and probably after that) but there is still hope: the Epoch Language Project site has officially had its [very crude] launch and is open for business. Someone has actually already started feeding content into the wiki, which is great, because I'm far too lazy to do it myself at this point [grin]

So. Woo, I guess. The crazy awesome, etc. I'm far too tired to really care all that much... it's basically just another item to tick off my list.

One day to go... just need to actually pack and I'm all set. I'm starting to really look forward to this trip, if for nothing else than the chance to sleep for a while on the plane.

(... and I can now officially confirm that the Preview feature works. Awesomeness.)


Posted by , 19 May 2006 - - - - - - · 104 views

The hits just keep on coming...

I've gotten the dummy-render hack done for the cutscene system. It's very "dummy" and exceedingly "hack," but it works - I have an entire content pipeline that goes from a nifty little XML file to a moving box on the screen. I'm so proud.

So far, the system weighs in at 3184 lines of code, comments, and whitespace (not counting the XML schema or the library code that parses the XML file itself, neither of which are really specific to this particular subsystem). That may seem like a classic case of overengineering, in light of the fact that all it does is move a box around the screen, but rest assured the real demands on the system are a little more sophisticated [wink]

Basically, at this point, the system has all the code and data infrastructure needed to render complex cutscenes and effects, given an input XML file. However, a lot of the specifics are not yet implemented, and there's a long list of little features that still need to be added. So in essence I have a sort of skeleton-zombie-thing, and the final result will be a sort of Frankenstein's-monster. Except that sounds kind of pseudo-scientific and involves a lot of dead bodies, which hopefully are two things that will not be true of the cutscene engine.

Oh, it can also play little sound effects, too - my demo cutscene plays a little bloop noise.

Going from this to rendering live game objects will be tricky, because it will actually require modifying some of the simulation logic. Sort of. In any case, I'll be getting that planned out (and possibly implemented) next week when I'm in the main office, so it's nice to have all of the supporting infrastructure code done already.

There's a lot of improvements to be made as well. Right now everything is done in integers, which is stupid and inaccurate; eventually the system will be converted to internally use fixed-point math. Some of the 3D object tracking code is really hardcoded and needs to be generalized so I can have more than one floaty box on the screen. Different parts of cutscenes need to have a configurable Z-order. The system utterly vomits if you want to display stuff with an aspect ratio other than 1:1. And so the list goes on.

Those refinements will take some time, to be sure, but they represent fairly easy "speed bump" challenges, as opposed to the large "invasion of Normandy" sort of obstacles that I've been fighting with up until now. So the goal of having a working version of this system by the end of the month is very much on track.

Whew... it's been a hell of a week. I'm tired but not totally exhausted/dead yet, which is sort of amazing given how little sleep I've had in the past 4 days. My brain, however, is totally shot, and my will to write code is completely drained. Time for a Potion of Restoration and some Rest -- by which, of course, I mean that I'm going to go play with my new laptop.

My old laptop's name was Terra (after the FF6 character), to reflect the mystery of its past and the grand epic adventure it got caught up in (i.e. my life, harh harh). In that tradition, I've named my new machine Relm... because it can paint pretty pictures. Hah.. hah.. I'm so darn clever.

Alright, I'm quitting for real this time.
(/me quietly peeks at Daerax's journal to make sure he's still updating more often...)

Toys to play with! Yayy!

Posted by , 19 May 2006 - - - - - - · 80 views

Woohoo! My nice shiny new W2Jb has arrived. I type now on the most beautiful and powerful laptop I've ever seen.

This thing is really huge, compared to my old 15" Toshiba. It's like having a small European country of your own, except it's worth more. Despite the bulk, it's a very light machine, and quite comfortable to use. My only real question is why they crammed the keyboard into the typical "really tiny laptop keyboard area" instead of letting it expand a bit, but that's really not a huge issue for me, since I'm used to confined keyboards.

Sucker runs really hot, though. I hope it settles down a bit when running off batteries, but at the moment I think it's trying to see how long it takes to turn my thighs into barbecue.

I haven't gotten any work done, I'm slightly ashamed to admit, largely due to jumping up every 30 seconds whenever a car went by, just on the off-chance it was in fact a rogue UPS truck trying to stealthily escape my notice. Much to the disappointment of my imagination, a regular old brown UPS truck arrived earlier this afternoon and delivered the goods in the traditional fashion.

The box with the case was slightly beat up, by which I mean there was an 8" gash in the side of it, and it was oozing out entrails in the form of styrofoam packing peanuts. Triage had apparently slapped some quick packing-tape bandages on it somewhere along the line and called it good, but the delivery guy was really nervous that the package might have been destroyed. Thankfully, the laptop's box was not similarly wounded, and everything arrived unharmed.

The laptop ships with Windows XP Media Center Edition. I have no real particular feelings about that. Normally, I hack up all my machines to run server OSes, because I like the fine-grained system control afforded by an OS that assumes you are not, in fact, an incompetent slavering fool. I had forgotten just what blatantly condescending lengths XP goes to in its quest to prove that no, you do not in fact know what you're doing, and Windows should take care of everything for you. I've beaten in back repeatedly and scored a few points in the battle, but the war is far from over.

Once I get XP tweaked to treat me like a competent adult, it's time to strip off all the third-party cruft that ships on any retail PC these days. I mean, really, I don't need 3 different slideshow programs, 2 different wireless network managers, an extra volume control applet, or a crap Internet "Security Suite" from those unskilled bastards over at Norton. I just want a clean, healthy PC, thanks.

And, of course, once all the nifty little junk applets are blown into the netherworld (and the Recycle Bin has been emptied) it's time to drop a couple of games on here and see what this sucker can do.

Don't expect to see me for... a long time [grin]


Posted by , 18 May 2006 - - - - - - · 77 views

So I finally broke down and slept for a couple of hours. Amazingly, I actually woke up before my alarm and feel completely fine, even after only 5 hours of sleep. My body is in a really weird operational mode right now.

I snoozed not so much from exhaustion but from boredom; last night I had the position updater loop about 80% done, but just didn't have the force of will to sit down and finalize it. So things are "movable" and get passed through the data pipelines, but no movement computations are actually done at this point.

Part of my quandary is that it's hard to do movement calculations when I don't have anything to move - specifically, there's no 3D or 2D "thing" yet that corresponds to the moving entity, it's just abstract. Of course, I figured out about 3 minutes after laying down that I don't need to have anything; I can still compute the effective coordinates that something should be at, and at least dump them to the debug log each frame. Naturally, though, at that point I wasn't about to get back up and work on it.

So basically at this point I'm down to two tasks: generate actual coordinates for things as they are moved along keyframed animation paths, and then attach some little colored blobs to them so the whole thing becomes visually meaningful.

I'm a hair behind where I'd like to be; when I first sketched up my task list for the week, I had planned on getting a working dummy render by yesterday. That kind of got flushed down the tubes due to a bunch of personal stuff that came up earlier this week; so all in all I could be farther along, but honestly I'm not disappointed in my progress so far. In fact, compared to my relatively slack progress overall in the past few weeks, I think this mini-crunch has gone extremely well.

Ever since the laptop and case arrived in South Carolina, they've been in the same batch of stuff moving down here to the Atlanta area. I can tell because the timestamp of each scan in the tracking report is identical for both items. At this very moment they've arrived in the local distribution center (at 1:55 AM) but haven't yet been put out for delivery. I'm curious if they'll be delivered separately (due to one being a 2-Day Air package) or if they still both count as "general" packages and will get put on the same truck.

In any case, I think I need to get some code written now, because once that stuff shows up I'm basically going to not care about work ever again [grin]

This week has been a really weird feeling. I'm not sure if sleep deprivation is just making me excessively emotional, or what. Last night, at a late hour, I had a twinge of that old feeling (which I've written about before) of "wow, it's really Late at Night." You know, the feeling you get when you're 8 years old and sneaking back downstairs to watch late-night cartoons when everyone else is asleep. I haven't felt that in a very long time.

This morning was another interesting one. I'm fairly accustomed to being up at 6AM/sunrise/buttcrack-of-dawn type hours, especially these days when I've been tending to work all night. This morning, though, was somehow different.

When I was a kid, the only time I ever really got up "early" (by which I mean any time more than an hour before my "normal" wakeup time) was when we were getting ready for a big trip. I have many memories of waking up groggy and confused, knowing only that I didn't want to get out of bed, and then suddenly realizing that it was Trip Day.

Trip Day always gave me a rush of feeling. I've travelled so much that I don't get nervous about it anymore, and haven't for years - but that first moment of realization on Trip Day always involves that sort of vague nagging sense like I forgot something. Oddly enough, I've usually forgotten something, but it rarely turns out to be important. (Except for the time I did a winter tour of Germany and Austria and forgot to pack any socks. Duh.)

The doubt doesn't last very long, though. In fact, it's usually only a split second later when the really potent feeling rushes in: the overwhelming sense of promise and possibility.

One time, just before a really major move, our family went out to the beach in Florida and watched the sunrise over the water. I still remember - vividly - the image of the sun just struggling over the horizon, dim and a little cold in the morning mist. We walked along the beach and watched literally hundreds of crabs go about their routines. We'd been to that beach dozens of times and I don't think I'd ever actually seen crabs there.

In a lot of ways, that experience has permanently crafted my impressions of sunrise. Lately, I've been seeing a fair number of sunrises, but they just don't have the same impact when you see them after hours of work and are passing-out exhausted. There isn't enough time or energy to experience a sunrise like that.

Waking up to one, though, is still a rush. Memories of waking up to other sunrises - or long before sunrise - unleash a flood of other memories. Places. Experiences. People I'll probably never see again. Funny stories. Sad stories.

All of life is waiting at sunrise. Nobody knows what may come in the day ahead, but for now, that doesn't matter. For now, everything is promise. Everything is hope.

It's time to seize the day, and, as Calvin would, to throttle it.

Work. I won't talk about my laptop (much).

Posted by , 18 May 2006 - - - - - - · 93 views

Well, this has been a fun week. As I mentioned earlier, I'm doing a sort of self-imposed crunch mode to try and nail a deadline. At this point, it's working - as measured by the fact that I can no longer coherently remember when I have slept over the past 2-3 days. Thanks to the miracle of caffiene and my utterly borked metabolism, though, I'm still running strong and should accomplish my goal.

When I started this thing, apparently around 6:30 AM on Wednesday (which seems like about a month ago now), I had three major things to do: design the final XML schema for the cutscene format, design and code the XML-to-live-data loading routines, and build a dummy rendering system that uses colored blobs/boxes to show how the timings and positioning systems work.

I've now finished an early, incomplete draft of the schema; it will validate most working cutscenes, and is only missing a few minor elements. The tricky bit is that those elements are some of the more powerful tools in the cutscene system, so only really simple scenes can be defined right now. However, I do have a demo scene expressed entirely in XML that everyone can look at on the team, which is very useful. I'm now about 70% of the way to proving that my design actually does work [smile]

I also have the loader code designed, and the rendering loop is stubbed in but not quite done. The only really big design thing left to do is the entity position update loop, which will be called each frame, and is in charge of moving around all the little elements in a scene - everything from the camera and the window containing the rendered content, to the ships, missiles, and alien corpses. Thanks to the highly generic data model I've built, that will be very easy to finish.

My goal for today is to have the XML loading code totally done so that I can actually go from a scene described on disk to a live cutscene object set in memory. From there it's a short step to actually doing rendering. (Actually, according to my official plans, that was supposed to be done yesterday - but I've basically only got to go from my extensively detailed notes to actual code, which will move quickly, and the schema took a lot longer than I expected which pushed this back a bit. More on that later.) The other thing I want to get working is the entity positioning code.

With those two things out of the way, I'll have a solid day tomorrow to put together the actual colored-blob-rendering stuff, which really only constitutes adding a few API calls to the 3D engine from the existing render loop code. Then I have the weekend for debugging, polishing, and not working because my new laptop will be here and I'll be playing with it instead [grin]

The Laptop
OK, I'm really doing my best not to gush about this for pages, but I just can't pass up this observation.

I ordered the machine itself from a store on the West Coast, and a new case from Newegg (also West Coast). The case shipped first by several hours. Both are now at a UPS routing center in South Carolina as near as I can tell from the tracking info. The case, however, has spent the last 16 hours there doing nothing, and the machine just got there a few hours ago.

Both shipped on the same day - the computer with 2-day Air shipping, and the case with 3-day. Both are scheduled to arrive the same day. Both came from the same geographic origin region, so there's no weirdness there to excuse the time difference.

Go figure, eh?

Visual Studio 2005's XML Schema Editor
This thing is just too much fun. I spent literally hours last night dragging around little boxes and arrows, and making my stuff look cool. VS2005 generally has some really slick XML editing features; if you've ever done XML by hand in Notepad, coming to a fully syntax-highlighted environment with IntelliSense is like some kind of paradise. I actually sort of like XML now, which feels vaguely dirty to say.

However, there's a long ways to go. I haven't ruled out the possibility that I've missed something important (and please, if you know of a way to ease my pain, let me know!) but there just seems to be some important stuff missing.

First of all, this thing should work more like Visio. I want to be able to show hierarchies unfolding in ways more diverse than "tree expanding to the right." Can I please be permitted to drag boxes under their parent nodes? Can I show some more interesting stuff than just self-expanding globs?

Second, the positioning code is way too forgetful. If I minimize a node in the hierarchy, the size and position of its first child will be remembered, but none of its higher-generation children. So when I reopen the node, all the boxes jump back to the standard size, which usually is not a good size.

Third, the sizing system is just kind of dumb. Say I define a complexType of Foo, and have three different other CTs that hold a Foo child element. If I resize the box for the Foo CT, none of the linked reference boxes resize; I have to resize four boxes. Since the default box size is too small to show long identifier names, or long lists of attributes/subelements, I do a lot of resizing. Combined with #2, and... it gets ugly.

Fourth, as a very important shortcoming, there's a lot of stuff you can't touch in the visual editor. I can't specify minOccurs and maxOccurs constraints anywhere in the UI that I've found; I have to go do it by hand in the XSD code. That makes editing a bit of a pain in the ass, and it makes the visual editor less than useful if you're trying to learn how a schema works. Since vital information (like occurence constraints) is not visible at all in the visual editor, I can be totally confused or even outright misled unless I read the XSD code. Seems like it kind of defeats the point of having a visual editor...

Finally, I'd really really really like it if I had some annotation features. I just want two: the ability to draw a rectangle around a group of "stuff" in the schema, and the ability to drop in floating text labels. Seriously, this thing needs to work more like Visio. If I could group and label nodes, and if the other stuff got fixed, the VS editor would easily be the sexiest XML editing suite ever.

Maybe in VS2007.


Posted by , 17 May 2006 - - - - - - · 80 views

Dear customer,

Your order has shipped out via UPS on 2006-05-17. Please use the
following tracking number to check on the shipping status.


Note that it may take up to one or two days for the package to appear in
your shipper's tracking system.

You may also check your order history by logging into your account located
under My Account


I swear, I'm just sickening today. I'm like a giggly schoolgirl on crack, being tickled by pink fluffy unicorns and rainbows in the Land of Lollipops. Except more bouncy and happy.

I mean, seriously - I've very literally sacrificed the last vestiges of manliness I had. I have absolutely no testosterone at all at the moment. I'm just a sphere of pure geeky, squealing joy.


Posted by , 17 May 2006 - - - - - - · 93 views

So I bought myself a really nice new laptop and a nice new case to go with it. I did something fairly unprecedented in my internet-buying career and paid for fast shipping on both, since I leave Monday for two weeks and want to be able to take my nice new toys with me.

So, after having to deal with a bunch of red tape with my bank to authorize the $2300 worth of charges on my debit card, I finally managed to get the laptop itself actually shipping. Currently, the order status page says its "in warehouse" which makes me suspect it's ready for pickup by UPS (although I can't be sure). When I talked to the customer service guy on the phone earlier today, he mentioned that the pickup time was fairly late in the day; this place is out on the West Coast, so there's still a good chance it might ship this afternoon. If it does, I'll have the machine on Friday, and I get to take it with me, woot woot. If not... Mr. Support Rep claims they do not do weekend deliveries, so I won't get to see my new shinies until I get home. In two bloody weeks.

The glimmering ray of hope is that the new case is already in South Carolina and should be delivered Friday for sure. So at the very least I'll be able to carry around my old beat-up laptop in a shiny new case.

But I'm still really hoping the laptop makes it before I leave, because I really want to play with it like right freakin now because it's so freakin hot.

Seriously, I am disgustingly excited about this machine. I guess I was psychologically overdue for a hardware upgrade and just didn't realize it. I'm going to be suicidally depressed if I have to spend two weeks on another continent fantasizing about it and totally unable to actually use it.

Work, the four letter word

Posted by , 16 May 2006 - - - - - - · 72 views

The remainder of this week is going to be interesting.

I've self-imposed a minicrunch for this week in order to ensure I hit a project milestone that involves this cutscene stuff I've been working on. The week out for E3 set things back a bit further than I would have liked, and I'm going to have to really push hard to get to where I want to be. This is especially important in light of my upcoming trip to the main office, where I'll undoubtedly be grilled in person on my progress [smile]

The goal for the end of this week is to be showing live renders of "dummy" scenes that just have colored blobs moving around and doing their stuff. So far, I have everything ready to go except for two key features: loading a cutscene from XML data, and actually drawing the blobs. Going from the blobs to full-on rendering will be a fairly minor step, and having the dummy-render demo ready will really let me show off the power of the architecture I've been building.

At the moment, I'm copying off some asset files from the main repository so I can run the latest build of the game. I don't actually have any testable code at the moment because I have no way to load my test scene (aside from hardcoding the class instantiations, which I really would rather avoid), but I'll need a running test environment anyways, and now's as good a time as any to get that taken care of.

The next tickbox on my agenda is to update our wiki with proper details on how this thing works, and revise a few areas that have changed in design as I've been writing actual code. Once that is done, it's on to XML loading.

The XML bit will actually be a bit of a pain because I first have to create a proper XML schema, and then convert my on-paper dummy test scene into the corresponding XML format. That unfortunately will probably take a fair chunk of time in and of itself, which is going to make it dangerously hard to get finished and ready for rendering and debugging before the end of the week.

But hey, what's life without challenges? And who needs to sleep, anyways?

Nerdgasm alert

Posted by , 15 May 2006 - - - - - - · 86 views

Oh dear God, I am so very, very weak.

I just bought a W2JB. For the first time in (I think) my entire career of buying stuff on the Internet, I also paid for expedited shipping, in the hopes that I'll have the box to take with me to Germany next week when I go visit Ye Olde Company Headquarters.

I am currently sickeningly giddy. Buying new toys always makes me excited. Just be glad you don't have to be in the room with me when it arrives; the squealing, school-girl-ish giggling, and cuddles of geekish delight will probably be enough to make anyone's head asplode.

I have GOT to get me one of these...

Posted by , 15 May 2006 - - - - - - · 100 views

Mmmm... soo hot...

I have definitely got to get in on some of that action.

January 2017 »

15161718 19 2021