Intel sponsors gamedev.net search:   
The Bag of HoldingBy ApochPiQ      
Apoch's Avatar

Apoch
XP: 64,738
Inventory
Special Items: Shpongle | XBox Live
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.
Page:   1 2 3 »»

Saturday, May 27, 2006
Well, I'll say one thing... us Germans sure do know how to make a beer.

Tonight's brew of choice was a nice Erdinger hefeweisse. Light, smooth, and very gentle. It's a good beer, although slightly too light for my personal taste. One thing I've noticed is that the imported shit we get in the U.S. is generally very little like the actual local brew, which is invariably much better fare. Such is life as an American: doomed to drink the leftovers of the rest of the world, who all actually have good taste.


Anyone know of any other good brews I should try and snag while I'm here?

Comments: 3 - Leave a Comment

Link



Friday, May 26, 2006
The first word that comes to mind is "enlightening."


Actually, the first thing that comes to mind is rather a phrase, and the words typically average four letters. I won't repeat it here, as I suspect even the veteran sailors among us would be made slightly uncomfortable.


(Now I'm out of hyperbole and melodrama, so I'll just tell it straight. OK, maybe with a little bit of exaggeration. You know, screw it - 99% of what follows is probably total lies. But at least they'll hopefully be entertaining lies.)


So this cutscene system is getting larger. And by "getting larger" I mean that I am more or less resigned to dwelling in a cave for several millenia, doing nothing but writing code and subsisting on recycled guano, just to get the outline of the functionality done. It should only take a couple of lesser eternities to actually produce a working alpha.

It isn't really as bad as I'm trying to make it sound, but it is rather severe. Originally, I'd understood the system as having two main parts: a sort of generic rendering service that draws pretty movie clips on the screen, and a semi-intelligent decision system that picks out different interesting things to draw, and feeds them into the rendering chain. I arrived here at the company office proud of my accomplishment (I'd finished a viewable prototype of the render chain, loading a dynamic scene from XML files) and was ready for my parade in the streets, complete with fountains of beer and numerous women with... shall we say... highly friendly dispositions. Well, I would have settled for a "cool, you're on schedule, that's great. What's next?"

Instead you'd think I came in and announced that I was going to kill everyone by suffocating them in my rectum. There was that kind of awkward silence and shuffling-of-feet going on. Although, to be fair, I was asked to give the presentation rather suddenly. I'd dismantled the actual live-demo part in the airport during a layover on the trip over, so all I really had to show was stuff that's been in the project wiki for almost two months, and the demo XML file. I'd also been roughly awakened from my jetlag-induced nap no more than an hour before. I'm not entirely sure if the response was due to my presentation's utter lack of content, or if I inadvertently used a term like "schweinhünd" along the way. I may never find out.


In any case, as it happens, the expectations for what this system will do have grown quite a lot since the last team discussion we had (at least, the last one I was involved in). The "semi-intelligent" side of things - the part that picks out cool stuff to show on the screen - has inflated a bit. I would have been ready to handle, say, Data from Star Trek, or perhaps even the HAL 9000. Unfortunately, things are slightly out of hand. Suffice it to say that by the time this thing works according to the current spec, it will set new standards for measuring just how smart something is. In fact, if you randomly pick a sequence of 10 lines of code from the (hypothetical) finished code, those ten lines will - by themselves - be smarter than Chuck Norris. I think it is now clear just how far things have gone.


The system now is going to need at least three tiers on top of the existing (and basically done) rendering framework. The first is a sort of cameraman that is responsible for composing individual shots, given a list of subjects (a ship, a planet, and that thing over there that's blowing up) and some priorities (explosions cool, planets pretty, ship not so important just now). This will be challenging enough simply because it requires a lot of logic that is typically approached subjectively by the artists - which is to say, there are no written rules for how to make a particular shot "look good."

It doesn't stop there, though! The next layer up is a sort of director, who will go over a scene and pick out groups of interesting subjects. The director then gives the subjects to the cameraman logic and says "make a nice shot showing this stuff over here." After the cameraman decides on a shot, he generates some parameters for the render pipeline, which then in turn boils things down into atomic operations in the actual 3D engine itself.

Overwhelmed yet? We're not done. The final layer is an evolution of the "event watcher" system that I'd originally thought was all the smartness needed by this thing. This top layer observes the entire universe and acts as a sort of agent for the player, picking out hotspots of "important things" and telling the director logic to show them.


To make this all the more interesting, each layer has to be accessbible directly without touching the upper layers. So we need the power to manually control a scene (which is now basically finished), or to manually control what shots are displayed, or to manually specify an environment in which the director should find interesting stuff to show.

Thankfully, I've got a very solid base design that will be able to handle all this data, and stacking the different systems will work out. It actually fits nicely into the horizontally-stratified abstraction/"mini dialect" concept that I've burbled about at great length. The only downside is that all the people interested in the system itself are also people who don't spend their time contemplating software architecture, so it's very hard to convince them that A) all the work I've done on the base rendering chain is actually necessary, and B) it's better to build this from the bottom up as a general system, instead of just hacking in a bunch of special-case code to finish the tech demo they want to see.


Interestingly, the artists themselves don't really see this as feasible for the most part. Most of the pressure is coming from Down On High to reduce the amount of work needed to generate cutscenes, plus of course the obvious bonus that once we have this technology we can use it all throughout the game for various cool things. The term "clever code" has been abused enough to make a two-dollar hooker feel positively loved. I've started privately referring to this entire escapade as the "Artist ex Machina." I deeply fear that the code may need to be more clever than I am, which makes it a bit hard to write - and debug. (There's some famous quote about that somewhere but I'm too lazy to dig it up.)

All of this stuff might be possible, maybe, but it's going to take a heck of a lot of work, and even after all that, we have no guarantees that the results will look good. So no pressure on me, really; we don't have an entire product design riding on this, or anything. That's definitely not a big load to carry out of bed every morning. Nope.

But then again, hell, this is what I live for. I was perpetually pissed at my last job because I never really had any major challenges. I'm just getting what I wished for... now I have to find out if that wish was a dumb mistake


There's plenty of other interesting little tidbits of team culture and personality coming to light, but I'll have to bore you with those at a later time, because right now I should probably be working

Comments: 3 - Leave a Comment

Link



Thursday, May 25, 2006
ULTRA EXCLUSIVE TOP SECRET SCREENSHOT OF THE NEXT BIG PROJECT FROM EGOSOFT!! CHECK IT OUT RIGHT NOW!

Comments: 2 - Leave a Comment

Link



Wednesday, May 24, 2006
OK, now this is just cool.

Here at the office they've got a little mini instant espresso machine thingy. You get a little pre-sealed, individually wrapped chunk of compressed coffee, stick it into a little slot, select your preferred strength, and poke a button - and in 30 seconds you have a nice little espresso. Preheats the water to all the magical temperatures, and all that stuff.

Apparently it can do proper cappucinos as well, but it's something of a black art to regulate all the temperature and stuff. Andreas, our 3D engine guy, is apparently the local master of the art, so I'll have to get some training before I leave.



And now back to work, with proper updates later.

Comments: 3 - Leave a Comment

Link


Well, this has been a most disorienting 24 hours.

