Coding Horror

programming and human factors

PC Pinball Sims

One of my favorite things to play on Verticade, our full size MAME arcade machine, is pinball simulators. There's something about the completely digital simulation of analog gameplay that fascinates me. Plus, it's easy to take five or ten minutes out for a quick game of pinball. No MMORPG time commitment necessary.

Of course, it helps to have the right controls; our SlikStik arcade controller includes the optional pinball kit: two buttons on each side for flipper and nudge, and a single button on the front right for the plunger. It may not sound like much, but as any Guitar Hero fan will tell you, sometimes the controller makes all the difference. There are some obscure pinball controllers out there, but a garden variety keyboard will do in a pinch.

timeshock-pinball-table-closeup.jpg

Unfortunately, PC pinball sims are a dying breed. And of the few commercial pinball games that were ever released, only a handful can be considered true simulators, with realistic approximations of the complex newtonian physics at work on a pinball playfield. If you're a fan, here are three pinball sims you definitely shouldn't miss:

  1. Empire Interactive's Pro Pinball series is widely regarded as the best of the best. I agree. Start here:

    The physics are reasonable enough in The Web, but starting with Timeshock!, they're impeccable. In Big Race USA and Fantastic Journey, you can even cause the ball to pop up off the table and hit the backglass!

  2. Team 17's Addiction Pinball is a very close second to the Pro Pinball series. The physics are slighly relaxed, but still quite accurate. And the two tables are a bit more forgiving as well.

  3. 3D Realms' Balls of Steel is also worthwhile if you're willing to forgo realistic physics entirely in favor of fun. This is probably the purest old-school arcade style pinball I've found.

I've played most of the tables in the top 25 of the Tower of Pin review rankings, and these three are head and shoulders above the rest. They're all true Windows apps that run fine under Windows XP and Windows Vista, too. Some of the others in the top 10 are old DOS apps that are painful to get running properly, even in DOSBox. Some of these games are fairly old by now, so they can be difficult to find:

  1. Pro Pinball on Amazon; Pro Pinball on eBay
  2. Addiction Pinball on Amazon; Addiction Pinball on eBay
  3. If you have a decent 3D card, these newer pinball sims offer the rough equivalent of Balls of Steel level physics, with much better graphics: Pure Pinball 2.0 and Dream Pinball 3D on Amazon

And no, the Space Cadet pinball bundled with Windows XP doesn't count. Although, if you like that style of pinball, you can pick up Maxis' Full Tilt! and Full Tilt! 2, which is where the Space Cadet table was lifted from.

The good news is that the community is picking up the slack in commercial pinball sim releases. I'm not really a fan of Visual Pinball, due to the wonky physics and strictly 2D gameplay, but the community around it is vibrant and prolific.

I'm much more excited about Future Pinball, which truly takes pinball sims to the next level-- no more pre-rendered playfields! Future Pinball is essentially an editor which lets you design your own tables in full 3D, and play them in hardware accelerated 3D, too. It comes with one so-so demo table that has a generic alien theme, but there are already a number of excellent community-created tables out there for Future Pinball.

And now we've come completely full circle to my childhood...

Bill Budge's Pinball Construction Set

.. and the hours and hours I spent building my own pinball machines in Bill Budge's Pinball Construction Set.

Discussion

Laptop Alternatives

I was desperately trying to avoid the expense of buying a new laptop, but my work-provided Thinkpad T43 just isn't cutting it for me.

The problem with Thinkpads, even the very nice new T60 models, is deeper than the hardware and the classic black box design. Thinkpads are uninspiring. They're the gray flannel suit of the IT industry. Every other attendee at TechEd 2006 was sporting the same old boring corporate issue ThinkPad. Every time I pulled the T43 out of my bag, I felt like I was advertising the fact that I didn't give a damn.

I want something different. Something more interesting. Here's what I'm looking for:

  • A Core Duo CPU. Easily the best CPU Intel has produced in years. The latest batch of Core Duo laptops, even the slowest and smallest ones, are plenty powerful enough for pretty much anything except high-end gaming or video editing. And Core Duo 2 is right around the corner, in the unlikely event that you happen to need even more CPU power.
  • Near ultra-portable, to the tune of 5 pounds maximum, with a reasonably sized 13" or 14" screen. I figure the whole point of having a laptop is so that you can easily take it with you-- without it becoming absurdly, awkwardly small. I do want to stick with the standard, proven laptop form factor.
  • Dedicated video hardware. I want Vista to run well with its hardware accelerated GUI. That means real third-party graphics hardware with dedicated graphics memory, not that Intel onboard integrated shared memory crap. This also means I could possibly play a game or two in a pinch, but that's not a priority. It's more like a fringe benefit of Vista compatibility.
  • No optical drive. Or at least provide the option to remove the optical drive. Really, who uses optical drives any more? That's an extra half-pound I'd rather not carry around. I can drag an external USB slimline optical drive with me if I'm ever going to need it. Which is probably never.

After obsessively searching through all my options, here's what I arrived at:

  1. Lenovo Thinkpad X60

    A non-starter for several reasons, the first of which is that it's a Thinkpad. It's also very spendy. And no touchpad? No purchase. The lack of an embedded optical drive is a big-- and rare-- plus, however.

  2. Samsung Q35

    The Q35 is very tempting. But integrated video is a showstopper. If it had dedicated video, I think this would have been my final choice.

  3. MacBook Pro

    Apple laptops are actually a good value for the money now that they've switched to Intel. I like the design and the hardware choices Apple made a lot, but I ultimately decided against it. I'd never use OSX. It seems a waste to boot this machine to Windows exclusively. Plus, the keyboard and trackpad are designed for the Mac world and require some annoying rejiggering for proper Windows support.

  4. Dell e1405

    Yes, Dell laptops are a great value. My current laptop is a Dell. But they're too mainstream for my taste. We live in a world of platform choices; repeatedly choosing a Dell is a catastrophic failure of imagination. And there's that ubiquitous integrated graphics problem, anyway.

  5. Sony VAIO SZ

    The integrated camera and biometric reader on the VAIO is a nice touch. But I don't trust Sony for drivers and support; their stuff is always pretty but vapid. The integrated nVidia 7400 video is solid, if about 20 percent slower than the X1600 on the MacBook Pro. And the lack of gigabit ethernet is just plain sloppy.

  6. Asus W3J

    Ladies and gentlemen, we have a winner.

Asus is the OEM who manufactures Apple's laptops, and it shows: the Asus W3J hits the sweet spot on all my criteria.

  • 14" 1280x768 widescreen Core Duo
  • 4.4 lbs without DVD-R
  • Clean, slimline aluminum design
  • Dedicated ATI x1600 graphics
  • A nifty swappable bay which supports DVD-R (included), blank bay for lightest weight, an extra battery, or an extra hard drive.

The W3J owner's forum on notebook review is full of glowing praise and almost nothing in the way of complaints.

asus-w3f.jpg

Another bit of good news is that Asus has silently upgraded the specs on the W3J. The vendor I purchased the computer from called me to verify my order, and while he was chatting with me he mentioned that any W3J that ships from the Asus factory in June will have the following spec improvements:

  • a single 1 gigabyte DIMM instead of the two 512 megabyte DIMMs
  • a 2.0 GHz Core Duo chip instead of the 1.83 GHz Core Duo

And they throw in a bluetooth mouse to boot. Of course, the first thing I'll be doing is peeling those ridiculous stickers off the machine.

Discussion

Desktopitis

This guy* who gave a presentation with Patrick Cauldwell yesterday revealed his desktop during the presentation. Here's what it looked like:

After the presentation, I ribbed him about his desktop. You have a few square millimeters of desktop left uncovered, I said. Clearly you have your work cut out for you.

He said he considers the desktop dead space if it doesn't have something on it. I think his exact words were "make the desktop work for you". That's a unique perspective. It's more of a portal philosophy. Fill the desktop to the brim with tons of stuff that's relevant to you, so it's always at your fingertips.

This made me stop and think a bit.

The desktop is usually dead space, that's true. And dead speace is never useful. But it's not a destination, either. My goal is to never see the desktop. I should always have the task I'm working on front and center, not the desktop. If I need something, I don't want to be forced to press Windows-D to context switch and reveal some links or files sitting on my desktop. That interrupts my task and my flow. I'd rather perform some kind of popup ad-hoc search-- or better yet, use a hotkey-- to get directly to what I want.

The last thing I want is for my desktop to look like the Yahoo home page.

That said, I realize there's no right answer. Some people strive for blank, zen-like desktops, and some people fill their desktop with as many icons, gadgets, and gewgaws as they can possibly jam in there. It's a religious debate, and people get cranky when someone puts peanut butter in their chocolate.

But I still maintain that it's unhealthy to turn the desktop into an artificial destination. It's like the Las Vegas strip; no matter how many zany attractions they add, eventually visitors have to come to terms with the fact that they've arbitrarily chosen to build those attractions in the middle of a vast, inhospitable desert.

* I think his name was gretelman.. something..

Discussion

How Long Would It Take if Everything Went Wrong?

I'm currently reading Steve McConnell's new book, Software Estimation: Demystifying the Black Art. The section on individual expert judgment provided one simple reason why my estimates are often so horribly wrong:

If you ask a developer to estimate a set of features, the developer will often come back with an estimate that looks like this:

FeatureEstimated Days
Alpha1.5
Bravo1.5
Charlie2.0
Delta0.5
Echo0.5
Foxtrot0.25
Golf2.0
Hotel1.0
India0.75
Juliet1.25
Total11.25

If you then ask the same developer to reestimate each feature's best case and worst case, the developer will often return with estimates similar to these:

FeatureBest Case (days)Worst Case (days)
Alpha1.252.0
Bravo1.52.5
Charlie2.03.0
Delta0.752.0
Echo0.51.25
Foxtrot0.250.5
Golf1.52.5
Hotel1.01.5
India0.51.0
Juliet1.252.0
Total10.518.25

When you compare the original single-point estimates to the Best Case and Worst Case estimates, you see that the 11.25 total of the single-point estimates is much closer to the Best Case estimate of 10.5 days than to the Worst Case total of 18.25 days.

You'll also notice that both the Best Case and Worst Case estimates are higher than the original single-point estimate. Thinking through the worst case result can sometimes expose additional work that must be done even in the best case, which can raise the nominal estimate. In thinking through the worst case, I like to ask developers how long the task would take if everything went wrong. People's worst case estimates are often optimistic worst cases rather than true worst cases.

It's an eye-opening exercise. And I'm ashamed to report that I've always used single-point estimates when estimating my work. This is the starting point for many project scheduling disasters, something McConnell refers to as a Collusion of Optimists:

Considering that optimism is a near-universal fact of human nature, software estimates are often undermined by what I think of as a Collusion of Optimists. Developers present estimates that are optimistic. Executives like the optimistic estimates because they imply that desirable business targets are achievable. Managers like the estimates because they imply that they can support upper management's objectives. And so the software project is off and running with no one ever taking a critical look at whether the estimates were well founded in the first place

While it's impossible to give a perfect estimate, it's a good idea to start with the worst case scenario and extrapolate backwards to the best case.

Discussion

WWWWWDD?

Or, What Would World Wide Web Developers Do?

To get an idea of what web developers are using -- as compared to typical web users -- take a look at the comprehensive w3schools browser statistics, picking up from mid-2004 when the Google statistics end:

w3schools browser share graph

Quite a difference from the other browser market share statistics; IE 6.0 is dominant, but not overwhelmingly dominant to the tune of 95% market share at its peak in late 2004. It's also interesting that despite being five years old and generally reviled by most serious web developers, IE 6 usage has only dipped ten percent from its historical peak on w3schools.

The other statistics from w3schools are also quite interesting:

  • Roughly 10 percent of web developers have javascript disabled. This number has remained nearly constant from 2002 to 2006.
  • More than 80 percent of web developers have true color displays. This has increased by about 10 percent every year.
  • Only 17 percent of web developers are using resolutions greater than 1024x768. Only 57 percent are even at 1024x768-- the remainder are using resolutions below that!
  • 74 percent of web developers are using Windows XP. That's an increase of 10 percent over this time last year.

I'm not sure how much we can conclude from a single source of data. But it's still a little discouraging that even on a developer-oriented site, the rate of new hardware and software adoption is so slow.

Discussion