The Most Officialest SkiFree Home Page!

History Links Shop Download Contact

SkiFree screenshot
Microsoft SkiFree 1.0

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


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.

I even got a fan message on my answering machine! (Sorry about the lousy sound quality. Here's my best guess at what he's saying. Let me know if I got it wrong.)

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.


ANTIVIRUS WARNINGS

I am told that some malware scanners are reporting these EXE files as "infected" or "malware". I am 99.99999% sure this is a false positive, but I of course I can't prove anything, and the companies that produce the malware scanners have not responded to my inquiries.

The 16-bit EXE is the original one published by Microsoft in 1991. The 32-bit EXEs were compiled by me on a reasonably secure Windows NT machine in 2005, and never set off any warnings until very recently. I have confirmed against old backups that the files have not been modified.

For the sake of utter thoroughness, I have installed a fresh copy of Windows 2000 and Visual Studio 6.0 from original Microsoft CDs on a blank computer not connected to any network, loaded the SkiFree source code by floppy disk, and recompiled. The new EXE file is here: ski32‑rebuild‑vs6.exe

And I've also recompiled with Visual Studio 2019 (downloaded from Microsoft) on a Windows 7 machine: ski32‑rebuild‑vs2019.exe

Please let me know if these newly rebuilt EXEs are (or are not) setting off malware scanners. I think I can pretty well guarantee that the VS6 one is clean!


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?


Contact

This page was brought to you by The International House O' Cheese.
Got something to say? Talk to the Cheese!