The Sledgehammer – Version 2.0

April 9, 2014

A Grownups’ Guide to Chasing Kids Around the Yard

Filed under: Family, Random Stuff — Brian Lutz @ 1:01 am

I certainly can’t figure them out… Can you?

In the Church of Jesus Christ of Latter Day Saints (which I belong to,) there are two Sundays a year where, in lieu of our regular Sunday meetings, we have what is known as General Conference.  Over the course of the weekend, a number of different sessions of the conference are held in Salt Lake City where church leaders speak to the membership of the church.  These sessions are broadcast by a number of various means to members around the globe, and are translated and transcribed into over 90 different languages.  Although the option is available to view the conference by satellite broadcast at the various church meetinghouses, these days most members of the church opt to view or listen to the conference by Internet from the comfort of their own homes.   In my family, we tend to use the Conference Sundays as an opportunity to have our own little get-together, something that can be difficult to do at times due to the greater distances between us these days and differing meeting schedules we have on Sundays.  This past Sunday, we had one of these get-togethers at my parents’ house up near Granite Falls.

As members of the family have moved away from the area for various reasons (one of my brothers moved to Provo last year to go to school at BYU, and my younger sister and brother-in-law recently moved from Pullman to California for a job after he completed a PhD at WSU) our family gatherings have gotten smaller over the years, to the point that this time around it was just me, my parents and my sister’s family.  It turned out to be a surprisingly nice day for it though, with the rain mostly taking the day off and even some decent sunbreaks throughout the day.  Since my parents moved into their new house about a year ago they’ve been working on getting the yard (basically a big patch of dirt when they bought the house) into shape, and one of their projects was adding a patio, complete with a fire pit that has recently been completed.  Today provided a nice first opportunity to make use of it.  Sounds like the makings of a nice quiet Sunday afternoon in the backyard, right?  Not particularly.

My sister has four boys of various ages (the oldest one currently being 7 years old, and the youngest six months) and when it’s nice outside they’re all over the place, especially Conner and Corey, the two oldest out of the four.  If I was that age and had that big yard to play in, I can’t imagine I wouldn’t be doing the same, but to be perfectly honest, I have a bit of a hard time keeping up with them these days.  It’s not that I’m (too) out of shape or anything like that, mostly it’s an issue with my knee that slows me down a bit and makes it hard to do much running.  Naturally, this presented a bit of a problem when they decided they wanted to play tag, and I was it.  Just chasing them around the rather large yard straight-up wasn’t going to cut it, so clearly some strategy was needed.  After all, even on a good day they’d have a distinct advantage in mobility and agility, not to mention that there was two of them.  It was also clear that, anytime it seemed like I might be gaining some sort of an advantage, they were going to just change the rules, Calvinball style.  The trick is to take this approach and figure out how to turn it around on them.

At first, it was just Corey chasing me around, so it was easy enough to make a few (incredibly) halfhearted efforts at catching him.  After all, when you’re dealing with a five year old it doesn’t even really require bright shiny objects to distract them (although it certainly helps,) so the trick is to wait until something else grabs his eye and he isn’t paying attention, then tag him and run (or quickly walk) away.  Of course, eventually they start to catch on, so the effectiveness of this approach tends to diminish over time.  Pretty soon they start recruiting their brothers to join in and chase after you, and you have to start picking one at a time to chase.  Of course, even with their speed, agility and endurance you’re still going to catch to them eventually, which right about the point where they start throwing the whole “Base” thing into the mix.  Base, for those of you who may have forgotten the  vagaries of various childhood playground games, is basically a convenient excuse for someone not to be it when they’re tagged.  Normally the location of said base is a fixed position in some easily accessible central location that can be reached quickly in the event of a rapidly approaching it.

This generally holds true right up until the time when the base suddenly ends up being inaccessible with the It approaching quickly.  It is at this point that the definition of Base tends to shift around a bit.  First it’s in one spot (which, of course, they happened to reach about .003 seconds before you managed to tag them), then it’s another spot, and then when none of those work things start to devolve into more theoretical things.  At one point, I think they decided that anything made out of wood was base.  Although this idea would theoretically result in a dramatic increase of the base-enabled surfaces available, it was also rather short-lived after I managed to find a convenient rake handle and call it a portable base.  This resulted in a rather hasty reconsideration of the whole thing.  Eventually it was decided (after a lot more running around trying to call various items base) that anything solid was now the base.  If we were going by boring technical definitions that would have basically rendered the entire game physically impossible to play (unless everyone figured out some way to assume a gaseous state of some sort and then managed to find a way to chase each other around without dissipating into the atmosphere.)  Of course, even going by a second grader’s definition of a solid this didn’t accomplish much anyway, since I pointed out that the big patio in my parents’ backyard that we were all standing on happened to be quite solid.

By this time I think we were all spending more time constantly redefining the ground rules and trying to flaunt whatever rules actually managed to stick than playing the game, and pretty soon it turned into hide-and-seek, which doesn’t work all that well when the only real hiding spots in the yard were either on the porch or behind the shed.  And after that, I think everyone just went back to trying to set each other’s pants on fire with magnifying glasses (it’s a long story,) but fortunately/unfortunately there were too many clouds for any of this to be particularly effective.  Eventually things mostly managed to settle down, but something tells me that those boys could keep going for quite a bit longer given the opportunity to do so.  It can be tough to keep up with them sometimes.

When you’re dealing with young children on a sunny day with a large backyard, eventually everything ends up turning into Calvinball.

 

April 1, 2014

The Stupidest Idea I’ve Had All Week: How to Crowdfund Your Way to Fame and/or Fortune

Filed under: Bad Ideas, Random Stuff — Tags: , — Brian Lutz @ 1:12 am
A Pile of Money

The expected result. – Image Credit: Flickr user Veken Gueyikan, Creative Commons

Note:  This was originally intended to be an April Fools Day post, but I realized that even by my admittedly low standards this was a pretty harebrained idea.  It is for this reason that I will present it as just another one of my run-of-the-mill bad ideas.  I seem to have no shortage of these lately…

I have been writing on this Blog for close to seven years now, and although during that time there have been ups and downs involved with this, over the past few months there has been one overriding concern that has arisen in my mind about this Blog and its future:  Somehow, I have failed to get rich off my Blog.  Now part of this is my own fault:  I haven’t made much effort to pursue the monetization of my Blog, but that’s really beside the point.  After all, some random article I read on the Internet ten years ago told me I could make a fortune in Blogging, and if it’s on the Internet it must be true.  Sure, I may have inadvertently forgotten to buy the $495 guide explaining how to do it, but how hard can it be to figure out?  Naturally, the most obvious way to make money by Blogging is to plaster ridiculous ads all over the pages.  Just a few banners here and there, and I could easily be making as much as .02 cents per visitor, which would add up to…  Hang on, let me do a bit of math here…  Around $10 a year, give or take.  I figure that would cover about a third of what I spend annually on image hosting (in the form of a Photobucket subscription,) which doesn’t exactly result in a whole lot of getting rich.  Clearly a different plan is needed here…

Then again, lately we’ve seen some interesting examples of ways to do just this.  If you’ve been reading the news over the past week or so, you will know that Oculus, a small startup company designing virtual reality hardware for (eventually) consumers that got its start primarily on crowdfunding through Kickstarter, was purchased by Facebook for $2 billion, in spite of never shipping (or even announcing) any sort of consumer-focused product, just a bunch of development kits.  In the process, they’ve set a new standard for cashing in on riding questionable fads, which raises some interesting questions:  Just what would it take to crowdfund something out of thin air and/or whole cloth and parlay it into big bucks?  For that matter, just what does it take to sell an idea for big bucks without actually following through on any of it?

In theory, the idea behind crowdfunding is to take some idea that you have, find enough people to back that idea, then use their funding to implement it.  In practice, the whole process tends to be kind of hit-or-miss.  Frequently you hear stories of projects that met their funding goals, then never quite panned out beyond that.  It’s hard to say how much of this comes from people getting in over their heads and finding their projects to be more than they had bargained for, but there have been some accused of doing the whole “take the money and run” routine.  In this case, we’re not actually trying to scam anyone here, we’re just trying to find just enough work to get someone’s attention.  We’re not looking to change the world here, all we’re looking for is something that someone with ridiculously deep pockets thinks might change the world, and is either too willing or too shortsighted to think the whole thing through.  The best way to do this seems to be to latch onto the latest big fad.  Preferably something big companies are throwing a lot of money into in an effort to try to get consumers to adopt it by sheer brute force.

