The Most Officialest SkiFree Home Page!
Microsoft SkiFree 1.0
In 1991 I was working at Microsoft as a programmer, writing programming utilities for use by other programmers, such as a dialog editor used in the development of Word and Excel. I programmed mostly in C for OS/2 (back then that was a Microsoft product, and supposedly the wave of the future). Deciding it was time to learn Windows programming (Windows 3.0 had just come out) I jumped right in and did a graphical version of my old VAX/VMS skiing game for VT100 terminals.
The VAX version had looked something like this:
The "^" signs are trees, and "//" is the skier turning slightly right. The program was written in Fortran, and used a combination of VT100 escape sequences and ordinary text scrolling to achieve its animation. I made several text-terminal video games like this in college (at the University of Puget Sound in Tacoma, Washington) and they were fairly popular among the computer nerds.
VAX Ski was itself inspired by an Activision game for the Atari 2600 console, which I enjoyed playing in my youth. I remember very little of the Activision game, but I think it looked pretty much like SkiFree.
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.
In 1993 I started working on Version 2 of SkiFree, which would have slightly more realistic physics, multi-player, network play, robot opponents, and sounds. I got about half of those things done (split screen/keyboard multiplayer, very crude robots, and sound), but managed to get the physics completely screwed up to the point where it was no longer playable. At about the same time I also lost the original source code and got distracted by other projects, so SkiFree sort of went into permanent stasis at version 1.0.
In April 2005 I found the source code for SkiFree 1.03 and compiled it, so now we have a real 32-bit version that should run on any Windows XP system, even the new 64-bit XP. It also is more CPU-friendly (uses 1% of the CPU instead of 100%) so it won't drain your notebook battery. There are a few other changes from 1.0 -- see if you can spot them!
In October 2005 I fixed a few bugs and released version 1.04. (Some of the bitmap colors were wrong, and ski slope didn't "wrap around" like in 1.0.)
Sights and Sounds
This is the voice of the Abominable Snow
SkiFree on the Web
This Google search actually returns a lot of pages about SkiFree now, and not so many promotional "buy one lift pass get one free" adverts any more. Most of them are warez download sites and "cheat code" lists, but there are a few gems like this SkiFree clone for the TI 92 calculator (!!). There's an amazingly long article on Everything2 and a Wikipedia entry (though some of the more philosophical passages have been deleted). There's even a SkiFree Fan Fiction site!
I've received plenty of fan mail over the years, but this one is my favorite.
On February 10, 2010, fragments of the lost diaries of my cousin SigFried were discovered in a curio shop in Istanbul. SigFried went missing sometime in 1991 while doing field research for SkiFree. We still haven't found SigFried himself, but now we have some further clues about what happened to him....
Get SkiFree here
(39409-byte ZIP containing one 118784-byte Windows 32-bit EXE).
For historical interest, you could download the original 16-bit SkiFree 1.0 that shipped as part of the Windows Entertainment Pack in 1991. It does work on most 32-bit Windows systems, but not very well. If you can't get it to work in Windows XP, try this: Configure Windows XP to run 16-bit Windows programs. That has fixed the problem for a few people so far. Most likely you want to get the latest 32-bit version instead.
If you feel like blowing some money today, why not buy a T-shirt?
This page was brought to you by The International House O' Cheese.
Got something to say? Talk to the Cheese!