Laurent Bourgeois sent in an amusing link to the story of SkiFree in the words of Chris Pirih, the original Microsoft programmer who wrote it:
I wrote SkiFree in C on my home computer, entirely for my own education and entertainment. One day while I was playing with it at work, the program manager for Windows Entertainment Pack happened to look over my shoulder and immediately decided he had to have this game. I called it WinSki, but the Microsoft marketroids hated that and decided, for inscrutible marketroidal reasons, to call it SkiFree. After some token resistance I let them have their way. Since the program was not originally a Microsoft product, Microsoft licensed it from me and paid me some trivial one-time fee (something like 100 shares of MSFT stock, no royalties) for its use.SkiFree was intended to run on a 386 PC with VGA display. Such computers were not very powerful, nothing like modern PCs that can do 3-D rendering at millions of textured polygons per second.... No, in those days there wasn't even any such thing as a "video accelerator" -- the VGA was just a dumb pixel buffer hanging off the excruciatingly slow ISA bus. This made it pretty challenging to get good performance out of even simple sprite-oriented animation! Windows didn't help matters any by introducing several layers of abstraction between the program and the video hardware.... I discovered that it was worth almost any amount of preprocessing (on the "fast" 386 CPU) to reduce the amount of video I/O (over the slow ISA), so I designed a fairly clever algorithm to combine overlapping objects/erasures and blt minimal regions in each frame. The result was perfectly flicker-free transparent sprite animation at reasonable speed even on very slow computers, such as an old 286/EGA machine I found in the testing lab. Nowadays one would probably just render the sprites back-to-front in a memory buffer and blt the entire window on each frame.
Chris kindly provides an updated 32-bit version of SkiFree on his page as well.
I definitely remember SkiFree from the Windows Entertainment Pack. What's particularly scary is that many of these games have their own highly detailed Wikipedia pages already-- including a page on SkiFree. The infinite monkeys have been busy!
Evidently SkiFree evolved from an earlier text-mode skiing game Chris wrote for a VAX:
And it was influenced by Activision's Atari 2600 Skiing cartridge:
Which brings us to the venerable SkiFree-- Windows 3.0 gaming at its finest.
Posted by Jeff Atwood View blog reactions
« Variable Bit Rate: Getting the best Bang for your Byte Client vs. Developer Wars »
Wow, I actually recall spending hours on my friends's 33Mhz machine playing this very game (last screenshot.) Ah, nostalgia.
Jeff, what's your obsession with old-school video games? ;)
MT on December 19, 2005 08:54 AM"some trivial one-time fee (something like 100 shares of MSFT stock, no royalties)"
Might have seemed trivial then, but cashing this in at the right time, after several stock splits wouldn't have been anything to complain about...
Brad Corbin on December 19, 2005 11:03 AMMT, old school gaming rules! You'd have to be a hardcore gamer to understand. I mean, dang, I've hacked together my own dual arcade stick to hit MAME (http://www.mame.net) and whoop up on folks in fighting games. Fun stuff...and it makes you feel like a kid again (without wasting your allowance pumping the arcade machines full of quarters).
Brian Swiger on December 23, 2005 09:42 AMMan, I use to play this for hours on my Windows 3.1 along with Wolfenstein 3D
Joshua Elbertsen on December 16, 2007 10:22 PMhey yea i love your game but HOW THE HELL DO YOU GET AWAY FROM THE YETI!!!?????! *~*~JOSHUA~*~*
Joshua on January 10, 2008 09:01 AM| Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved. |