Of course, you also need something for the big companies to throw those big bucks at, which means you’re going to need a team of engineers to build it.   It can be a little bit tricky hiring engineers without some startup capital, which is where the Kickstarter is going to come in.  For whatever it is that you decide to make, be sure to keep the backer rewards vague, at least at the lower levels.  Assuming you execute this strategy correctly you will probably end up with a product of some sort somewhere along the line, but you’re not trying to make something for the masses.  Keep the backer rewards at the lower tiers as things like T-shirts and tote bags, and put the actual products on much higher tiers.  That way you can deliver the actual rewards to the majority of the backers without too much fuss, and you can buy some time to “develop” stuff.  In the meantime, keep talking about your prototypes.  If you can manage to produce something that won’t crash and burn too often, try releasing a few as development versions to the higher-tier backers.  They don’t have to be perfect, just good enough that people who can work their way around some bugs can deal with them.  Again, it helps if you’ve got plenty of people willing to chase the latest fads and see potential whether it’s there or not.  Hubris can be your friend, just as long as you don’t fall into it yourself (that’s a job for your marketing people.  You DO have marketing people, right?)

If you can manage to pull this whole routine off and get the right kind of attention, start insinuating about what you could do with the “right kind of partner” to take your product to the next level.  Feel free to go into full-on vaporware mode for this; after all, the engineers can figure all that stuff out later.  As soon as the right combination of excessive money and deficient sense arrives, jump on it.  In the end, you’ll make out like a bandit, and it’ll be someone else’s job to figure out how to put your wild ideas to work.  At this point, it’s usually a good idea to stick around for a few months before quietly bowing out to “pursue the next big thing”.  What you do at this point is entirely up to you, but if you implemented the previous steps correctly, there’s a pretty good chance that you’ve got a large number of people who would love your head on a silver platter.  I’d recommend finding a nice quiet island with poorly enforced extradition policies, low taxes and which is somewhere that’s really expensive for disgruntled Kickstarter backers to travel to, and just lay low until everyone has forgotten who you are.

You would think this kind of idea would be just as terrible as it sounds, but if you ask the guys at Oculus, apparently it works…

 

March 21, 2014

Banging Your Head Into the Wall for Fun: Why Do We Enjoy Frustrating Things?

Filed under: Games — Tags: , , — Brian Lutz @ 8:30 pm

Image credit: Flickr user sharpshooter99, Creative Commons

Earlier this week, I had been working on some insipid Blog post about the arrival of Spring, the temporary reprieve from Winter (sort of) that it brings and all sorts of stuff like that, but even by my own standards the whole thing was pretty much inane drivel, so you get to read this instead (believe me, this can’t be any worse than that…)  Besides, I’ve been a bit distracted lately by various things.  Work, as usual, is the big one (it seems to come and go, although even on a “slow” day things get pretty hectic lately,) but as tends to happen on occasion, I’ve found myself spending quite a bit of time on Luftrausers, a game that came out just a couple of days ago on PC and Playstation platforms.  On the surface, it’s pretty simple.  You have a little fighter jet called a Rauser (basically a vaguely German-sounding word that means absolutely nothing that I can figure out) made up of various customizable parts, a relentless pixelated navy of various things that are trying to kill you, about five shades of monochromatic beige, and about fifteen seconds worth of cutscenes to tie it together with the flimsiest of cheap throwaway plots.  Basically, the idea is to blow up as much stuff as possible before you meet your inevitable demise (which is basically every arcade game made before about 1985 or so in a nutshell.)  This video should give you an idea what to expect:

https://www.youtube.com/watch?v=749KA3rvSwA

Generally they’ll do it pretty quickly too, since you can only take about 2 or 3 hits at a time before you blow up.  Your fighter will slowly repair itself if you stop firing, but there isn’t exactly much time to do that when you’ve got a whole fleet of enemy fighters on your tail and a giant battleship wantonly tossing artillery into the airspace in front of you.  As such, your lives in this game tend to end up being nasty, brutish and short.  Scoring is pretty standard aside from a chaining system that adds multipliers to your score as long as you keep killing things (you have about five seconds between enemies to keep the chain going, which might seem generous at first but can still be tricky to maintain at times,) and caps out at 20x the base value for each enemy type.  Staying at max chain for a long period of time will bring up your score quickly, but can also be very risky, and there’s a good chance you’ll get yourself killed by taking unreasonable risks to keep the scoring streak going.   And then you’ll do it all over again.  As you play you unlock a number of different parts, different combinations of which will change the way your fighter works.  You’ll probably find favorites as you go on, but you’ll find certain missions (basically tasks you’ll probably accomplish in passing) will need certain types of fighters.  As simple as the game might seem on the surface, It’s surprisingly easy to end up spending an hour or two doing this without even noticing it.  I decided to play a couple of quick rounds after I got home from work (admittedly a bit later than usual) this evening, and when I looked up it was 9:30.

And yet, in about 2 1/2 hours of playing almost nonstop at about 1-2 minutes per run (you will be lucky to last that long in most cases,) I had only once or twice come close to beating a high score of about 27,000 that I had managed on pretty much a fluke the previous evening (at the time, it ended up being as high as #107 on the Steam leaderboard, but it’s dropped a fair bit now.)  Yes, I’m terrible at it, but given the developer’s track record (Vlambeer’s most notable release before this one was Super Crate Box, another game in much the same “keep playing even though you suck at it” vein) that seems to be by design.  Anyone who has spent enough time playing video games with me knows that I tend to get frustrated with things pretty easily (if you ever come and visit, ask to see the pile of broken controller parts I probably have sitting around somewhere.)  And yet, even though these games seem like the ones that should be the most rage-inducing (aside from random Nintendo games from the Eighties back when practically everything had the difficulty cranked up to “merciless” straight out of the box,) I can play them for hours and not even really care if things are going badly.  There seems to be a fine line between hard yet fair and rage-inducingly cheap, and occasionally you get a game that manages to come right up to the line without crossing over.  Luftrausers seems to have done a pretty good job of this.

Another game in a similar vein that I’ve spent quite a bit of time on in is Geometry Wars: Retro Evolved 2.  Although this particular game is a rather chaotic 2D arena shooter that throws huge amounts of brightly colored badguys (er, bad polygons) at you all at once, surprisingly the one mode in the game that I couldn’t stop playing was the one that didn’t involve any shooting at all.  Sure, you still have all sorts of enemies coming after you from all directions (although it’s more of a big blue Advancing Wave of Doom than the Technicolor assault of the regular game modes) but since you can’t shoot, you have to pass through gates that trigger explosions which will destroy enemies in their proximity.  On the surface it seems pretty simple, but the difficulty ramps up quickly, and in this particular mode you don’t get any of the screen-clearing bombs you have in the other modes (you’re a pacifist, rember?) so basically your only recourse is to keep moving and using the gates to hold back the swarm.  You build up score multipliers by collecting little trapezoid things that the enemies drop when defeated, and as you last longer your potential for scoring increases until you make it well into the millions.  This video shows a particularly high score (for reference, my own highest score in this is somewhere in the 35 million range.  It happened once, and I haven’t been able to get past 25 million since that one run in spite of plenty of trying.

https://www.youtube.com/watch?v=FmD73uoRyWU

Without much searching, I could find plenty of other examples to cite here (the whole Flappy Bird craze that appeared and disappered in about a week and a half last month comes to mind as a notable recent example,) but the balance between fun and frustration can be really difficult to pull off.  Even though I’m not a game designer (nor do I profess to be anywhere close to one,) it seems to me that there’s a few common threads between games like this:

  • Make it cheap and easy to restart.  If your players are going to be dying repeatedly for ridiculous and/or quite possibly stupid reasons, at least make it easy for them to try again.  In Luftrausers, after you die you can literally be starting a new round within two seconds, just long enough to see your score from the last round and jump back in.  In some ways, simpler games have distinct advantages in this department over more elaborate ones, simply by merit of not having to worry about things like load times and changing settings.  In a notorious counter-example, the critically panned Xbox 360 game Too Human forced its players to endure a pointless unskippable 20-second cutscene every time they died.  
  • Give the players something to shoot for.  This can be done in a number of different ways.  In Geometry Wars there wasn’t much to do but blast (or dodge, in the case of Pacifism mode) your way to a high score, but the game over screen highlighted a leader board that showed all your friends’ high scores, and also the scores from your last eight rounds.  In addition to this, the in-game screen showed the score above yours on the leaderboard to use as a goal to shoot for.  Luftrausers isn’t quite so forthcoming with the leaderboards (you actually have to dig a bit to find them) but it does come with some goals to aim for in the form of the missions.  And on top of that, it’s always clear what your high score is so you can try to beat it.  Which brings me to the next point…
  • Keep the player too busy to care about their score.  Just staying alive for any length of time in games like this can be a challenge, let alone doing whatever it takes to get a high score.  Then again, it’s hard to care much about your score when you’ve got two aces on your tail and you’re dodging bullet spam from a battleship.  When the battle gets heavy, oftentimes you won’t even have an idea that you’ve got a high score until you’ve reached the game over screen and see it.  And if you’re a few points short, it provides good incentive to jump in and try again.
  • Give the players incentive to take unnecessary risks.  In the Pacifism mode of Geometry Wars, you can get additional score multipliers for diving through multiple gates all at once.  which can be a really risky thing to do but can also get you a large number of points if you can pull it off.  In Luftrausers, it can sometimes be awfully tough to resist the urge to make foolhardy divebombing runs on battleships, if for no other reason than the fact that it’s oddly satisfying to watch one of the things blow up.  There’s also the challenge of trying to maintain a max combo when things start getting really hairy.  You have to keep seeking out targets and taking them out to keep the combo going, and sometimes you’ll find yourself having to resort to charging headlong into a fleet of PT boats with guns aimed right in your face to try to take one out before the timer runs out.

I’m sure there are plenty of other lessons that could be learned from this type of thing, but since I’m just sitting here writing about these things instead of actually going out and making them myself, I’ll leave it to the professionals to figure those out.  As I said earlier, there’s a fine line between making something frustrating but fair and making it rage-inducing.  The trick is to figure out how close you can get to that line without going over.  It’s been said that the best part about banging your head repeatedly against the wall is that it feels so good to stop, but sometimes, the trick is to figure out how to keep people banging away at that wall.

March 9, 2014

Furniture Spam: A Short Story

Filed under: Short Stories — Tags: , , , — Brian Lutz @ 12:23 am

Image credit: Flickr user Greenkozi, Creative Commons

Earlier today, me and a couple of my friends made a trip out to the friendly neighborhood monolith of vaguely Scandinavian furniture to partake of the suspiciously cheap breakfasts they offer in their cafeteria and pick up some miscellaneous housewares.  While we were there, we saw that they were running some sort of event where you could get entered into a drawing for either a gift card or the ever vague “other prizes” by signing up for their mailing list.  After all, when you get a chance to get your inbox spammed for the next eternity or two in exchange for a longshot chance at a $250 furniture shopping spree, you’ve got to take it, right?  Then again, when me and my friends get together, we have a tendency to take these things to the most illogical and absurd conclusions we can possibly think of…


Thanks to the ridiculously cheap alarm clock that failed to go off for the third time this week, Ed was running late for an important meeting at work.  After hastily putting on the first three socially acceptable items that came out of the dresser drawer and halfheartedly combing his hair into something that bore a passing resemblance to a part, he quickly rushed down the stairs.  If he hurried, he might still have a chance of getting there on time.  After grabbing some frozen thing out of the freezer for lunch and shoving it into his bag, he quickly made his way to the door, opened it…  and stopped dead in his tracks.

It had happened again.  Why did it have to be today, of all days?

There, sitting on the front lawn, was a trendy new sofa, complete with matching loveseat.  Between these was a rather lovely little side table with a nice lamp, and a well-coordinated area rug tied the whole set into a coheisive group.  It was immediately apparent that someone had carefully selected these items to coordinate with each other and to compliment just about any room, and the overall effect made for a cozy little gathering place  that the whole family could enjoy.  On top of the loveseat, a colorful flyer helpfully suggested some coffee tables and shelves that might coordinate well with this grouping, and even provided some valuable coupons.  Not that Ed really had much use for the coupons in the first place, since a number of bookshelves had already appeared on the front porch just a couple of months ago, and one of the entertainment centers highlighted on the flyer was already occupying a considerable portion of his garage.

In fact, ever since the fateful day a few months before when Ed put his name and address into a drawing at the big-box furniture store and somehow managed to end up winning the grand prize, this type of thing had become a rather common occurrence.  The sign on the entry box had informed him that he could win free furniture or other great prizes, but there didn’t seem to be a whole lot of details there.  Surely if he had bothered to read the fine print he might have figured out what he was getting himself into, but at the time they were offering the meatball combo in the cafeteria for a dollar off the regular price, and he was too hungry to bother with such trivial things.  Maybe if he had stuck around for the drawing he might have been able to figure out what was going on, but he had too many other errands to run that day and had to leave quickly after lunch.  So it wasn’t until furniture started randomly showing up on his doorstep one day that he even had any idea what was going on.

At first, the whole thing was kind of amusing.  He would walk out to collect the mail and find a brand new set of pots, pans and dishes sitting at the doorstep.  Upon returning from an evening out he might find that his parking spot had been occupied by a brand new queen size bed, complete with tasteful yet cheerful sheets, pillows and duvet.  But then it just kept coming.  At least 2 or 3 times a month, Ed would find upon waking up that another shipment of stylish new furniture had been mysteriously delivered in the dead of night, always fully assembled, and always arranged very carefully to brighten up the place while still allowing maximum possible use of the available space.  And whoever was doing it was apparently very efficient about it, because he had never heard a peep from them, and always slept right through it.  Nobody he had talked to at the furniture store had any knowledge of what was going on, at least none that they would admit to.  It was clear to Ed that this was a well-organized and professional operation.  And in spite of his best efforts, nothing he tried to do seemed to be able to stop it.

And here he was, late for work already and facing the dilemma of yet another living room set on the front lawn.  And the clouds on the horizon made it clear that he was going to need to get the stuff inside unless he wanted it rained on.  Ed quickly took out his cell phone and scanned through his contacts list, trying to see if he could find someone he could call for some help.  Lately this had become an increasingly difficult task, as many of his friends stopped answering his calls after the fourth or fifth time he needed help hauling stuff into the garage.  Not that he had a whole lot of room in the garage anymore anyway.  A lovely dining room group was currently occupying the space where his car once parked, and a nice computer desk and set of filing cabinets followed soon after, as did a set of dresser drawers and nightstands, and a couple of rather large decorative vases.  Even Ed had to admit that it was all pretty nice stuff (at least in comparison to the mixed assortment of bachelor pad hand-me-downs and garage sale specials that comprised the current decor of his house) but somehow that didn’t provide a whole lot of consolation when he knew he was going to have to call the boss and explain that he was going to miss the meeting because the lawn is full of brand new furniture.  Yes, again.

After a couple of calls that went straight to voicemail, Ed quickly carried the lamp into the house and made his way to the shed in the backyard, realizing he would need to sort this one out later.  As he trudged back toward the front yard with a couple of giant blue tarps, he silently rued the day that he had signed up for the furniture store’s spam list.

February 27, 2014

Random Thoughts: The Land of the Not-Quite-Midnight Sun

Filed under: Random Stuff — Tags: — Brian Lutz @ 1:18 am

Picture only vaguely related.

As we approach the end of February and begin to transition into March and the pending arrival of Spring that it brings, this time of year tends to mark a bit of a small milestone in my mind.  It’s the time of year when there’s still a few remaining shreds of daylight outside when I leave the office in the evening.  I’m pretty sure I’ve talked about this before on my Blog (after 6 1/2 years and 635 posts, I suspect there isn’t a whole lot left that I haven’t talked about on here at one point or another) but I tend to view this as the point where Winter is finally starting to wane, and it’s just about time to start looking for signs of Spring.  Generally, by the middle of Autumn all (or most of) the leaves have fallen off the trees, and at that point most people just tend to spend the next three or four months treating them as basically a blind spot, since there isn’t really anything to see there anyway.  In fact, it wasn’t until I was leaving the office today that I happened to notice some of the trees lining Spring street between Western and First still had their Christmas lights on, even though I walk past there on a regular basis.  I just hadn’t bothered to take notice of the fact.

As I’m sure you’ve heard from many sources over many years, even though the Winter weather we get around here tends to be relatively mild compared to the Winter weather you find in a lot of places (the Eastern United States in particular seems to be getting more than their fair share of the stuff this year) but that doesn’t mean it isn’t thoroughly miserable out there at times.  The fact that Seattle is one of the Northernmost major cities in the Continental United States means that we tend to have a greater variation in the lengths of our days and nights than a lot of places.  During the Summer it may not get dark until almost 10pm, but around the Winter Solstice, sunset here can be as early as 4:18pm. (Note:  This is based on 2013 sunrise/sunset times, not sure how much it varies from year to year.)  To contrast, in Los Angeles (about 1,000 miles South of here, and approximately 200 miles east of Seattle in longitude,) the earliest sunsets in December happen at 4:43pm, nearly a half hour later, and the latest sunsets in June are at 8:08pm, which is over an hour earlier than here.  At the Summer Solstice, Los Angeles gets 14 hours, 25 minutes and 34 seconds between Sunrise and Sunset, but Seattle gets 15 hours, 59 minutes and 20 seconds (feel free to round up to an even 16 hours if you’d like,) nearly an hour and a half more sunlight.

On the other hand, at the Winter Solstice Seattle only gets 8 hours, 25 minutes and 24 seconds, while Los Angeles gets 9 hours, 53 minutes and 26 seconds, a difference of roughly an hour and a half (give or take a minute or two.)  If you compare this to a location even further South (such as Miami, which is just about as far South as you can get in the continental United States) the difference becomes even more marked, with over two hours more sunlight here at the Summer Solstice, and over two hours more sunlight there at the Winter Solstice.  Taking this exercise to its logical conclusion (in this case, almost directly on the Equator in Quito, Ecuador)  reveals a difference of roughly 4 hours at each Solstice.  Granted, it’s not quite the “Midnight Sun” that they get up in Northern Alaska during the Summer (which they make up for with Polar Night, a period of one or more days with no sun at all during the Winter above the Arctic Circle) but the effect is more significant than most people might imagine.  People don’t tend to think of Seattle as really being a Northern city, but at a latitude of 47°37′N, it’s quite a bit farther north than quite a few major Canadian cities, including Toronto (43°42′N), Ottawa (45°25′N), Montreal(45°30′N) and Quebec City (46°49′N.)  In fact, the closest Canadian city in terms of latitude is St. John’s, Newfoundland at 47°34′N, and people tend to think of Newfoundland as being way up in the North, but it’s still south of Seattle in latitude.  Obviously there are also a number of Canadian cities well to the north of Seattle, including Vancouver (obviously), Calgary, Edmonton, Saskatoon and Winnipeg, but it turns out that Seattle is farther north than the areas that at least a third of the population of Canada lives in (too lazy to try to sort out population stuff right now, it’s already 1am while I’m typing this. and I should probably have been in bed an hour ago.)

Nonetheless, regardless of how late it stays light outside during the Summer, we definitely seem to end up paying for it with our early darkness during the Winter.  And when it gets dark as early as it does in December and January, you tend not to notice things.  Sure, the weather is still, on average, fairly miserable on most days, but at least when the light starts to stay longer the “gloom” portion of the whole doom-and-gloom thing that seems so popular around this time of year tends to be reduced to some extent.  Yes, it’s still 43 degrees outside and you’re still trudging up the hill to the bus stop in the type of rain that isn’t enough to really do much more than annoy you, but at least you tend to have some sense that it can’t last forever.  I’m sure if I went looking for the signs of the pending Spring they wouldn’t be too hard to find (and probably wouldn’t have been too hard to find three weeks ago if I cared to look then) but regardless of how vigilant one might or might not be, Spring has a tendency to sneak up on us a bit.  One day, we happen to look up and suddenly notice that the trees are in full blossom, and wonder when it happened.  Then again, a dormant tree in Winter just tends to kind of blend into the background without much reason to notice it, until suddenly one day it wakes up and makes itself highly visible.  But in the meantime, we’re not quite out of the proverbial woods yet.  At least we can see that we might be soon enough, which sometimes is just barely enough to keep us going for a while.

(Sources:  Sunrise and sunset data used here came from this site.  Data on latitudes of Canadian cities from this page.)

February 12, 2014

Valentine’s Day Kitsch Roundup 2014: How Do Fools Fall in Love?

Filed under: Holidays — Tags: , — Brian Lutz @ 7:53 am

Oh, the troubles I’ve seen…

Well, Valentine’s Day is fast approaching once again, and as always, there is one thing on the hearts and minds of men all around the globe:  Don’t screw this one up.  Yes, there are plenty of nice things you can get your significant other to show how much you care, but at the same time there are also plenty of things out there that are, to put it briefly, rather inadvisable.  And for the seventh year now, I have made note of some of the more egregious examples found on store shelves all over the area, and compiled them here, partially as a convenient excuse to make snarky comments, and partially as a “What not to do” warning for those who dare to tread into this dangerous territory.  Along this path lies heartbreak, anguish, and quite possibly even sleeping on the couch.

As usual, I present this with the disclaimer that I am by no means an expert on this subject, nor do I pretend to be.  If I was then maybe I would have figured out how to stop being single at some point in time.  Then again, my girlfriend doesn’t seem to be a big fan of the traditional Valentine’s Day stuff anyway.  A couple of years ago, our Valentine’s Day date consisted of a lunch in one of the fancy steakhouses here in Bellevue, which quite frankly didn’t really go over so well.  Last year it was dinner at IKEA followed by a visit to one of the local Go-Kart tracks.  Not surprisingly, that one went over a whole lot better.  I wouldn’t necessarily recommend that to everyone though;  somehow I get the suspicion that I’m dealing with a bit of an edge case (not that I’m complaining, mind you…)  I don’t tell this story for any particular reason, but know that everyone is different, and sometimes you’ll find that the reality of the situation is far different from what the greeting card companies might have you expect.  Anyway, without further ado, the 7th annual Sledgehammer Valentine’s Day Kitsch Roundup can be found after the jump.

Previous Valentine’s Day Kitsch Roundups:

(more…)

February 6, 2014

A Lot More Than 12 Men on the Field – The Seahawks Super Bowl Victory Parade

Filed under: Seattle, Sports — Tags: , , — Brian Lutz @ 10:50 pm

In 2012, it was estimated that there are 634,535 people living in the City of Seattle at the time.  Last year, the population of the entire State of Washington was estimated to be 6,971,406 people.  In Downtown Seattle yesterday, it was estimated that a crowd of over 700,000 people had gathered along Fourth Avenue to celebrate what is (currently) an unprecedented event in Seattle:  A Super Bowl championship.  This isn’t the first time that a Seattle team has won a championship (the Sonics won an NBA championship in 1979, and the Seattle Storm have won WNBA championships in 2004 and 2010) but aside from the Seahawks’ previous appearance in Super Bowl XL (and the controversial officiating that some believe adversely impacted the outcome of the game, which has remained a sore spot with Seahawks fans for years,) an NBA Finals appearance for the Sonics in 1996 where they mostly served as the token opponent for one of the Michael Jordan dynasty Bulls championships, and a few promising Mariners seasons that ultimately fizzled out in the ALCS, Seattle hasn’t had much to cheer about in the past decade in terms of sports.  The Mariners have typically been somewhere in the range of mediocre to terrible each year since the 116-win 2001 season, the Sonics are currently tearing up the league from their new home in Oklahoma City (and no, I really can’t hate the Thunder, mostly because Kevin Durant is so much fun to watch when he really gets going,)  and the Seahawks have made the playoffs a few times, but have usually managed to be defeated in dramatic fashion.  In recent years Sounders FC has appeared on the scene and developed a surprisingly loyal fan base, but has yet to have much success in their appearances in the MLS Cup playoffs.  Back in 2004, ESPN did a feature on the 15 most tortured sports cities in America, and Seattle made the list at #7.  Of course this was before they made it to Super Bowl XL in 2006, but the outcome of that particular game didn’t seem to do much to help things any.

Perhaps it is because of that history that so many people (at least double the amount of any of the estimates made prior to the parade) showed up to celebrate the Seahawks’ first ever NFL championship, won in emphatic fashion as the Seahawks blew out the Denver Broncos 43-8 in Super Bowl XLVIII on Sunday.  The parade route stretched along Fourth Avenue between Seattle Center and CenturyLink Field, and people arrived hours ahead of time to claim their spots.  I kind of figured that getting into Downtown was going to be a mess regardless of how many people showed up, but even though the 550 bus from Downtown Bellevue took twice as long as it normally does to get there, I was able to avoid the long lines of people waiting to board the bus by getting on at the first stop at the Bellevue Library.  The bus was completely full by the time it left the Transit Center, and ended up just bypassing almost all of its stops (each of which appeared to have a good 20-30 people waiting) due to lack of space for any more passengers.  I figured that I was going to have to make the trip into Downtown to go to work whether I was attending the parade or not, so I might as well see what all the hubbub was about.  And yes, I’m aware that I’m a really horrible sports fan, but if more than 10% of the entire population of the state is doing it, that probably counts as sufficient peer pressure.

To give you some idea of what kind of crowd came out for this parade in spite of freezing temperatures and semi-apocalyptic traffic, this is roughly half a block’s worth of people, looking northwest from roughly Fourth and Madison.  Now picture every single block of Fourth Avenue from Seattle Center all the way to CenturyLink Field, which was also packed with people (but not full, as some sections were blocked off due to preparations for an RV show going on downstairs.)  In addition to all this, Safeco Field was completely full of people watching the festivities on the big screen.  To get a better idea of just what the crowds looked like, you can find a number of other photos on this post.

And this is the view looking in the other direction.  Basically, any convenient ledge or patio people could watch from was jammed with as many people as would fit on to it.

It took some time for the parade to actually reach the location where I was watching from, but the crowd remained enthusiastic in spite of the delay.  When the parade did finally show up, the first ones in line were some of the team buses carrying a number of team personnel, several of which had managed to open up the emergency exit in the ceiling and get up on top of the buses to wave at the crowd.  Apparently safety is something that happens to Peyton Manning when you screw up the snap on the first play of the game (much to the chagrin of the Vegas bookmakers who presumably had to pay out some longshot bets on that one, I imagine.)

Elsewhere in the safety department (or lack thereof,) Marshawn Lynch decided to take in the parade from the hood of a duck full of Sea Gals where he threw Skittles toward the crowds.  I actually managed to catch a couple of them; I’m not sure if I should save them or try to sell them on eBay.

As the parade passed by, the running backs had the privilege of showing off the Lombardi Trophy.  I’m told that it was passed around between the various team members over the course of the parade, and these guys happened to have it at the time they were passing by.  Every time a group of players went by, the cheering was incredibly loud.  To be perfectly honest, the parade itself wasn’t all that exciting  (I can’t imagine you can put on too much of a show on three days notice) but seeing the sheer number of people who turned out was nothing short of breathtaking.  Seattle’s been waiting a long time (and has suffered through years of mediocrity, anguish and heartbreak) for one of its major sports teams to bring home a championship, and it shows.  Now if only we could get the Mariners to actually do something…

January 27, 2014

The Stupidest Idea I’ve Had All Week: Optimizing Delivery of Restaurant Baked Goods With Ballistic Devices

Filed under: Food, Random Stuff — Tags: — Brian Lutz @ 1:21 am

Last week, the Old Spaghetti Factory was celebrating their 45th anniversary by offering their various carb-based meals for $4 for a couple of days.  Me and my girlfriend decided to take advantage of this offer, and unsurprisingly, we found that we weren’t the only ones.  It took close to a 45 minute wait for a table to become available for us after we arrived, and even once we were seated we found the service to be somewhat on the slow side, presumably owing to the large crowds they were dealing with that evening (and no, I’m not complaining about the service, I figure that just comes with the territory when you go for this type of thing.)  Typically, when you start a meal at the Old Spaghetti Factory they bring bread to your table, but even the bread was taking some time to arrive this evening.  Being hungry after 45 minutes of waiting just to get a table, we were naturally getting a little bit impatient.  And when I get impatient, bad ideas usually tend to be the result.  And believe me, I’ve got plenty of those to go around.

It’s not like there was any lack of available bread in the restaurant, at least as far as we could tell.  A quick census of the other tables revealed that a significant number of them had received bread at some point prior, although we did not have any reliable method of determining the  TTB (Time to Bread) value for any except our own table.  Given the fact that the bread at this particular restaurant is typically served hot, it is entirely possible that the baking mechanisms could bottleneck the process at times of extreme volume (it is probably reasonable to assume that this would have been considered a time of high volume) but on the whole, it would seem that the bread supply on hand was adequate.  That would mean the most likely delay in bread delivery to our table would have been the delivery itself, which depended on a server who was presumably too busy dealing with his other tables to deliver bread in a timely fashion.  Surely there has to be some way to speed up this process.

It was about this point that we recalled an incident that happened on one of our Disneyland trips last year.  While wandering around the Pacific Wharf area of California Adventure, we came across the Boudin Bakery, where a number of people were inside preparing what appeared to be bread bowls, presumably for clam chowder or something similar.  We paused for a minute at the window and watched, when suddenly someone inside tossed one of the bread bowls at us.  Fortunately there was a window between us and the flying carbohydrate projectile, but it startled the heck out of us, and months later, we still joke about the time that we went to Disneyland and they threw bread at us.  But upon recalling this, it occurred to us that this could, in fact, be a significantly more efficient way of transferring bread from oven to consumer when compared to the current methods.  Some further research on this subject reveals that I’m not the first person to have this idea.  Lambert’s Cafe, founded in Sikeston Missouri with additional locations in Ozark Missouri and Foley Alabama, has been throwing bread at people for decades.  As you can see from the video below, this is a very efficient method of bread delivery.

Then again, even though setting up a cart in the corner and getting a guy to throw rolls at customers works well in a down-home place like Lambert’s, in a modern high-volume foodservice environment you’re going to need something a bit more efficient than that.  Fortunately, we have plenty of sources we could borrow from for this type of thing.  A quick search reveals that there have been literally hundreds of years of research put into the subject of placing objects in precise locations on a ballistic trajectory.  There are also quite a few time-tested methods of delivering ballistic projectiles to precise locations, any one of which could possibly be adapted to the application of delivering bread in a foodservice environment.  Granted, most of this science behind this type of thing tends to be concerned more with things like heavy boulders and high explosives, but I’m sure some of the existing research could be adapted to baked goods if necessary.  You would probably need to figure out a few minor details like mass, avoiding obstacles and not demolishing the tables and/or restaurant patrons with your bread-delivery system, but I’m sure those problems could probably be sorted out in a year or two.  Targeting could also be an issue, since the average restaurant server tends not to be well acquainted with the art of ballistics.  Fortunately, I think this problem tends to be fairly easy to solve.  After all, most restaurants tend to keep their tables in well-defined fixed locations, so if a pre-programmed computer controlled trajectory could be established for each table and/or seat, then you could ensure reasonably consistent  placement of the baked goods, although for a number of reasons (primarily variance in the mass and aerodynamic properties of the projectiles, as well as any air currents that might be present) within the restaurant) I think you would probably still need to allow for about a 5% margin of error.

There are also some inherent problems with applying this type of solution to existing restaurants, as it turns out that a shockingly small number of the restaurants opened in the United States in the last 50 years have taken projectile physics into consideration in their designs, which creates some challenges when it comes time to integrate a ballistic baked good delivery system into an existing restaurant.  Perhaps the biggest obstacle faced by the designers of such a system is how to deal with ceilings, which would tend to artificially limit the allowable height for projectiles.  In theory the baked goods could still be delivered to their targets on lower trajectories that will keep them at more acceptable altitudes, but this would also require more power to be applied at the launch end, which could result in some complications (including but not limited to spilled drinks, bruising, broken bones, tooth loss, unsightly dents in restaurant walls and/or shattered bottles of top-shelf liquors if a projectile intended for a bar patron goes off course.)  Ultimately, retrofitting an existing restaurant for ballistic bread delivery would ideally involve raising the ceilings to allow for higher arcing trajectories that are less likely to encounter interference from existing fixtures.  Determining the optimal trajectory for each table in a given establishment would also be a matter of trial and error.  Unfortunately, a lot of the existing science on this type of thing tends to be based on the assumption that the intended targets for most ballistic projectiles are intended to be demolished by said projectiles, a condition which is generally considered undesirable in a foodservice environment.  Then again, most baked goods tend to have relatively low mass when compared to most ballistic projectiles, so with a few minor countermeasures to arrest excessive velocity at the receiving end I’m sure something could be worked out that would deliver (mostly) intact bread on a reasonably consistent basis.  More research is clearly needed on this subject.

Then again, I’m not an engineer, and most of what I happen to know about ballistics comes from Wile E. Coyote cartoons and playing Scorched Earth as a kid, so I’m sure there are factors in play here that I have failed to properly consider.  All I know is that there are significant inefficiencies in the current foodservice bread-delivery paradigm, many of which can be solved with the judicious application of physics.  But what if you want butter with your bread?  Well, I guess the engineers still need to figure that one out.

January 19, 2014

We’re Only at Home When We’re on the Run

Filed under: travel, Wanderings — Tags: — Brian Lutz @ 12:43 am

(Optional soundtrack for this post, if for no other reason than the fact that I’ve had this particular song stuck in my head for most of the past month.)

Although I’ve done a fair bit of traveling over the years, there’s no doubt that 2013 is by far the most traveling I’ve done in one year.  In addition to the usual commuting back and forth to work and wandering around the local area, I’ve been on seven different trips of various lengths over the course of the year, and over the course of my travels I have been as far as 4,200 miles away from home.  Granted, most of my trips have been much shorter than that, but with two trips to the East Coast, thirteen days spent at sea and a number of other interesting little side trips along the way, it occurs to me that I’ve probably put in quite a few miles over the course of the last year.  Even though I don’t expect to be doing nearly as much travel this year as I did last year, I thought it might make an interesting exercise to try to figure out just how much traveling I actually did last year.  If I count all the different methods of transportation I used to get around over the course of the year (including ones such as walking and riding the bus) it becomes just about impossible to get an exact amount (it’s not like I’m keeping track of all this stuff very well) but for things like air, sea or rail, it’s actually pretty easy to figure out the distances involved.  With that in mind, I’m going to make a (quite possibly misguided) attempt to estimate just how many miles I traveled across all of the various modes of transportation I used last year.

Driving:  This is probably going to be the least  accurate part of this, since I haven’t really kept track of this all that well.  That means I can’t really do much better than an educated guess.  I figure that in an average year I probably drive somewhere between 10 and 12 thousand miles, give or take a thousand or so.  I’ve owned my car for just about 6 1/2 years now, and have somewhere in the neighborhood of 68,000 miles, which averages out to about 10,460 miles or so per year.   Nonetheless, I feel like I’ve done more driving than that over the past year, since I do commute to my job in Downtown Seattle and back at least a couple of times a week, possibly more.  Back when I worked in Downtown Bellevue a couple of years ago and didn’t need to drive at all to get to work and back, I know that the overall usage on my car was significantly lower.  Ultimately it averages out, but just to keep things convenient I’m just going to say that I drove (or rode in other people’s cars) for around 12,000 miles last year.  During the last year I didn’t go on any roadtrips in my own car, and I don’t recall having my car more than about 50 miles away from home at any given time.  Typically those would be included in the overall total, but since there weren’t any to speak of, I don’t need to account for any.

Of course, that’s only what I drove in my own car.  On the various trips I’ve taken in the past year, I figure I’ve put in a decent number of miles in various rental cars as well.  Between three different trips to Disneyland (which I figure typically involve around 300 miles or so, based on roughly a 100-mile round trip between LAX and the place we stay when we go down there, 3-4 days of a 50-mile round trip between the condo and parks, plus another 50 miles or so for miscellaneous driving (sightseeing, trips to the store, etc.)  to make a total of about 350 miles per trip.  There were also a couple of other trips (a quick weekend business trip to San Jose, plus the days before and after the December cruise in Florida) where I drove rental cars, but generally didn’t drive nearly as much on those ones.  I’ll estimate about another 200 miles of driving total for those two trips (although I suspect that number is high.)  I suppose if I ever bothered to keep the receipts for these trips I’d be able to get more exact numbers here (apparently the rental car companies are a lot more meticulous about this type of thing than I am) but since we’re pretty much working off estimates here this works.  If I add all this together, I come up with a total of around 1,950 miles driven in rental cars.

In addition to driving in rental cars, there was also the trip to Atlanta back in May for my brother’s wedding, followed by a road trip up to Charlotte, North Carolina to see a NASCAR race and back.  The shortest route between Atlanta and Charlotte would be I-85 (which is the route we took back to Atlanta afterward, roughly 266 miles) but since the wedding reception was in Augusta, we ended up taking a different route that took I-20 to Columbia South Carolina, then I-77 from there to Charlotte, for a total of around 344 miles.  Given the drive to Charlotte and back, plus miscellaneous driving for various things along the way (including a day spent in the Charlotte area touring around the various NASCAR teams’ race shops,) I estimate this trip to have been roughly 700 miles total.

Given all of the various driving and riding in cars I’ve done over the course of the past year, I’m going to estimate a total of somewhere around 13,950 miles traveled by car (both as a driver and as a passenger) over the past year.  Since I figure I’m probably not being very precise with this anyway, I might as well just go ahead and round that up to make it an even 14,000.

By Mass Transit:  In addition to driving, I also frequently commute by bus as well.  This is another one that is somewhat difficult to accurately estimate, but fortunately there’s at least some record keeping going on here, thanks to the ORCA card that I use to pay my bus fare.  if you look on the ORCA website, you can find a record of all the bus rides you’ve taken for a specified period of time.  which means that I can see that I rode on Metro and SoundTransit buses 207 times during 2013.  I can also see which buses I rode on.  Most of the time the bus I ride is either the 212 or 554 that goes to and from the Eastgate Park and Ride, and these two routes (and related routes with different numbers but which follow basically the same routing) accounted for 177 of the 207 trips.  By my estimate, each trip on this route is roughly 9.8 miles in each direction, for a total of 1,734.6 miles.  In addition to that, I also took 24 trips on route 550 (which is the direct bus from Downtown Bellevue that goes to Seattle.  If I take this one I don’t have to drive to the park-and-ride, but I also find it generally takes 10-15 minutes longer in each direction if I take this one than it does if I take the 212/554)  By messing around with some of the routing tools on Bing Maps, I can estimate that this route is roughly  11.5 miles for each trip, for a total of 276 miles on Route 550.  I also rode twice on Route 522 (a round trip from Kenmore Park-and-Ride to Downtown Seattle and back, about 15 miles each way) and there are 4 other trips I can’t be certain of (I think they may have been local trips in Downtown Seattle, I’ll just ignore those.)  I also rode once on the Light Rail from International District to Sea-Tac Airport (about 14.5 miles.)  If I add all these together, it comes out to an estimate of 2,055 miles total (give or take a couple) riding on mass transit last year.  I suppose if I really wanted to get nitpicky here (well, more so than I already am) I could probably try to figure out the distance I rode on Disneyland parking shuttles or the free trams they provide in Laguna Beach during a visit there, but that just makes my brain hurt.

By Train: This one’s actually pretty easy to figure out.   I took one train trip last year from Vancouver BC to Seattle aboard the Amtrak Cascades following the cruise we took in May.  According to the Wikipedia Article for the Amtrak Cascades, the distance from Vancouver to Seattle by rail is 157 miles.

By Air:  Perhaps not surprisingly, this ends up being where most of the distance traveled in the last year comes from.  Fortunately, it’s quite easy to get a fairly precise distance for all the flights I took last year, since  the various resources offered to frequent flyers for the purpose of figuring out their miles make it easy to find distances between airports, including connecting flights.  Based on the various flights I took last year, this is what the distances would look like:

  • SEA <-> LAX (3 round trips:)  1,908 miles roundtrip x 3 = 5,724 miles
  • LAX -> SFO -> SEA (one trip, one way:) 1,016 miles
  • SEA <-> ATL (1 round trip:) 4,360 miles
  • SEA <-> SJC (1 round trip:) 1,392 miles
  • SEA -> ATL -> FLL (1 trip, one way): 2,762 miles
  • FLL -> MSP -> SEA (1 trip, one way:) 2,880 miles

When I combine all of these together, I come up with a grand total of 18,134 miles traveled by air in 2013.  At this rate, I suspect that I might even manage to get a free flight with frequent flyer miles in another 3 or 4 years.

By Sea:  I suspect that most people don’t have this one on their list these days, but given the two cruises I was on last year, this accounts for a pretty significant chunk of mileage as well.  On the last day of each cruise, Princess Cruises provides each passenger with what is known as a Log of the Cruise, which describes where the ship has been and provides some statistics on the cruise, including the total distances between ports and the overall distance sailed.  It is from this that I get the distances for the two cruises I took last year:

  • Island Princess, Pacific Coastal (3 days, Los Angeles to Vancouver, no port stops:) 1,718 statute miles, 1,494 nautical miles
  • Emerald Princess, Southern Caribbean Medley (10 days, Roundtrip from Fort Lauderdale, stops at Eleuthera (Bahamas), St. Thomas, Dominica, Grenada, Bonaire, Aruba:)  3,565 statute miles, 3,100 nautical miles

Between these two cruises, this comes out to a total of 5,283 statute miles (4,594 nautical miles) traveled by sea last year.  Not that I was paying much attention to any of them…

Unless there’s something I’m forgetting here, this should account for all the traveling I did last year, both at home and abroad, by land, air and sea.  Now to add all of this up:

  • By car (both driving and as a passenger): 14,000 miles
  • By mass transit:  2,055 miles
  • By train:  157 miles
  • By air:  18,134 miles
  • By sea:  5,283 miles
  • Total: 39,629 miles

So when all was said and done, I came up with a total of nearly 40,000 miles traveled last year, which would be enough mileage to circle the Earth nearly 1.6 times.  That seems like an awful lot of traveling, but I do also know people who can end up traveling twice that many miles in a year on a regular basis (one of my friends did a two-week trip to Southeast Asia by way of Australia last year, plus another trip to India for work, and those two trips by themselves would probably come close to matching my whole mileage total for the year) whereas this past year was a fairly unusual one for me in that I did a lot more traveling than I usually do.  I do plan to continue traveling this coming year, but I seriously doubt I’ll be putting in quite as many miles.  On the other hand, I never know just where I’m going to end up.  After all, these things seem to have a tendency to sneak up on you when you’re not looking.

January 11, 2014

What Software Testers Can Learn From Video Game Speedrunners

Filed under: Games, Quality Assurance — Tags: , , — Brian Lutz @ 2:53 pm

I see a lot of this when I attempt to play video games.

Over the course of the past week, I’ve spent far more time than I care to admit watching other people play video games far better than I could possibly do it.  Every year around this time, Speed Demos Archive puts on an event known as Awesome Games Done Quick, where a group of speedrunners gets together and plays games nonstop as fast as they possibly can for an entire week, streaming it online as a fundraiser for the Prevent Cancer Foundation (and a pretty successful one too, raising nearly $450,000 last year, and as of this writing the total for AGDQ 2014 is sitting at roughly $663,000 with about a day to go, plus whatever bonus streams follow the main event.)    For someone such as myself who has pretty much no skill whatsoever when it comes to anything requiring fast twitch reflexes, it is fascinating to watch this type of thing for several reasons.  First of all, the amount of skill being put on display by the various speedrunners is amazing.  And the second (and perhaps more compelling) reason is that as the various speedrunners go through their runs, they tend to provide a running commentary explaining what they’re doing as they go along.  And quite a bit of what they’re doing is, quite frankly, breaking the games.

But as I’ve watched the marathon and seen the types of techniques that speedrunners use, it has occurred to me that there are actually some things I can learn in my professional career as a software QA engineer from watching this type of thing.  Even though I don’t do anything related to games in my job (and only one or two things I have ever done in my career have come even remotely close to it) it seems to me that a lot of what of people do in the course of speedrunning games is quite similar to what I do in testing software, with one significant difference:  As a tester, I’m trying to find problems to get them fixed, speedrunners are typically trying to find them to completely break things.  And to be perfectly honest, I think the speedrunners might be winning on this one, judging from some of the ways they can take tiny little glitches and completely break entire games with them.  In most cases this has no real impact other than to beat games far more quickly than they were ever intended to be beaten, but we’re generally talking about twenty year old games here.  If you’re running mission-critical software in an enterprise environment and things like this are happening, you might find the impact of something like this to be far more problematic.  Naturally, it’s best to catch these types of things well before the software (be it a game or something more functional) goes out into the wild.  As such, I thought I’d put together a post that goes through some of the lessons that I have learned from watching speedrunners during AGDQ.


1. People will go to great lengths to make even trivial gains in performance.  Although the speedruns in AGDQ are compelling enough on their own, the part that really makes it interesting is the commentary that goes along with most of the runs.  Whether it’s coming from the speedrunner(s) playing the game or from providing a play-by-play from the couch, it quickly becomes clear that the people doing this stuff have put as much thought and effort into this as most people would put into far more serious subjects.  I suspect that the collective knowledge that has been gleaned from one of the more popular speedrunning games such as Super Mario Bros. could fill a book, or at least an article in an academic journal.  Nonetheless, even for games that have been well documented and well understood for years, people are still trying to find ways to shave fractions of seconds off their times.  In particular, one of the popular (yet somewhat controversial) categories in speed running tool-assisted speedrunning, also known as TAS.  Tool-assisted speedrunners use various tools to do things like run games a single frame at a time and use savestates to keep running through segments until they can figure out the optimal paths through or pull off difficult tricks, which allows them to eventually work toward what could be considered a fully optimized run.  In many cases, these optimized runs can be much faster (often by multiple minutes) than what even the best human players can manage, but they also tend to do this by using tricks that human players would not be able to do.  Nonetheless, the TAS players can find hidden strategies that can save time in regular speedruns, but at the same time can also be very difficult and/or risky.  It’s not uncommon to see speedrunners taking big risks on difficult tricks that might save them a fraction of a second if they pull it off, but can cost them much more than that if they don’t.  Speedrunning is by its very nature competitive, and at times it can be mere fractions of a second that can separate players in a racing each other on an hour-long speedrun (I don’t have a way to link to it yet, but the 4-way Super Metroid race from AGDQ 2014 is a very good illustration of this.)

Although this isn’t a scenario that necessarily translates to real-world software in the same manner (as you might imagine, when working with most types of hardware and software the goal is far more to reduce risk as much as possible than to reward it,) one thing I do typically see in the course of my daily workflow as a tester is that there are a lot of repetitive tasks that come up, not just in the actual testing, but in the course of dealing with the other associated tasks that come along with it such as bug tracking, test case management, setting up test environments and reporting results.  Although the use of automation in test case execution is widespread and can save significant time over manual testing in situations where it can be applied, I’m not dealing with much of it in my current job.  Nonetheless, even if you’re not automating  your test cases, you can probably identify little repetitive tasks here and there that you might be able to automate with something like a batch script or a macro.  Even little things that don’t seem like much can add up over time, and in the long run you can make significant performance gains out of little things.

2. Things that may seem random rarely are.  As you watch the various speedrunners going through their runs, one of the things they point out frequently is where things are or aren’t random in the games.  As you watch the various runs, you realize that at least under specific conditions, most seemingly random things aren’t actually random.  This is frequently important because a lot of the strategies (speedrunners typically call them “Strats”) depend on certain things happening at certain times.  On the flip side of the coin, random events tend to be a hindrance, as they can interfere with things often.  Mostly through exploration using TAS and other playthroughs of the game, it is possible for them to determine what is going to happen when, and also to figure out ways to precisely control the circumstances in which certain things happen and manipulate them to their advantage.  While testing software, often one of the biggest challenges testers face is trying to come up with consistently reproducible scenarios for bugs that have been reported because you have no way to verify if you actually fixed a bug if you don’t have a reliable way to get that bug to manifest itself in the first place.  This can be difficult, especially for bugs that may have been seen only once or twice, or issues that have been reported by non-technical users who provide only limited information and in a production environment where you might not have access to the debugging tools you’re used to having on your test bench.  It is for this reason that you need to be familiar with the environment you’re working in, and that you know what circumstances might lead to one particular code path instead of another.  If possible, you also want to have ways to collect at least some sort of data from low-information users in situations like this.  In many cases, understanding what circumstances might cause certain unwanted behaviors to occur in a piece of software can be largely a matter of determining the state of the environment at the time the problem happened.  Granted, this can require going rather deep into things, but speedrunners (and especially TAS runners) have gone surprisingly deep into the games they’re speedrunning, and have managed to do some rather surprising things, as this tool-assisted run of Super Mario World from AGDQ2014 illustrates.  It starts out unusual, gets downright weird, and goes…  Well, you’ll just have to watch.

3. You’re always going to miss something no matter how much testing you do.  The vast majority of games being played in the AGDQ marathon were some of the best-selling and best known games of the time when they were created.  Although the tools and services available today to game developers has allowed many smaller indie developers to put out products that can rival the big-name studios, in general a lot of games being shown were produced by rather large teams of developers, testers, artists and other support staff, often across multiple companies.  That means that by the time these products made it to the store shelves back in the day (something that has, ironically, become less and less of a reliable indicator of a product’s quality as console technology has reached the point where patching has become not only possible but practically expected)  they may have had hundreds of people involved along the way, including large numbers of testers dedicated to finding and reporting bugs to be fixed.  In spite of all that, the speedrunners still manage to find glitches, exploits and other bugs.  Not all of these are necessarily going to be useful for reducing speedrun time (in fact, a lot of these don’t do much more than crash things.) but these can be little things, big things, or somewhere in between.

Of course, very few of these glitches are things that a player going through the course of the game in the intended manner would ever run into (a lot of them involve finding ways into areas that the player is not supposed to be able to go into,) but unless they’re specifically restricting themselves to this, most speedrunners are going to use every glitch they can manage to get.  And I’m sure that there are developers and testers out there who have smacked themselves in the head after seeing some of the stuff that the speedrunners have pulled off in their stuff.  In the course of running a test pass on a game like the ones featured here, a lot of the scenarios where the glitches appear would be considered edge cases, which are things that very few users would even go anywhere near.  The main problem with these edge cases is that you’re generally wandering well off the “happy path” that normal users would be on, and in general the returns on these test scenarios tend to be very low in terms of the amount of time spent running them.  Then again, if you aren’t going to find the problems here, there’s a very good chance that someone else will gladly find the problems for you.  And you’re probably not going to like the results when they do.

4. Anything that is deemed unnecessary will be skipped one way or another.  During this year’s AGDQ, one of the featured runs was for Resident Evil 4, a game that I’ve never played (it’s not the type of genre I’m interested in) but which was still quite interesting to watch.  One of the biggest things I took away from this particular speedrun was that the player basically just ran right by probably 75% of the enemies in the game without a second thought, and suffered no ill consequences for doing so.  A lot of these fights would likely be rather difficult (and time-consuming) if the player was to actually do them the way the developers intended, but oftentimes it turns out to be completely unnecessary, as they just run right by and keep going.  Of course, in a speedrun saving as much time as possible wherever possible is crucial, so a lot of effort goes into cutting out even trivial things.  In particular, cutscenes and dialog are frequent targets of speedrunners, who will often take rather unusual steps to keep them from happening or exit them as quickly as possible.  In some cases, you’ll see people literally reset the game or quit out and reload in the middle of a speedrun, because starting from scratch and reloading from a save can in some cases be much quicker than watching a cutscene.  As long as the established ground rules for a particular game allow it, this is considered perfectly normal.

Another thing you see that happens quite a bit is that players will intentionally take damage in a lot of instances in order to use the temporary invincibility that typically goes with it  to bypass things.  In games, people tend to think of health or energy (or even lives) as something they have to try to keep as much of as possible, but speedrunners tend to treat these things primarily as a tool.  In particular, games like F-Zero GX (one of the most notoriously difficult games in recent memory, and one of the major highlights of the past couple of AGDQs as speedrunners have absolutely destroyed it) give you an energy bar that acts as both your health meter and something that can be consumed as a boost, allowing you to go faster but significantly increasing your risk of failure by doing so.  Then again, this is a normal (and expected) mechanic of this particular game, but taking intentional damage to bypass obstacles and improve speed is surprisingly common in many speedruns, especially for 8-bit games like the Mega Man and Ninja Gaiden series.  In some games, strategically placed intentional deaths are a common occurrence as well if some advantage can be obtained by doing so.  Then again, most players need to use that health and those lives just to keep themselves from hitting the game over screen too soon, so a lot of this comes down to having enough skill in the first place to avoid unintentional damage as much as possible, since it becomes a lot riskier when people play this way.  This means that in addition to all the various strategies and optimizations involved in the whole process, there’s also quite a bit of raw skill required just to even be able to think about speedrunning a game (of course, even if you can’t do live speedruns you can always try to do TAS, but that’s basically something entirely different.)

5. If there’s a way to pull things off the rails, someone will find it.  In many ways, this really ties into #4, but I feel it should also be considered separately.  One of the most popular genres of games for speedrunners is the so-called “Metroidvania” games (of which the 2D Metroid and the non-linear Castlevania games such as Symphony of the Night are the most prominent examples,) which typically are played on large non-linear maps but ultimately still have a linear progression that the user is expected to follow.  Of course, it is possible to follow this linear progression and do a speedrun that way, but most of the time the goal is to finish things as quickly as possible no matter how this is accomplished, so when a new game of this genre comes out, the first thing the speedrunners do is try to find so-called “sequence breaks,” which are strategies that allow the player to subvert the expected linear progression of the game and skip significant portions of the game entirely and acquire items that they aren’t expected to have  until much later in the game.  Of course, it’s gotten to the point that a lot of developers these days just hide intentional sequence breaks into the games, but in most cases these have come about as a result of players messing around with things they aren’t supposed to be messing around with, trying to actively subvert the intended order of the game. 

The effort that goes into testing a particular piece of software is as much a matter of planning as it is execution.  After all, you (generally) have a specific set of requirements that the software must be able to meet, and you need to be able to demonstrate that the software can meet those requirements.  And these days more than ever, security testing becomes a very important part of those test plans.  After all, no matter what type of software you are working with, it’s highly likely that someone out there will be trying to find ways to get around whatever limitations happen to be in it, especially if you’re dealing with any system that stores sensitive data.  But even aside from that, you can find yourself surprised by some of the things you’ll see users try to do with your software, things you would never expect.  As you go through the various test passes and validations that you might do over the course of a software development life cycle, you start to develop a surprisingly deep understanding of how things tend to work in the system, even if you aren’t working directly with the code.  As a result, you tend to build a bit if an intuition for some of the unusual things users might try somewhere along the line.  Don’t hesitate to try some of these things out; you never know just what kind of weird issues you might manage to run into.  Not that all of it will necessarily get fixed (after all, developers’ time is a finite resource, and you eventually have to ship something) but if you can think of it, chances are that at some point someone else will do the same.

All things considered, there’s actually a surprisingly large correlation in the methods used by speedrunners and software testers for their respective tasks.  In both cases, people are going deep into the inner workings of the software they’re using to try to find things that don’t work the way they’re supposed to.  Both use a lot of the same methods, and both find a lot of the same issues.  It’s how these issues are used where things tend to diverge though.  As a tester, it’s naturally your job to find these issues in order to get them fixed.  As a speedrunner, you’re trying to find issues that you can use to break things even further.  Either way, the results can be fascinating to watch.

Older Posts »

The Shocking Blue Green Theme Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

Join 255 other followers

%d bloggers like this: