Blade Edge

Computer software | Video production | My life in general

Blade Edge main header

Stupid Microsoft

October 7th, 2004 · Software

Transposed from Gaiiden’s Scroll

So I finally took out my kite for the first time in like 5 months. There wasn’t much wind, prob only about 3-5mph, so I had to work a bit at keeping the kite up, but that’s always good exercise. It was an onshore wind though, which kinda stinks cause the kite looks much cooler when I fly it over the water. For the uninitiated, this isn’t some one-lined diamond kite with a tail of bowties. Educate yourselves here and here, and be awed.

Today was pretty okay programming-wise. I got a bit farther with Tanto and made a few more modifications to Katana. The major addition to Katana was a callback function for each object, so that when the object precessed its messages, it could call a user-defined function and pass along the messages to allow extensible behavior. I tried using function pointers, but those came up short, so a friend (known as Clash around here) pointed me towards the Boost libraries Bind and Function. Very nice. However that led into this little fiasco. Shortly after, I had trouble compiling my code using the Bind function in VC++ 6. I’ve never had this much trouble with an out-dated compiler before, which is why I never upgraded. But this forced my hand, which led me into downloading VC++ 2005 Express.

And then the trouble began.

First off, I use FireFox. So I spent like 5 minutes trying to download the file from Microsoft and wondering why it kept saying it couldn’t find the file. I finally realized it was probably because I wasn’t opening it in IE.

Stupid Microsoft

So I open IE and download the file. Cool. I start the installer and it downloads like 9megs and then freezes. I restart the setup and now it doesn’t even start to dowload. I try this like 5 times before deciding that it’s a crappy wireless link. So I take my laptop downstairs and sit it under the router. Still no luck. For comparison, I try it on the family desktop, which is cabled to the router. It works. So I pop the cable into my laptop and try again. Still no joy. Finally I disable the stupid Windows Firewall.

It works

Stupid Microsoft

So now that it took me like two hours to install stupid VC++ Express, I have to go to bed.

Stupid Microsoft

As you can tell, I’m a bit grouchy right now good-friggin-night

→ No CommentsTags:··

Bug Be Gone

October 6th, 2004 · Software

Transposed from Gaiiden’s Scroll

So I fixed that bug I was bitching about on Monday. Turns out I was on the wrong track. I thought some wires were getting crossed when I copied a button object. Turns out that the buttons were just unsubscribing themselves from receiving MOUSE_BUTTON_MSGs from the kernel after I clicked on them once. I tracked down the offending unsubscribe function and remedied the problem. Now everything works again. Yey! The discovery even prompted me to do a bit of re-architecting. At the time, when a mouse button was clicked, the kernel would dispatch a global MOUSE_BUTTON_MSG. That means it would send a message to whatever objects were subscribed to recieve mouse button events (be that 2 or 100). That’s all well and good in the general sense of things, but why bother send out a global message when the mouse button is being hovered over? So I changed some stuff around, and now, when the cursor hovers over a button, the button sends a message to the scene manager, and the scene manager then directs any MOUSE_BUTTON_MSGs straight to that button. Once the cursor moves off the button, it reverts to global dispatching. Just a small performance save in sending 1 message vs n messages for a simple button click.

So yea, I’m back in business. I had other things to do tonight for GDNet and GI though, so I didn’t have much time to work on anything else in regards to Tanto (that’s the name of the log reporter, in case I forgot to mention it – which I think I did).

Well, at least I accomplished something today Gotta get to sleep – flying my kite tomorrow for the first time all season! Whooo!! I’ll post details tomorrow.

→ No CommentsTags:

It’s Too F**kin Cold!!

October 5th, 2004 · Personal

Transposed from Gaiiden’s Scroll

Good lord! www.weather.com lists the current temperature in my area as 37 degrees Fahrenheit! Ack! Now imagine that while riding on a motorcycle with no leather jacket. Just a shirt, sweatshirt, and windbreaker. Ouch. It was bearable, but only barely so. Just barely. Luckily I had my winter gloves, and I had a hoodie on my sweatshirt that I stuck in my helmet to keep my face warm. But still. Frikin COLD!! I guess I’ll have to get my leather riding jacket sooner than I expected.

So anyways tonight was something of a fiasco. I went to the gym as always to hang out with my coach buddies, and as we were leaving to go to Dennys, one of them spilled his bike pulling out of the gym parking lot. This is a guy that does wheelies and stoppies while yawning. And he goes and spills doing like 25mph pulling out of a parking lot. See, that’s when it gets you. so I had to drive him to Dennys on the back of my bike – no biggie. We get back from eating and fix up his bike so that it’s running again, then proceed to change the spark plugs in his bike and my other friend’s. Then there’s this whole 2-hour mess of getting teh gas tank off to reach the spark plugs and not having the right tools, etc etc. SO we finally get them changed, and then riding home he starts having trouble with his engine. Bad spark plugs? Or did we screw up the fuel lines while messing with the gas tank? So I had to follow him home to make sure he made it ok. Luckily he doesn’t live too far away.

*phew* what a night. And now it’s friggin almost 7am and I have to be at work at 1pm

Ain’t that a bitch.

So I’m going to drag my tired and cold self underneath my nice warm blankets and go to sleep, and dream about my new riding jacket.

→ No CommentsTags:

Bugs Suck

October 4th, 2004 · Software

Transposed from Gaiiden’s Scroll

Weh. I started working on my wonderful log reporter when disaster struck in the form of a bug in my button object. Seems something funky is going on when I copy button objects. It lets me click a button once but after that the button refuses to display its “down” state, even though it will happily display it’s “over” state. I threw my hands up in dispair after and hour and watched Return of the Jedi on DVD instead. I feel much better now I only worked on it for about two-three hours total today, since I had to do the newsletter, among other things. But I got this much up and running

So I’ve noticed a lot of journal updates have been going on recently. I couldn’t even see mine anymore from the top of the page when I came here to post. Good stuff.

Well, I guess it’s off to bed, and then another busy day…

→ No CommentsTags:

Hayride Stunts + Even More Logging Goodness

October 3rd, 2004 · Software, Stuntwork

Transposed from Gaiiden’s Scroll

So we’ve been doing meet-and-greets all weekend (except Friday) because on of our main Robin is injured, the second main Robin is hand balancing over in Korea, and our back-up Robin is doing stunt training out in California. Funny huh? This is the first time all season that we had to cancel shows due to a limited cast. Oh yea, and both our Batmans are away too 😛

But that’s okay, because instead of having to do boring meet-and-greets (where you shake people’s hands, take pictures, and listen to little punk kids razz at you) I was pulled over to the haunted hayride. Well, it really wasn’t a haunted hayride. They disguised it this year as a behind the scenes movie tour. The premise is that an indie film is being made about Six Flag’s urban legends, and the people on the tour are getting a behind the scenes look. Of course, we have air cannons and scary monsters that jump out and scare people anyways. I’m a plant. No not a frond or leaf or anything like that, I’m an actor placed on the ride. I’m with my “girlfriend”, and our parts come into play when we “run over” a girl. (We hit a speedbump as she comes up to the wagon so it looks like we run her over). I start yelling at the tour guide to stop the tractor, the tour guide refuses, and my girlfriend begins to scream hysterically. We argue for a few seconds as the tractor pulls us farther away, when all the sudden a killer hops on board, grabs me, we struggle for a second or two, then throws me off the wagon to the ground (pavement – wheee) and stabs me to death. Then I hop up after the wagon passes out of sight, and run back to catch the next wagon.

Over and over and over again. For three hours.

Yea, the repetition started to get to me after a while, even though me and the other “boyfriends” swapped girlfriends and we changed the person playing the killer three times. Still, it was pretty fun watching people scream as I’m yanked off a moving (albeit slowly) vehicle. I had soft foam elbow and knee pads under my clothes, so I suffered little in the way of bumps and bruises… cept for my hands. I should have worn my motorcycle gloves. My palms are pretty bruised from repeated contact with the pavement. Oh well, lesson learned!

So that was my day. It was fun.

I finished mocking up the rest of the log reporter. Nothing special, I’m in a hurry to start coding. I’ll start tomorrow. Here are the final screens:

Profiling

Ok, the idea is that in the source you can bracket whatever code you want by pushing and popping “keypoints”. These keypoints time the interval from push to pop, and can obviously be nested. Hmmm… I didn’t think about the nesting… maybe there’s something I can do with that visually. But right now I just list the various keypoint names. You select a keypoint, and it displays the line chart that tells you how long it took to execute each keypoint each frame. You can click on the node to get the keypoint info (start, end, elapsed time)

FPS

Obviously this is a line point graph, and it’s showing the frames per second throughout the program runtime. Clicking on the node will dump the messages sent and/or error text outputted during that frame, so you can see what was going on that may have cause a major frame rate drop.

I’m sure a lot will change once I actually get to coding the thing. That’s the way it always is tho. I’ll post updates, don’t worry

→ No CommentsTags:··

More Logging Goodness

October 2nd, 2004 · Software

Transposed from Gaiiden’s Scroll

So ok, I mocked up the Messaging displays. I came up with 4 views:

Total Sent

This is a vertical bar graph that shows the total number of messages sent by each object throughout the entire run time. The graph scrolls horizontally. I’m still deciding whether to allow them to be sorted by name or totals, but I probably will, since that would be cool. You can select any object’s bar graph to see a listing of all sent messages in the Immediate Window.

Total Received

Same deal as Total Sent, except (obviously) the displayed data is for messages received from other objects

Per Frame

This is a cool line graph that charts the number of messages each object sent per frame. Each object will sport a different color. Obviously a graph like this can become quite cluttered, so you can only overlay a certain number of objects at once (4-6, not sure of the exact number yet). You can select and deselect them from the list box (I’m going to take out those two buttons). You can also select a node on the graph to see the messages that were sent that frame by that object in the Immediate Window

Object->Object

This lets you select two (and only two) objects from the list and the Output Window will display all the messages that were sent between the two objects

