More Shift

OK, so I didn’t have the issues with my video card quite as under control as I thought I did.  RivaTuner established the overclocking profile, but at certain places in Starcraft 2′s cinematics I still got the black-screen reboots.  Every time.

So I got fed up and decided to replace the card.  Having been burned out a bit by ATI, I checked into the recent nVidia cards, but didn’t find one that hit the graphics horsepower levels I wanted with low power consumption at a decent price point.  Continuing to look around, I discovered the Radeon 5770 card, which very closely matches my old 4870 for pixel-pushing power, but is built on a 40 nm process so it runs at much lower power.  The price was great and reviews were positive, and the kicker was that the card only takes one PCI power cable, so I’m confident my PSU can handle the load.

There are several manufacturers of ATI-based graphics cards, so the next choice was which company to pick.  Sapphire was off the table from the get-go — I don’t know if the issues I had with the 4870 were power-related or card-related, but I wasn’t going to risk another round of video card instability if I could help it.  In the end, I decided to go with the MSI board, which cost about $20 more, but has uniformly high reviews for performance, form factor, low temperatures, and overclockability.

I ordered the card from Newegg and got it in Wednesday.  I didn’t install it until last night, partly to try to keep myself focused on writing.  But once I did, the install was simple and clean.  The old card came out and went back into its box, ready for one of my friends to buy it used, and the new card went in.  Drivers were uninstalled, swept, and reinstalled, and the card came up perfectly and ready to go.

Except that it makes no noise at all.  Even under load, this card is quiet, and at idle you’d never know it was there.  It idles at 37 C, which is absurdly low for a video card.  I guess I shouldn’t complain about it being quiet, but it really is spooky knowing that the card is cranking away and the fans are barely running.  I keep expecting the computer to catch fire.

So welcome to the component family, MSI 5770 Hawk.  May you have a happy, healthy, and long life.

Shift Happens

I’ve mentioned my video card struggles before.  It’s been a constant source of low-grade annoyance that I haven’t been able to use my card to its full capacity, but at least I found a way to allow myself to play.  Last night, though, even with underclocking I still had restarts just looking at the main menu screen in Starcraft 2.

Let’s not get off on the subject of why I was playing Starcraft 2 rather than working on my interactive fiction game — I’m saving that for a self-flagellating post later.  But once this problem started happening, I really wanted to figure out what the deal was, so I hit up Google and started browsing.

Some people had power issues, and that seemed plausible.  After all, it required some gyrations to get the card up and running in the first place.  Some people blamed heat, but when checking the card temps it just didn’t seem that high.  But then I found another article that finally got me looking in the right direction.

Apparently my model of video card has a feature where it automatically shifts the clock speed of the card between 500 MHz and 750 MHz depending on what you’re trying to do with it.  I don’t know all the details, but apparently 3D games under Windows 7 can confuse the card and get it to try to shift modes back and forth repeatedly, which causes the fan to go nuts and the card to eventually trigger a system shutdown.

The suggested fix for this was to lock the GPU to 750 MHz using an overclocking tool.  I downloaded RivaTune, followed the simple instructions for setting this up, and was rewarded with a card that runs stably (and quietly) at full rated clock speed.  Sure, it probably eats a bit more power just idling at the desktop, but it’s worth it to not have to worry about random reboots any more!

Tags:

Slow Update Frequency

I’ll probably be dropping down to one post per week until the end of September.  There are a couple of different reasons for this, but the main one is that I’m trying to finish up my entry for IFComp 2010.  There’s a lot of work left to do, and I’m really needing to use as much of my time as possible on this to ensure it’s a top-quality entry this year.

Once that’s been released I’ll try to pick the pace back up again.

Tags:

The Passing of a Good Friend

If there was one thing that defined him, it was his love for his food.  Or your food — the distinction was lost on Marco.  When he was young and we’d just brought him into our family after he grew too large to be a show dog any more, he’d scarf down his food so quickly you’d think he’d choke.  After he’d bolted his own meal, he’d horn in on his sister’s food, pushing his snout into her bowl and trying to shove her aside until she’d had enough of him and went medieval with snaps and growls and bared teeth.

Even when he started getting older he still had a hearty appetite — Thomas started an exercise program when Marco was 11 that consisted of holding out a piece of dog treat and running circles around the ground floor of our house, Marco scrambling along behind, always straining to reach the morsel.

Last night he wouldn’t eat his dinner, wouldn’t eat a spoon of chunky peanut butter, wouldn’t eat his favorite dog treats.

