Eseguire giochi basati su DirectX 8 e precedenti su Windows 10 e 11 ~ il caso Railroad Tycoon 3 e le dgVoodoo 2

Bentornati in laboratorio! Ogni tanto la vena nostalgica prende il sopravvento, e ti ritorna la voglia di giocare a vecchie glorie al PC. Penso infatti molti di noi abbiano giocato in passato a titoli come la saga di Age of Empires, Stronghold, Civilization, e tanti altri ancora. Giochi intramontabili come gameplay e stile di gioco, non fosse per un solo piccolo ma non trascurabile problema, ovvero la possibilità di eseguire questi giochi nei sistemi operativi più recenti, che molte volte sembra dare l’idea che sia impossibile poterli tirare giù dallo scaffale e rigiocarci come un tempo, in quanto col tempo molte funzionalità richieste nei titoli pre-directX9 sono state rimosse.
Con le VM (Virtual Machine) si può porre una soluzione tampone a questo limite, dove generalmente installando Windows XP si può giocare, per quanto ridotto in finestra e con limitato supporto alle funzionalità della GPU (come l’accelerazione 3D, limite pesante di VirtualBox e altri sistemi di virtualizzazione). Questa soluzione però richiede un hardware capace di supportare un sistema operativo virtualizzato e una dose di competenze non da poco, per delle prestazioni spesso insoddisfacenti.
Diversi titoli trovano una soluzione efficace nell’abilitazione di DirectPlay, presenti nelle componenti legacy delle funzionalità avanzate del sistema operativo (accessibili dal pannello di controllo)
DirectPlay fa parte dei set API di DirectX . È una libreria di comunicazione di rete, fondamentale nei giochi meno recenti (ad esempio Stronghold o Civilization III), il cui supporto è cessato di default con Windows 8, per quanto sia tuttora possibile riattivarla manualmente.

Per tutti gli altri titoli, soprattutto quelli più vecchi come la saga Caesar o Railroad Tycoon, DirectPlay non basta, in quanto mancanti proprio le DirectX precedenti la 9, non supportate dalle moderne schede grafiche, e qui entra in gioco dgVoodoo2, un set di vecchie API grafiche utilizzate fino a Windows Vista, trasformate in direct3d 11 e 12 (quelle standard di Windows 10 e 11), rese open source e regolarmente aggiornate per implementare sempre più titoli, nonchè implementate per renderle fruibili su hardware moderno
Come funzionano?
Ebbene, la nostalgia si è fatta canaglia, e mi ha fatto tornare voglia di giocare a un vecchio gestionale di ferrovie, ovvero RailRoad Tycoon 3, scoprendo che anche la versione di Steam richiede delle componenti che Windows 11 non ha, per l’appunto le DirectX 8.1, da qui mi sono messo a studiare diverse soluzioni, e dopo diversi fallimenti sono arrivato a provare le sopracitate dgVoodoo2 (dal nome della storica GPU che rivoluzionò il gaming su pc con le directX 6 e una nuova accelerazione hardware)
Il funzionamento è molto semplice.
Tramite il sito (precedentemente linkato) si scaricano i file “.dll” di Steam (si può copiare quella presente nella cartella di installazione del client) e delle componenti DirectX oltre ai file dgVoodooCpl.exe
e dgVoodoo.conf
, inserendoli direttamente dentro la cartella con l’eseguibile del gioco

Avviando dgVoodooCpl.exe si aprirà una finestra di configurazione, dove si devono inserire i seguenti parametri come da immagine:

In VRAM selezionare 1024 MB (un Gb di memoria video)
Inserire la risoluzione del proprio monitor o dei sottomultipli (quest’ultimo caso in presenza di monitor 2K o superiori)
Disattivare il watermark di dgVoodoo
Al termine cliccare “Applica” e poi “ok”
Il gioco così si può avviare regolarmente dal client di Steam, e il primo passaggio da eseguire è disattivare l’accelerazione hardware per il puntatore del mouse e “hardware T & L” ove presente (hardware transform and lighting, sposta l’elaborazione grafica di effetti quali l’illuminazione dal processore alla scheda video)

Se presente, attivare anti-alias e v-sync (sincronizzazione verticale dei frame) e siete pronti a giocare!
Soluzione bonus
Se usate un sistema operativo Linux con Steam e Proton potete eseguire questo gioco in maniera nativa, se non meglio, in quanto il sistema di emulazione consente di caricare le vecchie API grafiche senza necessità di scaricare nulla, provare per credere!