I arrived in Frankfurt yesterday (I'm pretty sure it was yesterday...) at about 6:30 AM, half an hour early. Let me tell you, these German folks really know how to run a passport control/customs line; I've been a few places and Germany has consistently (both times I've been here) been fast, efficient, and utterly painless. Didn't even have to fill out any forms. Pity that all the engineering skill in this country couldn't save the horrifically bad security design at the Frankfurt airport... it's an utter nightmare. If you've ever flown through there, you know what I mean. If you haven't... well, it's more or less indescribable. Just imagine getting mag-wanded and cavity searched every 30 paces or so and you have a rough idea of the situation.


I finally managed to escape the aiport and down to the lower levels where the train station hides. I really need to learn to read the language better, because I was about 10 seconds from missing my train when I realized that the huge destination it had displayed on it (Brussels) was in fact the endpoint, and my destination (Aachen) was very much on the route. Whoops. At least I made it on...

... for all the good it did me. I got to the Aachen train station in about an hour (damn, high-speed trains are fun!) and proceeded to find absolutely no one and nothing that I recognized, except for a McDonald's. Now, I was fairly clear that the arrangement had been for someone to meet me at the train station, so after hunting around for clues that I was in fact in the right city, and was in fact in a train station, I figured it was panic time.

Thankfully I had the sense to get the office's phone number before I left, and bungled through the payphone interface until I got ahold of someone and pleaded for rescue. (It took me a few dialing attempts of punching in the sequence of numbers and being scolded in German. I finally figured out that the "49" I had scribbled at the beginning of the number was, duh, not part of the number, but the country code. A German pay phone didn't want me making international calls to... Germany. Are we confused yet?)


After that relatively minor hiccup, I learned that the (admittedly crude) flight itinerary I'd sent over had listed my departure as the 22nd (which is true) and arrival as the 23rd (also true, due to the overnight flight) but nobody had noticed the "23rd" part. So apparently I was expected a day ago... whoops. It also turns out that there's a holiday this week so there's really only one solid day of work when everyone will be around.


I crashed at the hotel for a couple of hours, and then was awakened by a phone call and summoned back to the office. (Which was fine with me, since I was fairly bored at that point.) Unfortunately, there is no clock at all in the hotel room, and I'd left my laptop in the office. So when I woke up, I literally had no idea what time it was. That state more or less persisted until I came back to the hotel later that night and crashed again. However, this time I had the sense to bring my laptop back and rig up a little alarm clock mechanism, which proceeded to wake me up at midnight and 6 AM. I wish I could blame a mysterious technical gremlin for those problems, but they were literal times that I chose for no reason I can recall. It made sense at the time, I think.

I think the idea was to get up early, do a couple hours of work, and then hike over to the office (it's a pleasant walk through a nice little wooded area from the hotel) around 10 AM or so. Except I went back to sleep instead, thanks to the awesomeness that is a good duvet, and woke up just a few minutes ago.

Much to my shock (given the semi-rural-ish area the hotel is in), I discovered at some point during all that madness that there's an open wireless access point somewhere close by, so I can take the time to write long-winded and pointless journal entries without having to explain to anyone why I'm on GDNet and not writing code


Anyways, I think it's getting close to time to head out. I have to spend some time talking with the artists about some stuff, which I don't really remember clearly at the moment, and will have to describe properly later.

... but maybe I'll go back to sleep for a few weeks first. I need one of these at home...

Comments: 0 - Leave a Comment

Link



Tuesday, May 23, 2006
I'm here, and already busy as all get out.


More later, maybe

Comments: 1 - Leave a Comment

Link



Sunday, May 21, 2006
Woo... now that is the way to crash after a crunch week! I slept pretty much all day today, so really all I have to do now is throw some stuff in a suitcase and burn some time until my flight leaves.

Apparently, Germany is cold, which I do not particularly like (being a tropically-blooded kind of guy). So I have to pack lots of warm clothes, which means lots of volume. I sure hope there's good laundry service at my hotel, because I'm definitely not going to be able to fit 2 weeks worth of warm clothes into my dinky little suitcase.


I more or less skived off work today, what with the sleeping and all - and hell, it's a weekend anyways. Once I get done packing I think I'll make a night of it and play some games.

Next stop, Germany... unless of course there's good free wifi in Charleston (layovers FTW!) in which case I'll make a quick update from there, just to annoy Daerax


On second thought, if GDNet continues to be this flaky, screw it. This is getting really damn annoying.

Comments: 1 - Leave a Comment

Link


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

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.)

Comments: 2 - Leave a Comment

Link



Saturday, May 20, 2006
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


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...)

Comments: 3 - Leave a Comment

Link



Friday, May 19, 2006
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

Comments: 3 - Leave a Comment

Link


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



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.

Comments: 0 - Leave a Comment

Link



Thursday, May 18, 2006
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

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




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.

Comments: 0 - Leave a Comment

Link



Wednesday, May 17, 2006
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.

[snip]

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


Woooooo-freakin-hoo!


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.

Comments: 2 - Leave a Comment

Link


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.

Comments: 3 - Leave a Comment

Link


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


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?

Comments: 0 - Leave a Comment

Link

Page:   1 2 3 »»

All times are ET (US)

In locus hic, omnes res dementes sunt.
 
S
M
T
W
T
F
S
8
10
11
12
13
14
20
22
28
29
30
31

OPTIONS
Track this Journal

 RSS 

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