He loved playing with his sister and with people.  We used to play “soccer” — I’d kick a ball around and they’d attack it, with the odd nip at my heels thrown in for good measure.  They’re a herding breed, and when the two of them ganged up on me there was almost no way to get the ball past them.  It was very clear to me whenever I played with them what a wayward sheep on a Shetland Island moor must feel like.

When we’d play fetch, we’d throw a big rope bone out in the yard and the two dogs would sprint out to it.  Aurora was always faster and reliably got to the bone first, but Marco quickly learned that his size could compensate for his laziness, and would grab on to the bone when Aurora started to return and body-check his sister to wrest it away.

In that first year after we got him, when he was still very young, he’d nap in the sunlight on the carpet downstairs by the big glass door and his paws would twitch as he chased rabbits in his dreams.  He tried to be a good watchdog, but he was never as protective as Aurora — you never knew who might feed you, you know — and since his breeder was deaf and lived in a suburban neighborhood he’d been de-barked before we got him.  Not that it stopped him from trying, but he had a very soft, “Yarf”-sounding bark that would never have scared anyone away.

He’d had problems getting to his feet on slick flooring for a while, but something worse happened to him last night.  Around 10:00 he struggled to stand, and mostly couldn’t.  His head listed to the side and even when he could get some footing he staggered sideways.  He looked confused, and didn’t seem to be able to lay his head down flat.  He needed a pillow or a leg to rest his head on in order to get truly comfortable.

He was the gentlest of dogs.  There was never any concern about having our kids around him.  From Thomas to Katherine to Jonathan, baby to toddler to rambunctious, active child, Marco was always tolerant and affectionate.  Even in his waning days, Jonathan would come over and play with his ears (gently, or we’d remove him), and Marco seemed to enjoy it.  It was hard to tell for sure.  He hadn’t wagged his tail in months.

We knew he was getting sicker, knew his time was short and that we were going to need to make The Decision sooner rather than later.  Robin talked to Thomas about it when he really started having problems standing up on the hardwood floor a couple of months ago.  She explained that when he got so sick that he wasn’t enjoying life any more and was suffering, that we would talk to the vet.  If he agreed, we’d give Marco some medicine that would make him go to sleep peacefully and die without pain.  He understood.

But even though he understood, when the time came today he still cried, as we all did.  Goodbye, Marco.  Goodbye, old friend.  We love you.

Tags: ,

Sprucing Up the Old Homestead

We’ve had some changes around here lately.  A big storm came through a couple of weeks ago and took off another chunk of our tree, so we had to give up and have it removed.  It was very sad; that tree was really well-placed and looked great, and the garden looks much poorer for its absence.

Also, it’s time to repaint the house!  We got a recommendation for a good crew of painters and they just started work on the house a day or so ago.  So far they’re doing great work, and although the paint color Robin and I chose is not wildly different than what we had before, it’s different enough that we like it much better.  It’s a warmer beige with more reddish tones than the greenish-leaning one we had before.  We’re also going to a dark brown for the door and accents rather than black, and a nice light trim color.

Here are some photos of the havok going on in our yard:

Tags: , ,

Moaning Myrtle Has Left The Building

My son Thomas has been voraciously reading the Harry Potter novels.  He’s now over halfway through the second one, and asked me the following question at dinner the other night:

Dad, why does Moaning Myrtle hang out in the bathroom?

I responded:

Well, she died in the bathroom, so that’s where she haunts now.

I kind of expected that to be the end of the conversation, but he had a followup:

Dad, did Moaning Myrtle die on the toilet, like Elvis?

Now, Thomas is 9.  I’d bet serious money that he has no idea who Elvis Presley is.  And he’s 9.  Did I mention he’s 9?  How did he possibly find out that Elvis died on the toilet?

No, I think she slipped and fell and hit her head.  But how did you know that Elvis died on the toilet?

Of course, I’m waiting with bated breath to hear this one.  And I guess it makes sense in retrospect:

Anthony [a kid at school] told me!

So now I’m left with trying to envision just how this came up in conversation.  Were they discussing Pokemon or their favorite Wii games, and Anthony just happened to bring it up?  “Yeah, the penguin suit is really cool, but the fireflower lets you shoot fireballs.  Hey!  That reminds me!  Did you know Elvis died on the toilet?”

I’m just coming up short here.

Tags: ,

Interactive Fiction WIP Progress Report

I’m working on a project for this year’s Interactive Fiction Competition (IFComp 2010).  It’s one that I started as kind of a small palate-cleanser after last year’s Comp, intended to be a quickie adventure for my son.  As I worked through the idea and setting, however, I realized that there was more there than I was planning on implementing, and I reevaluated the scale of the project.

