UTF-8; Pure HTML 4.01; CSS 3;
Powrót do spisu treści

Star Wars: Force Commander

Opis gry, wymagań, poprawek itp. zamieściłem przy okazji uruchamiania jej w Windows 7 Ultimate x64 SP1. I tam należy szukać szczegółów.

Instalacja "Star Wars: Force Commander" w Windows 8/8.1 x64

Choć z CD uruchamia się program, który umożliwia próbę rozpoczęcia instalacji, to sam instalator jest programem 16-bitowym i jako taki nie działa w "czystym" Windows 8/8.1 x64. Istnieją trzy metody umieszczenia gry na dysku:

  1. Instalacja w Windows XP w Hyper-V i przekopiowanie wyników na dysk Windows 8/8.1.
  2. Skopiowanie większości zawartości CD gdzieś na dysk.
  3. Wykorzystanie alternatywnego instalatora, np. dostępnego na Play Old PC Games // Star Wars: Force Commander.

Powyższe metody opisałem przy okazji uruchamiania gry w Windows 7 Ultimate x64 SP1. I tam należy szukać szczegółów.

W Windows 8 skopiowałem katalog gry z Windows 7 i wrzuciłem zawartość do "G:\Games\LucasArts\Force Commander". W tym przypadku miałem już załataną grę. Dodałem:

  1. Opisane wpisy do Rejestru.
  2. Skrót "Play Force Commander" na "Pulpit" prowadzący do "G:\Games\LucasArts\Force Commander\Force.exe".

Edycja wydana w ramach "LucasArts Classic", z której korzystam, zawiera załataną wersję gry. Jednak jakby co, to instalator "1.1 Update" - FocomUpdate1_1.exe działa w "czystym" Windows 8/8.1 x64, wiec nie ma problemu z łataniem.

W Windows 8.1 gra została "odziedziczona" po Windows 8 i znajdowała się w "G:\Games\LucasArts\Force Commander". W tym przypadku miałem już:

  1. Opisane wpisy do Rejestru.
  2. Skrót "Play Force Commander" na "Pulpicie" prowadzący do "G:\Games\LucasArts\Force Commander\Force.exe" i uruchamiający grę na jednym rdzeniu.
  3. Załataną grę.

Uruchomienie "Star Wars: Force Commander" w Windows 8/8.1 x64

Jeżeli instalację przeprowadzono zgodnie z zamieszczonymi wyżej wskazówkami, w tym wprowadzono wymagane wpisy w Rejestrze, to gra bez problemów działa w "czystym" Windows 8/8.1 x64. No, prawie, bo jest kilka zastrzeżeń:

  1. Gra jest bardzo przywiązana do swojego CD i wymaga jego obecności w napędzie, nawet jeśli wybrana została pełna instalacja. A dokładniej, to zawsze chce drugą płytę, choć czasami do startu można użyć również pierwszą. Aby nie męczyć się z płytami, wygodnie jest zrobić sobie obraz i montować go jakimś programem.
  2. Karty 8800 GTS 512 i GTS 450 512MB nie są prawidłowo rozpoznawane przez starter gry i wybierając "Opcje" (Options) i "Opcje wydajności" (Performance Options) nie można ustawić parametrów:
    FC - pusta NVIDIA 8800 GTS 512 FC - pusta NVIDIA GTS 450 512MB

    Jak widać, okienko z wyborem rozdzielczości jest puste. Dodatkowo wyświetlany jest bzdurny komunikat: Not enough texture memory available, a ustawione parametry są "zapominane". Prawdopodobnie zmienna określająca wielkość pamięci karty graficznej jest 16-bitowa i 512MB na karcie powoduje jej "przekręcenie" na 0...

    Na szczęście korzystając z Rejestru można poustawiać sobie wszystko jak trzeba. Ustawienia gry przechowywane są w Rejestrze w kluczu (w wersji 32-bitowej nie występuje fragment Wow6432Node\):

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LucasArts Entertainment Company LLC\Force Commander\v1.0\Settings\Screen]

    Należy wpisać własne wartości i sprawdzić, czy działają tak jak powinny. ~;) W poniższej tabeli znajdują się wszystkie zmienne dotyczące grafiki, z opisem i "moimi" wartościami. Aha, wszystkie zmienne są typu DWORD.

    Zmienna Znaczenie Wartość Efekt Moje ustawienia
    Allow32bpp wybór palety kolorów 0 16bpp 1
    1 32bpp
    Allow32zbuf wybór Z-bufora 0 16bit 1
    1 32bit
    Device wybór karty graficznej 0 Primary Display Adapter 0
    1 pierwsza karta
    2 druga karta (o ile jest)
    Size wybór rozdzielczości 0 640x480 [1,3] 2 - dla G31 Express Chipset Family (ze sterownikami Windows 7)
    2 - dla 8800 GTS 512
    3 - dla 8800 GTS 512 z WineD3D For Windows
    4 - dla GTS 450 512MB
    1 800x600 [1,3]
    2 1024x768
    3 1280x1024 [1,3]
    4 1600x1200 [2,3]
    Use32BitTextures wybór jakości tekstur 0 16bit 1
    1 32bit
    UseLowQualityTextures wybór typu tekstur 0 dobre 0
    1 kiepskie
    UseSoftwareCursor wybór kursora 0 sprzętowy (nie używać, znika) 1
    1 programowy
    Uwagi
    [1] Przerywniki powodują BUM na G31 Express Chipset Family (ze sterownikami Windows 7), jeśli się je przeskoczy, to sama gra działa poprawnie.
    [2] Niedostępne dla G31 Express Chipset Family i BUM dla 8800 GTS 512 z WineD3D For Windows.
    [3] Przerywniki wyświetlane są z poważnymi błędami na 8800 GTS 512, ale gra działa poprawnie.
    Wszystko OK z WineD3D For Windows, oprócz 1600x1200 [2].

    Stosując pliki z WineD3D For Windows można uzyskać 1280x1240 z normalną wydajnością na 8800 GTS 512. Należy:

    1. Pobrać ze strony WineD3D For Windows np. WineD3DForWindows_1.7.54.zip.
    2. Rozpakować gdzieś archiwum.
    3. Do katalogu \Resource (u mnie "G:\Games\LucasArts\Force Commander\Resource") wrzucić trzy pliki: ddraw.dll, libwine.dll i wined3d.dll.
    4. ustawić Size na 3 w [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LucasArts Entertainment Company LLC\Force Commander\v1.0\Settings\Screen].
    5. Ustawić pozostałe parametry zgodnie ze wcześniejszym opisem.

    Przetestowałem wersję 1.7.54 uzyskując SOA#1 ~:) Wersje późniejsze (1.7.55, 1.8-rc1, 1.9.1 oraz 2.8 i 3.6) nie chciały działać. Od jakiegoś czasu, na stronie twórcy, zalecaną wersją jest 1.7.52.

    Za to żadne problemy nie wystąpiły z kartą GTS 450 512MB. Oczywiście poza brakiem możliwości ustawienia rozdzielczości w starterze. Reszta działa jak powinna. Przerywniki wyświetlane są prawidłowo, w Rejestrze można ustawić "Size" na 4 i uzyskać w grze 1600x1200. Nie ma problemów z czarnym ekranem i zaznaczaniem obiektów, jakie wystąpiły w Windows 7 z kartami GTX970. Nie trzeba tym samym korzystać z WineD3D For Windows lub dgVoodoo 2. Po prostu miodzio. ~:)

    Ostatecznie dla kart 8800 GTS 512 i GTS 450 512MB nie należy przejmować się opcjami (nie)ustawianymi poprzez wywołanie w starterze. W sumie można z niego zrezygnować, patrz punkt 4.

  3. "Karta" G31 Express Chipset Family nie ma problemu z ustawieniem parametrów obrazu. Możliwości "karty" są prawidłowo rozpoznawane i można ustawić wszystkie wymagane pstryczki.
    FC - G31 i jest OK

    Nie ma zatem potrzeby używania Rejestru (klucz [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\LucasArts Entertainment Company LLC\Force Commander\v1.0\Settings\Screen]; w wersji 32-bitowej nie występuje fragment Wow6432Node\). Nie potrzeba korzystania z plików z WineD3D For Windows, ani z dgVoodoo 2. Tym bardziej, że G31 Express Chipset Family nie chce z nimi współpracować. W pierwszym przypadku gra wisi na czarnym ekranie, w drugim chwilę po uruchomieniu gra robi BUM.

    Niektóre rozdzielczości bywają kłopotliwe. U mnie bez problemów działa tylko 1024x768. Próba użycia pozostałych zazwyczaj kończy się BUM w trakcie uruchamiania startowego filmu. Jeśli się film przeskoczy, to gra działa OK, aż do najbliższego przerywnika filmowego... ~;)

    To jedyny przypadek, gdy sterowniki z Windows 8/8.1 (8.15.10.2697) są zdecydowanie lepsze od sterowników z Windows 7 (8.15.10.1930) zapewniając wyraźnie lepszą wydajność. Ze sterownikami z Windows 7 gra jest praktycznie niegrywalna w "najlepszej" rozdzielczości 1024x768, w której nie ma problemów z przerywnikami filmowymi.

  4. Pojawiają się problemy z muzyką, która potrafi się zaciąć.

    Zgodnie z sugestią ze strona Play Old PC Games // Star Wars: Force Commander może pomóc uruchomienie gry na jednym rdzeniu. W tym celu najlepiej wyciągnąć skrót do pliku Focom.exe i zmienić linię uruchamiającą program z "G:\Games\LucasArts\Force Commander\Resource\focom.exe" na:

    C:\Windows\System32\cmd.exe /C start "FOCOM" \
    /D "G:\Games\LucasArts\Force Commander\Resource" /high /affinity 8 \
    "G:\Games\LucasArts\Force Commander\Resource\Focom.exe"

    Powyższe polecenie to jedna linia, tu połamana w miejscu \, aby łatwiej było ją czytać. Oczywiście z dokładnością do ścieżki. Ponieważ w ścieżce znajdą się spacje, to odpowiednie fragmenty zostały zamknięte w "".

    Takie polecenie uruchomi "Command Prompt", z niego odpali w katalogu "G:\Games\LucasArts\Force Commander\Resource" program "G:\Games\LucasArts\Force Commander\Resource\Focom.exe" nadając mu wysoki priorytet (/high) i wymuszając pracę na jednym (tu czwartym) rdzeniu (/affinity 8). Czyli zrobi to, o co chodzi.

    IMHO dobrze jest omijać pierwszy rdzeń (w Windowsach oznaczany przez 0), bo zazwyczaj najwięcej się na nim dzieje i najbardziej się grzeje. Parametr /affinity szesnastkowo określa rdzeń (w znaczeniu "windowsowym", gdzie nie ma rozróżnienia na rdzenie fizyczne i wątki, stąd np. i7 ma cztery rdzenie, po dwa wątki, czyli ma 8 "rdzeni") w następujący sposób:

    /affinity Maska Rdzeń /affinity Maska Rdzeń
    1 00000001 pierwszy (Core 0) 10 00010000 piąty (Core 4)
    2 00000010 drugi (Core 1) 20 00100000 szósty (Core 5)
    4 00000100 trzeci (Core 2) 40 01000000 siódmy (Core 6)
    8 00001000 czwarty (Core 3) 80 10000000 ósmy (Core 7)

    Aha, suma da dwa lub więcej rdzeni. Np. /affinity 55 uruchomi nieparzyste. No, ale nie o to chodzi przy uruchamianiu gry na jednym. ~;)

  5. W dłuższych filmach (tak łatwiej to zaobserwować) dźwięk zaczyna wyprzedzać obraz. W tym przypadku również pomaga uruchomienie gry na jednym rdzeniu. Przepis powyżej.

Gra w Sieci

"Star Wars: Force Commander" umożliwia grę w Sieci (w tym przez MSN Gaming ZONE, ale to chyba już nie działa). Dostępne są następujące rodzaje połączeń:

TCP/IP
Podstawa działania Internetu. Umożliwia grę w sieci lokalnej oraz Internecie (do 4 osób).
IPX
Protokół przeznaczony do gry w LANie (czyli sieciach lokalnych) dla 4 osób. Nie jest obsługiwany w systemach późniejszych niż Windows XP. Można skorzystać z IPXWrapper. Oczywiście wymaga działania TCP/IP, a skoro można grać bezpośrednio korzystając z TCP/IP, to dodatkowe wykorzystanie wrappera IPX nie ma wiele sensu. ~;)

Gdy IPXu nie ma w systemie, to ten rodzaj połączenia może nie pojawić się w opcjach połączeń.

Direct Modem
Takie połączenie umożliwiało grę dwóch osób z wykorzystaniem modemów. Ktoś ma jeszcze modem? ~;)

Gdy modemu nie ma w systemie, to ten rodzaj połączenia może nie pojawić się w opcjach połączeń.

Nie będę opisywał szczegółów konfiguracji (są wyjaśnione w instrukcji do gry), ale sprawdziłem działanie w LANie z wykorzystaniem TCP/IP oraz IPXWrapper. No dobra, w Windows 8/8.1 nie sprawdzałem, ale skoro działa w Windows 7 Ultimate x64 SP1 i Windows 10 Pro x64, to i w Ósemce/OsiemJeden powinno. ~;)

Podsumowanie "Star Wars: Force Commander"

Instalacja
W Windows XP w Hyper-V i skopiowanie wyników (pliki, rejestr) do Windows 8/8.1.
Płyta lub obraz w trakcie gry
Tak, zawsze druga.
Uruchomienie w Windows 8/8.1 x64
Z pewnymi kruczkami, ale działa OK.
DDRAW.DLL
Systemowy.
Można wykorzystać WineD3D For Windows dla 8800 GTS 512.
Sterowniki NVIDIA
Bez znaczenia.
Sterowniki Intel
Raczej z Windows 8/8.1, bo te z Windows 7 mogą dawać tragiczną wydajność...
Procesory wielordzeniowe
Problemy z dźwiękiem i filmami, ale z rozwiązaniem.
Szeroki ekran
Brak obsługi.
Maksymalna rozdzielczość
1600x1200, w tabelce FPSy (bez różnicy w zależności od systemu; niejawny V-Sync 60?)
Rozdzielczość Intel Core 2 Quad Q9650 @ 3.00GHz
G31 Express Chipset Family 8800 GTS 512 GTS 450 512MB
sterownik Windows 8/8.1 (8.15.10.2697) sterownik Windows 7 (8.15.10.1930)
1024x768 na poziomie 60- na poziomie 7+!!!
(problemy ze skalowaniem?)
na poziomie 60- stabilne 60
1280x1024 na poziomie 60- na poziomie 40+ na poziomie 60- stabilne 60
1600x1200 brak portu na poziomie 60- na poziomie 60-
Gra w Sieci
Bez problemów w sieciach TCP/IP oraz z wykorzystaniem wrappera IPX.
Miejsce na dysku (pełne/skompresowane)
573MB/485MB + obraz UIF 578MB

Gra działa płynnie, również w Sieci. Cutscenki są odgrywane (ale mogą sprawiać problemy). Jest dźwięk, muzyka, nie ma problemów z peryferiami i akceleracją 3D.

FC - Osiem i jest OK, SOA#1 FC - OsiemJeden i jest OK, SOA#1

W sumie dobrze jest. ~:)

Powrót do spisu treści
A tymczasem w Windows 7 Ultimate x64 SP1
A tymczasem w Windows 10 Pro x64

Copyright © Yogurt
6.49.051 15.11.2021
Author:
Yogurt