The Story of SkiFree

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:

Text mode SkiFree for a VAX

And it was influenced by Activision's Atari 2600 Skiing cartridge:

Activision Skiing for the Atari 2600

Which brings us to the venerable SkiFree-- Windows 3.0 gaming at its finest.

Screenshot of SkiFree for Windows

Read more

Stay Gold, America

We are at an unprecedented point in American history, and I'm concerned we may lose sight of the American Dream.

By Jeff Atwood · · Comments

The Great Filter Comes For Us All

With a 13 billion year head start on evolution, why haven't any other forms of life in the universe contacted us by now? (Arrival is a fantastic movie. Watch it, but don't stop there - read the Story of Your Life novella it was based on

By Jeff Atwood · · Comments

I Fight For The Users

If you haven't been able to keep up with my blistering pace of one blog post per year, I don't blame you. There's a lot going on right now. It's a busy time. But let's pause and take a moment

By Jeff Atwood · · Comments

The 2030 Self-Driving Car Bet

It's my honor to announce that John Carmack and I have initiated a friendly bet of $10,000* to the 501(c)(3) charity of the winner’s choice: By January 1st, 2030, completely autonomous self-driving cars meeting SAE J3016 level 5 will be commercially available for passenger

By Jeff Atwood · · Comments