CyclesMod

Non sarò responsabile di danni di alcun genere derivanti dall’uso dei file scaricabili da questa pagina; li utilizzate a vostro rischio.
I will be in no way liable for any loss or damage caused by the use of the software available on this site.

Introduzione

The Cycles: International Grand Prix Racing è un videogame di simulazione motociclistica. Risalente al 1989, fu distribuito per tutte le più diffuse piattaforme dell’epoca, dal Commodore 64 al PC IBM (DOS). In questo post mi riferirò alla versione DOS, che oggi è facilmente reperibile come Abandonware su diversi siti dedicati.

Splash screen di The Cycles

Successore del più famoso Grand Prix Circuit, simulatore di Formula 1 uscito circa un anno prima, The Cycles è decisamente migliore sotto tutti gli aspetti, a partire dalla grafica che, pur limitata allo standard EGA (320x200x16) nonostante fossero già disponibili schede VGA/MCGA, si presenta molto più fluida (frame rate maggiore); le migliorie grafiche aumentano decisamente anche la giocabilità. Inoltre, rispetto a Grand Prix Circuit, troviamo quasi il doppio dei tracciati, ben quindici, che ricalcano tutta la stagione 1989 del motomondiale. Il livello di simulazione non è altissimo e sicuramente è molto lontano da quello a cui siamo abituati oggi, tuttavia per l’epoca non era affatto male e a mio avviso è un buon compromesso tra realismo e giocabilità.

Screenshot del menù Screenshot della selezione del circuito

Essendo ormai vecchio di 25 anni, ovviamente il gioco non può essere eseguito nativamente sotto Windows; l’unico modo di farlo sarebbe utilizzare la modalità DOS di Windows 9x. Oggi però c’è una validissima alternativa chiamata DOSBox; per chi non lo conoscesse già, si tratta di un emulatore totalmente gratuito di ambiente DOS, pensato proprio per ricreare le condizioni ideali per l’esecuzione di programmi e giochi progettati per il vecchio sistema operativo di casa Microsoft. The Cycles non solo è pienamente compatibile con questo emulatore, ma dà il meglio di sé grazie alla possibilità di abilitare un upscaling di alta qualita della grafica (scale) fino a 3x, portando così virtualmente la risoluzione da 320×200 a ben 960×600; l’emulatore è in grado inoltre di applicare al volo una correzione delle proporzioni, in modo da non distorcere l’immagine anche se si opera su un monitor con proporzioni diverse da quelle proprie dello standard originario, sicché di fatto gli anacronistici 320×200 pixel possono diventare 960×720, regalando grande soddisfazione anche con i monitor attuali. DOSBox emula fedelmente anche l’adattatore audio AdLib, supportato da The Cycles (ma non da Grand Prix Circuit) durante le sequenze introduttive, di menù e di premiazione; il sonoro in gara fu invece inspiegabilmente concepito solo per il PC speaker (che in ogni caso è anch’esso emulato).

Dal punto di vista della progettazione del gioco, si rilevano soluzioni molto interessanti: i dati relativi ai tracciati (percorso e dati generali) sono stati esternalizzati in file separati, così come i dati e parametri tecnici delle tre motociclette che è possibile scegliere: 125, 250 e 500 cc. Si tratta sempre di file binari, spesso complessi da interpretare a vista, ma con un po’ di attenzione e di tentativi è possibile determinarne la struttura.

Screenshot della selezione della motocicletta Screenshot dei credits

Proprio grazie a queste buone scelte progettuali e ovviamente al desiderio di modding di un vecchio giocatore come il sottoscritto, mi è venuta voglia di mettere mano al gioco. Non ho preso in considerazione la personalizzazione dei circuiti in quanto la struttura dei file relativi alle piste è apparentemente molto complessa, forse codificata in qualche modo, pertanto richede un’analisi accurata per determinarne con precisione il funzionamento.
Decisamente più lineare è il file che contiene i parametri relativi alle moto: BIKES.INF. A seguito dell’analisi del file ho realizzato un programma in linguaggio Java che permette di personalizzare praticamente tutto. CyclesMod, questo il suo nome, è disponibile sia con interfaccia grafica che in versione da linea di comando (in questo caso occorre l’ausilio di un editor di testo per poter personalizzare le configurazioni). Per eseguire il programma occorre comunque avere installato Java (JRE) versione 1.6 o successiva.

Funzionamento da interfaccia grafica (GUI)

Dopo aver scaricato la versione adatta al sistema operativo (per ora è disponibile per Windows e Linux a 32 o a 64 bit), la si può scompattare in qualsiasi cartella, volendo anche in una sottocartella di The Cycles, in modo da tenere tutto in un unico posto. Il file da eseguire per avviare l’applicazione è cyclesmod.bat (Windows) o cyclesmod.sh (Linux). All’apertura comparirà l’interfaccia seguente:

Screenshot della GUI di CyclesMod

Sono presenti tre schede, una per moto, e all’interno di ogni scheda sono presenti tre gruppi di valori:

  1. impostazioni generali (settings)
  2. cambio (gearbox)
  3. curva di coppia (torque)

Ogni gruppo contiene una serie di caselle di testo che contengono i valori per ogni impostazione; all’apertura vengono caricati automaticamente i valori predefiniti del gioco. È possibile quindi modificarli liberamente per personalizzare il comportamento delle moto. I valori che differiscono da quelli predefiniti vengono mostrati in grassetto. Soffermandosi con il mouse su ogni casella, viene mostrato un suggerimento contenente il relativo valore predefinito. Utilizzando il tasto Salva con nome… è possibile salvare la configurazione in formato INF; per far sì che la configurazione venga letta dal gioco, il file deve necessariamente chiamarsi BIKES.INF. A questo proposito si raccomanda ancora una volta di effettuare una copia di backup del gioco prima di utilizzare questo programma, in modo da essere sempre in condizioni di poter ripristinare file che potrebbero andare perduti o sovrascritti per errore. Con il tasto Carica… è possibile aprire un qualsiasi file BIKES.INF e importarne le impostazioni, le quali potranno poi essere modificate e salvate nuovamente.

Funzionamento da riga di comando

Il programma per prima cosa crea, se già non esiste, un file di testo BIKES.CFG di default a partire dal file binario BIKES.INF originale (incorporato per comodità nel programma stesso e quindi non richiesto per il funzionamento). Il file BIKES.CFG è in pratica una “traduzione” in testo semplice del file INF; aprendolo con un editor di testo, è possibile accedere direttamente ai parametri delle motociclette, i quali sono abbastanza autoesplicativi e suddivisi nei soliti tre gruppi: impostazioni generali (settings), cambio (gearbox) e curva di coppia (torque). Inizialmente il file CFG conterrà i valori predefiniti del gioco, derivando direttamente dal file INF originale. Il programma quindi rileva l’esistenza del file CFG, ne legge il contenuto e infine costruisce un nuovo file BIKES.INF, sovracrivendo quello eventualmente preesistente. A questo punto è sufficiente copiare il file BIKES.INF generato nella directory del gioco sovrascrivendo il file esistente, avendone fatto prima una copia di backup (in realtà una copia compressa del file BIKES.INF originale è contenuta anche nel JAR di CyclesMod quindi sarebbe comunque possibile recuperarlo sia estraendolo direttamente da lì, che cancellando il file CFG e facendo girare nuovamente il programma, che genererà automaticamente un CFG predefinito e un INF analogo a quello originale). Avviando il gioco sarà quindi possibile sperimentare le eventuali modifiche apportate alla configurazione.

Per effettuare modifiche è sufficiente aprire il file CFG, modificare i parametri di interesse, salvare il file e far girare CyclesMod. Il programma rileverà l’esistenza del file BIKES.CFG e produrrà un nuovo BIKES.INF contenente le modifiche apportate. In caso di errori saranno mostrati opportuni messaggi in console.

Ricapitolando, il programma esegue fondamentalmente la seguente procedura:

  1. Lettura del file BIKES.INF originale (incorporato in CyclesMod).
  2. Scrittura, solo se già non presente, di un nuovo file BIKES.CFG che è la “traduzione” in testo semplice del file INF che invece è binario.
  3. Lettura del file BIKES.CFG ed estrazione di tutti i parametri.
  4. Scrittura di un nuovo file BIKES.INF contenente i valori personalizzati letti dal file BIKES.CFG.

Download

Prima di utilizzare il presente software, effettuare una copia di backup del videogame originale.
Please make a backup of the original game before using this software.

CyclesMod 3.2.3: binari (eseguibile)sorgenti (05/09/2021) – GitLicenza GPL.