Historia | Linki | Sklep | Download | Kontakt |
Microsoft SkiFree 1.0
Historia
W 1991 roku pracowałem w Microsofcie jako programista, pisząc narzędzia programistyczne do użytku przez innych programistów, takie jak edytor dialogowy używany w rozwoju Worda i Excela. Programowałem głównie w C dlaOS/2 (wtedy był to produkt Microsoftu i podobno fala przyszłości). Decydując się na naukę programowania w Windows (Windows 3.0 właśnie się ukazał), od razu wskoczyłem do środka i zrobiłem graficzną wersję mojej starej gry narciarskiej na VAX/VMS dla terminali VT100.
Wersja na VAX wyglądała mniej więcej tak:
Znaki „^” to drzewa, a „//” to narciarz skręcający lekko w prawo. Program został napisany w Fortranie i używał kombinacji sekwencji ucieczki VT100 i zwykłego przewijania tekstu, aby uzyskać animację. W college’u (na University of Puget Sound w Tacoma, Washington) stworzyłem kilka takich gier tekstowo-terminalnych i były one dość popularne wśród komputerowych nerdów.
VAX Ski został zainspirowany grą Activision na konsolę Atari 2600, w którą miałem przyjemność grać w młodości. Pamiętam bardzo niewiele z gry Activision, ale myślę, że wyglądała całkiem jak SkiFree.
Narciarstwo napisałem w C na moim domowym komputerze, całkowicie dla własnej edukacji i rozrywki. Pewnego dnia, gdy bawiłem się nią w pracy, kierownik programu Windows Entertainment Pack zajrzał mi przez ramię i natychmiast zdecydował, że musi mieć tę grę. Nazwałem ją WinSki, ale marketroidy z Microsoftu znienawidziły to i zdecydowały, z niezrozumiałych marketroidalnych powodów, nazwać ją SkiFree. Po pewnym symbolicznym oporze pozwoliłem im na to. Ponieważ program nie był oryginalnie produktem Microsoftu, Microsoft udzielił mi licencji i zapłacił mi jakąś trywialną jednorazową opłatę (coś jak 100 akcji MSFT, bez tantiem) za jego użycie.
SkiFree był przeznaczony do uruchomienia na komputerze 386 z wyświetlaczem VGA. Takie komputery nie były zbyt potężne, niczym w porównaniu z nowoczesnymi pecetami, które mogą wykonywać rendering 3D z milionami teksturowanych wielokątów na sekundę…. Nie, w tamtych czasach nie istniało nawet coś takiego jak „akcelerator wideo” – VGA był tylko głupim buforem pikseli zawieszonym na niemiłosiernie powolnej szynie ISA. To sprawiało, że uzyskanie dobrej wydajności nawet prostej animacji zorientowanej na sprite’y było nie lada wyzwaniem! Windows nie ułatwiał sprawy, wprowadzając kilka warstw abstrakcji pomiędzy programem a sprzętem wideo…. Odkryłem, że warto było wykonać prawie każdą ilość wstępnego przetwarzania (na „szybkim” procesorze 386), aby zmniejszyć ilość wejść/wyjść wideo (na powolnym ISA), więc zaprojektowałem dość sprytny algorytm łączący nakładające się na siebie obiekty/obrazy i bltujący minimalne regiony w każdej klatce. Rezultatem była idealnie migocząca, przezroczysta animacja sprite’ów z rozsądną prędkością nawet na bardzo wolnych komputerach, takich jak stara maszyna 286/EGA, którą znalazłem w laboratorium testowym. W dzisiejszych czasach prawdopodobnie po prostu renderowałoby się sprite’y od tyłu do przodu w buforze pamięci i wyświetlało całe okno na każdej klatce.
W 1993 roku rozpocząłem pracę nad drugą wersją SkiFree, która miała mieć znacznie bardziej realistyczną fizykę, grę wieloosobową, grę sieciową, robotoprzeciwników i dźwięki. Udało mi się zrobić około połowy z tych rzeczy (splitscreen/keyboard multiplayer, bardzo prymitywne roboty i dźwięki), ale udało mi się całkowicie spieprzyć fizykę do tego stopnia, że nie dało się już grać. Mniej więcej w tym samym czasie straciłem oryginalny kod źródłowy i zostałem rozproszony przez inne projekty, więc SkiFree jakby weszło w stan permanentnego zastoju w wersji 1.0.
W kwietniu 2005 roku znalazłem kod źródłowy SkiFree 1.03 i skompilowałem go, więc teraz mamy prawdziwą 32-bitową wersję, która powinna działać na każdym systemie Windows XP, nawet na nowym 64-bitowym XP. Jest ona również bardziej przyjazna dla procesora (wykorzystuje 1% procesora zamiast 100%), więc nie będzie obciążać baterii Twojego notebooka. Jest też kilka innych zmian w stosunku do 1.0 — zobacz, czy potrafisz je dostrzec!
W październiku 2005 naprawiłem kilka błędów i wydałem wersję 1.04.(Niektóre kolory bitmap były nieprawidłowe, a stok narciarski nie „owijał się” tak jak w 1.0.)
Widoki i dźwięki
To jest głos obrzydliwego śnieżnego potwora.
Tak brzmi podczas kolacji.
To stąd się biorą małe śnieżne potworki:
Tutaj jest ta gówniana ikonka Windowsa, którą zrobiłem:
Tutaj jest ta ładna ikonka, którą zrobił jakiś grafik z Microsoftu:
SkiFree w sieci
Ta kwerenda Google zwraca wiele stron o SkiFree, a nie tak wiele promocyjnych reklam typu „kup jeden karnet, a drugi dostaniesz za darmo”. Większość z nich to strony warezowe i listy „cheat code”, ale jest też kilka perełek, takich jak ten SkiFreeclone dla kalkulatora TI 92 (!!!). Jest też niesamowicie długi artykuł na Everything2 i wpis w Wikipedii (choć niektóre z bardziej filozoficznych fragmentów zostały usunięte). Jest nawet strona SkiFree Fan Fiction!
Przez lata otrzymałem mnóstwo listów od fanów, ale ten jest moim ulubionym.
Dostałem nawet wiadomość od fana na moją automatyczną sekretarkę! (Przepraszam za kiepską jakość dźwięku. Oto moje najlepsze przypuszczenie, co on mówi. Daj mi znać, jeśli się mylę.)
10 lutego 2010 roku, fragmenty zaginionych pamiętników mojego kuzyna SigFrieda zostały odkryte w sklepie z pamiątkami w Istambule. SigFried zaginął gdzieś w 1991 roku podczas badań terenowych dla SkiFree. Wciąż nie znaleźliśmy samego SigFrieda, ale teraz mamy kilka dalszych wskazówek na temat tego, co się z nim stało….
Pobierz
Zdobądź SkiFree tutaj (39409-bajtowy ZIP zawierający jeden 118784-bajtowy 32-bitowy EXE dla Windows).
Jest to najnowsza wersja (1.04) skompilowana dla 32-bitowego Windows, która powinna również działać na Wine i 64-bitowym Windows.
Jeśli z jakiegoś powodu ten plik ZIP nie działa, spróbuj pobrać nieskompresowany plik EXE o rozmiarze 118784 bajtów.
OSTRZEŻENIA ANTYWIRUSOWE
Dowiedziałem się, że niektóre skanery malware zgłaszają te pliki EXE jako „zainfekowane” lub „malware”. Jestem w 99,99999% pewien, że jest to fałszywy wynik pozytywny, ale oczywiście nie mogę niczego udowodnić, a firmy produkujące skanery malware nie odpowiedziały na moje pytania.
16-bitowy plik EXE jest oryginalnym plikiem opublikowanym przez Microsoft w 1991 roku. 32-bitowe EXE zostały skompilowane przeze mnie na dość bezpiecznej maszynie z systemem Windows NT w 2005 roku i do niedawna nie powodowały żadnych ostrzeżeń. Potwierdziłem na podstawie starych kopii zapasowych, że pliki nie zostały zmodyfikowane.
Dla zachowania pełnej dokładności, zainstalowałem świeżą kopię Windows 2000 i Visual Studio 6.0 z oryginalnych płyt Microsoftu na pustym komputerze niepodłączonym do żadnej sieci, załadowałem kod źródłowySkiFree z dyskietki i ponownie skompilowałem. Nowy plik EXE jest tutaj: ski32-rebuild-vs6.exe
A także przekompilowałem z Visual Studio 2019 (pobranym od Microsoftu) na maszynie z Windows 7: ski32-rebuild-vs2019.exe
Proszę dać mi znać, czy te nowo odbudowane EXE są (lub nie są) w stanie uruchomić skanery złośliwego oprogramowania. Myślę, że mogę całkiem dobrze zagwarantować, że VS6 jest czysty!
Dla historycznego zainteresowania, możesz pobrać oryginalny 16-bitowy SkiFree 1.0, który został dostarczony jako część Windows Entertainment Pack w 1991 r. Działa on na większości 32-bitowych systemów Windows, ale niezbyt dobrze.Jeśli nie możesz go uruchomić w Windows XP, spróbuj tego:Skonfiguruj Windows XP do uruchamiania 16-bitowych programów Windows.To naprawiło problem dla kilku osób do tej pory. Najprawdopodobniej chcesz zamiast tego uzyskać najnowszą wersję 32-bitową.
Jeśli masz ochotę wydać dziś trochę pieniędzy, dlaczego nie kupić koszulki?
Albo możesz wrzucić kilka groszy do słoika z napiwkami:
- dogecoin
- bitcoin
- monero
- nano