The Most Officialest SkiFree Home Page!

History

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:

^ 420m 01:33
^
^
^ ^
^ //
^
^
^
^
^ ^
^
^
^
^

Ski for VAX/VMS

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
Monster.
This is what he sounds like at dinner.
This is where baby snow monsters come from:
Here is the crappy Windows icon I made:
Here is the nice icon that some graphic artist at Microsoft made:

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....

Download

Get SkiFree here
(39409-byte ZIP containing one 118784-byte Windows 32-bit EXE).
This is the latest version (1.04) compiled for 32-bit Windows, which
should also work on Wine and 64-bit Windows.
If for some reason that ZIP file doesn't work for you, try downloading
the uncompressed 118784-byte EXE file instead.

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.