The result is my current work in progress (still nameless for now).  I’ve been working on it almost since I submitted last year’s entry, aside from a couple of breaks, and I’m happy to report that I’ve completed implementation of the last puzzles and the ending sequence, at least in skeletal form.  Much of the early game is more completely implemented, but getting the “bones” of the rest of the game laid down means that I don’t have to worry too much about infrastructural issues any more, and can concentrate on finishing the writing and improving the polish.

I’m very relieved to be at this stage; I pushed hard to get here over the past month and am happy that I achieved this.  I can hear you saying “But Matt, it’s the middle of July!  Why are you worked up about completing your game when you have two and a half months left until the Comp submission deadline?!?”

Well, there are several reasons.  First, with a baby in the house that’s almost exactly as old as my WIP, plus two other young kids and a wife I enjoy spending time with, getting time to work on the project is not easy.  I’ve used almost the entire amount of my free time since the last Comp (except for a Dragon Age break) to get here, and I’ve needed it.  I know that finishing the rest of the game in time is still going to require focused effort, especially when school starts back up in the fall.

Second, I have a much better idea of what goes into creating a finished, polished game than I did last year.  For Grounded in Space, I didn’t give myself enough time for development, for learning the tools, or (most importantly) for testing.  This year, even with the game scaffolding implemented end-to-end, I still have the following left to do (in roughly the order they need to be accomplished):

  • Enhancing the in-game tutorial
  • Fixing some known game-derailing bugs
  • Write out the ending sequences in full
  • Test and enhance the default message modifications
  • Implement some additional short scenes and interactive dialogue
  • Review my keyword implementation to ensure it’s consistent and useful
  • Perform object testing a la Juhana’s Object Response Tests
  • Alpha testing
  • Revise my writing
  • Test compatibility on various interpreters and platforms
  • Set up Quixe-specific modifications required for proper keywording and exit-lister display
  • Do cover art and a blurb
  • Beta testing and bug fixing

So no, I’m not resting on my laurels having gotten to this point.  If anything, getting this far has only permitted me to lift my head up and see how far away the finish line still is.

Wish me luck — I’m going to need it!  And for all the other authors this year – both returnees and first-timers — I wish you the best of success with your stories!

Tags: , , ,

New Ethshar Serial Starting

After too long, Lawrence Watt-Evans is spinning up a new Ethshar serial — The Final Calling.  His Ethshar novels are excellent light fantasy, and are notable for having both a great amount of interesting, powerful magic as well as very believable, human characters that for the most part treat magic as just another phenomenon to deal with or use as they go about their lives.  They’re loosely-connected, for the most part; you can fairly easily jump in at any point.  I’ve enjoyed every one of these novels thoroughly since the first one — The Misenchanted Sword — was published when I was in high school, back in 1985.

The way these serial novels work is that every week, assuming enough contributions have come in to pay for it, he’ll post a new rough draft chapter.  Anyone in America who contributes $25 or more will receive a printed copy of the completed book (thresholds slightly higher for other countries).  It’s already paid through Chapter 11, and I haven’t sent my $25 yet, so I’m guessing this is going to be a pretty successful serial.

This seems like a pretty good way for authors to be paid to continue work on series they enjoy, and which have a strong fan base, but for some reason are not appealing to traditional publishing houses.  Lawrence Watt-Evans has used this model successfully for two Ethshar novels in the past, and is serializing a science fiction novel (a sequel to his earlier Nightside City) simultaneously.

Check it out if you enjoy light fantasy written with wit and intelligence!

Tags: , , ,

Upgrading to Inform 7 6E72

With the recent releases of both the in-browser Glulx interpreter Quixe, and the newest Inform 7 Build 6E72, it was pretty obvious that I’d have to upgrade.  Sure, theoretically it would be possible to stick with the last version of Inform and manually roll out a playable website for my WIP.  But why turn down all the labor-saving power of the new “release along with an interpreter” option?  It automatically builds you a nice website, converts the Glulx file to Javascript for you, and packages it neatly up for release.  I’d also modified my source to remove the very few procedural rules I’d previously used, since I’d heard I7 is deprecating them, so I figured getting my WIP up and running wouldn’t be too arduous.