And that sums up that. The Profiler will be similar to the Per Frame graph of the Messaging section, so I’ll mock that up quick tomorrow. I have a bit more thought to put into the FPS section tho.

→ No CommentsTags:

Ehhhhh….

October 1st, 2004 · Personal

Transposed from Gaiiden’s Scroll

It was an OK day, tho kinda on the sucky side. We had a paltry audience of only like 50 people for both shows today. That was a drag. Then my wisodom tooth began acting up again and now I have a pounding headache. Gonna pop some more Tylenol before bed.

I guess the only highlight would be seeing Ladder 49. I wasn’t expecting much, so I was surprised when it turned out to be a pretty decent movie. The reason I was seeing it in the first place is because one of my coaching buddies, Jason Garcia, was a stuntman in that movie. He did two stunts. One was when they tore down the door to a house and flames blew out, and the second was when the guy got thrown against a wall when blasted with steam. Look for his name in the credits

So yea. My tooth is freakin killing me so I’m going to bed. Didn’t get to mock up any more logging stuff. That sucks. Oh well…

→ No CommentsTags:

Logging goodness

September 30th, 2004 · Software

Transposed from Gaiiden’s Scroll

So I read this article in a recent issue of Game Developer Magazine about this cool logging and reporting system that was developed for Ghost Recon. And I looked at my current logging system and broke down into sobs at the mediocrity of it all. It doesn’t even make use of my cool new messaging system and it outputs to plain ASCII text. Ugh. I thought for a second about implementing some RTF or HTML output to make it look nicer, but I realized that really wasn’t what I needed. I needed a log file interpreter program. I needed to be able to output my log data in the most arcane format possible and then build an app that could read it and display it in various informative ways. Ah haaaaa.

So I opened up Flash and began to conceptualize. I really like to draw out my interfaces first so I can decide what I want and where I want it and how it will work and what else I need and so on and so forth. I finally settled on 4 different visualizations:

Error Text
These are just text error messages that tell you what went wrong or what may have gone wrong or what’s doing what and when and where. Common to every log system.

Messaging
Various charts and data that display how messages are being tossed around during the game in order to spot performance bottlenecks and recursive messaging, among other things

Profiling
Duh. This is a no brainer. Various charts that show how any timed processes have performed throughout the program runtime

FPS
I want this to be not just an overall look at the FPS throughout the game, but also to provide data that could tell you why the FPS has slowed or increased

So yea. After I nailed down the overall interface I quick mocked up the Error Text displays. Here’s the first one:

So this is pretty straight forward. The entire log is dumped into the Output Window for perusal. But since the log could be quite frikin huge, if we only want to see a certain type of log message, we can select it from the list and it will appear in the Immediate Window.

Moving on:

Here we have the same thing, except you can choose from the source file you wish to see. Although I messed up in the mockup, I mean for this to work in conjunction with the Type Filters setting. So if Message Dispatch were still selected, you’d only see message dispatch output from that source file in the Immediate Window.

Finally:

Again, the Line Filter works with the other two filters. So in this case you can choose exactly which lines from the source file(s) you have selected that you want to view. Notice I have both available lines selected. I could choose just one instead.

So yea. I’m going to finish mocking up the Messaging visualizations tomorrow. I started on them but I’m only halfway done right now.

→ No CommentsTags:

New monitor! YEYEYEY!

September 29th, 2004 · Personal

Transposed from Gaiiden’s Scroll

So the FedEx dude woke me up this morning… errr.. afternoon at 12:45 with my new Samsung 172X 17″ LCD monitor. Whooohoo! Of course then I had to suffer through seperation anxiety since I had to work at the gym for an hour. But then I got to come home and set it up and play with it for a while before heading back out to coach. Now it’s all set up at 1280×1024 and I watched Star Wars Episode V on it. HAHAHAHA!!! I’m a happy person once again

→ No CommentsTags:

Day off

September 28th, 2004 · Personal

Transposed from Gaiiden’s Scroll

Ahhh… since I managed to get my game build done on Monday, I was able to take today off to do whatever the hell I wanted, so long as it didn’t involve programming. Okay, I admit I did open VC++ to start reworking my log system, but it was only a momentary weakness, and I didn’t actually write any code, so I’m safe. *phew*

And of course, by today I mean TUESDAY and not WEDNESDAY. ARRRRGH this is going to drive me crazy to no end!

So like all Tuesdays I spent the nite hangin with some fellow coaches, bouncin some tramp… We even had some entertainment. One of the normal guys that came to workout was doing backflips on the tramp and kept landing on his head all nasty. Good lord he was a crazy bastard. It was so funny to watch and then jump and scream and run around in terror that he might have broke his neck, that I or none of the other coaches wanted to teach him how to do it right (well cept one, who only made him worse – tho not on purpose, he just thinks he knows what he’s doing). Yea we’re mean bastards I know. I’ll teach him the proper way to flip next week tho. Promise.

After that we hit up Denny’s as always. All the waitresses know us there now, and we get mad discounts on our food. I only had to pay 4 bucks (including tip) for a huge ass garden salad and a milkshake. Mmmmm Denny’s….

→ No CommentsTags: