Historie | Links | Winkel | Download | Contact |
Microsoft SkiFree 1.0
Geschiedenis
In 1991 werkte ik bij Microsoft als programmeur, waar ik programmeertoepassingen schreef voor gebruik door andere programmeurs, zoals een dialoogeditor die werd gebruikt bij de ontwikkeling van Word en Excel. Ik programmeerde voornamelijk in C voorOS/2 (dat was toen een Microsoft product, en zou de toekomst hebben). Toen ik besloot dat het tijd was om Windows te leren programmeren (Windows3.0 was net uit) sprong ik er meteen in en maakte een grafische versie van mijn oude VAX/VMS ski-spel voor VT100 terminals.
De VAX versie zag er ongeveer zo uit:
De “^” tekens zijn bomen, en “//” is de skiër die een beetje naar rechts draait. Het programma was geschreven in Fortran, en gebruikte een combinatie van VT100 escape sequences en gewone tekst scrolling om de animatie te bereiken. Ik heb verscheidene van dit soort tekst-terminal videospelletjes gemaakt op de universiteit van Puget Sound in Tacoma, Washington, en ze waren redelijk populair onder de computer nerds.
VAX Ski was zelf geïnspireerd op een Activision spel voor de Atari 2600 console, dat ik in mijn jeugd graag speelde. Ik herinner me weinig van het Activision-spel, maar volgens mij leek het erg veel op SkiFree.
Ik schreef SkiFree in C op mijn computer thuis, geheel voor mijn eigen studie en vermaak. Op een dag, toen ik er op mijn werk mee aan het spelen was, keek de programmamanager van Windows Entertainment Pack toevallig over mijn schouder mee en besloot meteen dat hij dit spel moest hebben. Ik noemde het WinSki, maar de Microsoft marketroids haatten dat en besloten, om ondoorgrondelijke marketroid redenen, om het SkiFree te noemen. Na wat symbolisch verzet liet ik hen hun gang gaan. Omdat het programma oorspronkelijk geen produkt van Microsoft was, gaf Microsoft het van mij in licentie en betaalde mij een onbeduidend eenmalig bedrag (iets van 100 aandelen MSFT, geen royalties) voor het gebruik ervan.
SkiFree was bedoeld om te draaien op een 386 PC met VGA scherm. Dergelijke computers waren niet erg krachtig, niets zoals moderne PC’s die 3D rendering kunnen doen met miljoenen getextureerde polygonen per seconde…. Nee, in die dagen bestond er niet eens zoiets als een “video versneller” – de VGA was gewoon een domme pixel buffer die aan de tergend langzame ISA bus hing. Dit maakte het behoorlijk uitdagend om goede prestaties te halen uit zelfs eenvoudige sprite-georiënteerde animaties! Windows hielp niet echt mee door verschillende lagen van abstractie te introduceren tussen het programma en de video hardware …. Ik ontdekte dat het bijna elke hoeveelheid voorbewerking waard was (op de “snelle” 386 CPU) om de hoeveelheid video I/O te verminderen (over de trage ISA), dus ontwierp ik een vrij slim algoritme om overlappende objecten/erasures te combineren en minimale regio’s in elk frame te bltten. Het resultaat was een perfect flikker-freet-transparante sprite animatie met redelijke snelheid, zelfs op zeer trage computers, zoals een oude 286/EGA machine die ik in het testlab vond. Tegenwoordig zou men waarschijnlijk gewoon de sprites back-to-front in een geheugenbuffer renderen en het hele venster op elk frame blenden.
In 1993 begon ik te werken aan Versie 2 van SkiFree, die veel realistischer physics zou hebben, multi-player, netwerk spelen, robotopponenten, en geluiden. Ik kreeg ongeveer de helft van die dingen voor elkaar (splitscreen/keyboard multiplayer, zeer grove robots, en geluid), maar slaagde erin de physics volledig te verknoeien tot het punt waarop het niet langer speelbaar was. Op ongeveer hetzelfde moment verloor ik ook de originele broncode en werd afgeleid door andere projecten, dus SkiFree ging als het ware in permanente stasis bij versie 1.0.
In april 2005 vond ik de broncode voor SkiFree 1.03 en compileerde die, dus nu hebben we een echte 32-bit versie die zou moeten draaien op elk Windows XP systeem, zelfs de nieuwe 64-bit XP. Het is ook meer CPU-vriendelijk (gebruikt 1% van de CPU in plaats van 100%) zodat het de batterij van je notebook niet leeg trekt. Er zijn nog een paar andere veranderingen ten opzichte van 1.0 — kijk of je ze kunt vinden!
In oktober 2005 heb ik een paar bugs gerepareerd en versie 1.04 uitgebracht. (Sommige bitmap kleuren waren verkeerd, en de skipiste “wikkelde” niet rond” zoals in 1.0.)0.)
Sights and Sounds
Dit is de stem van het Abominable SnowMonster.
Zo klinkt hij tijdens het eten.
Dit is waar baby sneeuwmonsters vandaan komen:
Hier is het crappy Windows icoontje dat ik gemaakt heb:
Hier is het mooie icoontje dat een of andere graficus bij Microsoft gemaakt heeft:
SkiFree op het web
Deze Google-zoekopdracht levert nu echt een heleboel pagina’s over SkiFree op, en niet zo veel promotionele “koop een liftpas krijg er een gratis”-advertenties meer. De meeste zijn warez download sites en “cheat code” lijsten, maar er zijn ook een paar juweeltjes zoals deze SkiFree clone voor de TI 92 rekenmachine (!!). Er is een verbazingwekkend lang artikel op Everything2 en een Wikipedia entry (hoewel sommige van de meer filosofische passages zijn verwijderd). Er is zelfs een SkiFree Fan Fiction site!
Ik heb door de jaren heen veel fanmail ontvangen, maar dit is mijn favoriet.
Ik kreeg zelfs een fan bericht op mijn antwoordapparaat! (Sorry voor de slechte geluidskwaliteit. Dit is mijn beste gok naar wat hij zegt. Laat het me weten als ik het fout heb.)
Op 10 februari 2010 werden in een curiosawinkel in Istanbul fragmenten ontdekt van de verloren dagboeken van mijn neef SigFried. SigFried raakte vermist ergens in 1991 toen hij veldonderzoek deed voor SkiFree. We hebben SigFried zelf nog steeds niet gevonden, maar nu hebben we wat meer aanwijzingen over wat er met hem is gebeurd….
Download
Krijg SkiFree hier(39409-byte ZIP met daarin een 118784-byte Windows 32-bit EXE).
Dit is de laatste versie (1.04), gecompileerd voor 32-bit Windows, die ook zou moeten werken op Wine en 64-bit Windows.
Als dat ZIP-bestand om een of andere reden niet werkt, probeer dan het ongecomprimeerde 118784-byte EXE-bestand te downloaden.
ANTIVIRUS WAARSCHUWINGEN
Ik heb gehoord dat sommige malware scanners deze EXE-bestanden rapporteren als “geïnfecteerd” of “malware”. Ik ben er 99,99999% zeker van dat dit een fout-positieve melding is, maar ik kan natuurlijk niets bewijzen, en de bedrijven die de malware scanners produceren hebben niet gereageerd op mijn vragen.
De 16-bit EXE is de originele die in 1991 door Microsoft is gepubliceerd. De 32-bit EXE’s zijn door mij gecompileerd op een redelijk beveiligde Windows NT machine in 2005, en hebben tot voor kort nooit enige waarschuwing gegeven. Ik heb aan de hand van oude backups bevestigd dat de bestanden niet zijn gewijzigd.
Omwille van de volledigheid heb ik een verse kopie van Windows 2000 en Visual Studio 6.0 van originele MicrosoftCD’s op een lege computer zonder netwerkverbinding geïnstalleerd, deSkiFree broncode op diskette geladen, en opnieuw gecompileerd. Het nieuwe EXE-bestand is hier: ski32-rebuild-vs6.exe
En ik heb ook opnieuw gecompileerd met Visual Studio 2019 (gedownload van Microsoft) op een Windows 7 machine: ski32-rebuild-vs2019.exe
Laat me weten of deze nieuw herbouwde EXE’s malware scanners afschrikken (of juist niet). Ik denk dat ik wel kan garanderen dat die van VS6 schoon is!
Om historische redenen kunt u de originele 16-bit SkiFree 1.0 downloaden, die werd geleverd als onderdeel van het Windows Entertainment Pack in 1991. Het werkt op de meeste 32-bit Windows systemen, maar niet erg goed. Als u het niet aan de praat krijgt in Windows XP, probeer dan het volgende: Configureer Windows XP om 16-bit Windows programma’s te draaien. Dat heeft het probleem tot nu toe voor een paar mensen opgelost. Waarschijnlijk wilt u in plaats daarvan de nieuwste 32-bit versie.
Als u vandaag wat geld wilt uitgeven, waarom koopt u dan geen T-shirt?
Of u gooit een paar centen in de fooienpot:
- dogecoin
- bitcoin
- monero
- nano