Happily, I was right!  I did run into about a dozen errors, which fell into two broad categories:

  1. Errors due to more strict syntax checking in the new build.  These were easy to find and fix — I spent maybe 5 minutes on these.
  2. Errors due to changes in the extensions I use.  My WIP uses a lot of extensions, and I hack some of them up a bit as well with overrides.  So pulling down the newest versions of all these extensions caused me a bit of worry.  Of them all, however, the only one that gave me any more than the most ephemeral trouble was the new version of Jon Ingold’s Flexible Windows.  Instead of a single drawing rule, it now uses an object-based rulebook, which required a couple of minor changes (as he points out in the changelog, I should note).  Actually making the code changes was easy; finding out exactly what needed to change was the trick.  Even this, though, didn’t take me more than about 15 minutes.

So the first thing I did now that I could get up and running in the new I7 was to set up Quixe and try a test release using it.  I was pleasantly surprised by the nice CSS defaults for the web pages.  The result isn’t quite up to the level of typography you can get with Gargoyle, of course, but for a literally no-effort setup it’s more than serviceable.  The only thing I ended up doing to the generated pages was to modify the User1 and User2 styles so that they reflected the colored text defaults that I start with, and I was off and running.

I have noticed that I7 is a touch slower to compile now than it was before, and generates a larger story file as well.  Before the upgrade I was running at just over 800 KB, and after the upgrade I’m up over 1 MB.  All the changes and improvements in the I7 release probably contribute to this, but I was pretty surprised to see the size of the generated file increase by 20%.  What this really means, I guess, is that it’s a good thing Quixe came out when it did, since the new I7 has pretty well priced itself out of the Z-machine’s range for all but the most trivial stories.

One thing I hope people continue to look at is the performance of Quixe.  The speed difference when running under Gargoyle vs. when running under Quixe is shocking — Quixe is at least an order of magnitude slower than standalone compiled interpreters, and I suspect more can be done to optimize Quixe given how brand-new the implementation is.  My fairly large WIP is certainly playable, but the slow response time is jarring.  Until speed improves I’ll still be playing most games through a standalone interpreter.

Now the only trick remaining is for me to work out how to support the dynamic color shifting for user styles that the standalone interpreters can use.  I have an extra window created below the status line that should be able to display one of four choices of colored text depending on what the user wants.  I’m thinking that with some judicious changes to the standard styles for that window, along with some minor changes to the code that displays the text, that I can support the appropriate choices in Quixe with a single set of CSS.  If I can’t, I guess I can create alternate windows with different color settings in their specific CSS sections and swap them in appropriately.  I’ll just have to ensure that whatever I end up doing for Quixe doesn’t break the solution I’m using for other interpreters.

Tags: , , ,

A Special Morning at the McDonald’s Playplace

On our last day of our 4th of July staycation, the whole extended family went out to McDonald’s for breakfast.  We chose this for two reasons:

  1. We’d eaten all the eggs and didn’t have anything prepared for that morning, and
  2. It had been raining constantly for the last 24 hours and we wanted to get out of the house and go somewhere the kids could play.

So we ended up at Mickey D’s.  We deliberately chose the one nearby that doesn’t have video games, so we wouldn’t have to constantly chase the kids away from them.

When we got there, there was only one other family there.  A deaf man was there with two cute little toddler girls.  We couldn’t tell whether they were hearing or not; they just signed to communicate with their dad.  Over the course of breakfast, several other families arrived as well.  Towards the end of the meal, Thomas was walking around with a little Hispanic girl that either couldn’t or didn’t speak, and who looked slightly dysmorphic.  She was hugging him with a huge smile on her face, and wanting to hold hands as they went around the play area.

It was fairly obvious that she was special-needs of some sort; after Thomas and the girl played together for longer, her mother came over and told us how wonderful she thought Thomas was, as he was “the only child that was ever nice to her”.  Even allowing for a bit of maternal exaggeration, we were extremely proud of Thomas for his kindness and tolerance for being hugged and fussed over, even though it was obviously a bit embarrassing for him.

Shortly before we left, another young boy came in with his parent or caregiver.  He was an African-American boy who looked to be about Katherine’s age, and he was also either mostly or completely nonverbal.  He bounced a lot and hooted, and was approximating some sign language.  He had the hugest grin on his face the whole time; it was obvious that he loved being in the Playplace and was having a great time!

So, counting Katherine for our family, there was exactly one couple there who did not have a special-needs child at the Playplace that morning — Robin’s sister and brother-in-law Polly and Rick.

I think before we had Katherine and learned to understand and deal with her autism I would have been really freaked out with that many special-needs kids around.  But given where we’re at and what I’ve learned over the past few years, I just enjoyed the fact that everyone was playing together really nicely and having a great time, whether or not they had any disabilities or differences.

Tags: , ,

The Quern is Digg proof thanks to caching by WP Super Cache