Il motore di gioco Artemis è una soluzione versatile per lo sviluppo di Visual Novel che si appoggia agli script Lua per gestire interazioni, logica e avanzamento delle storie.
Grazie alla sua natura multipiattaforma, supporta una vasta gamma di dispositivi, tra cui Windows, Android, iOS, Web, Nintendo Switch e PlayStation.
Uno degli aspetti più interessanti di questo motore è la possibilità di eseguire script Lua personalizzati direttamente dai file di salvataggio del gioco, aprendo un nuovo ventaglio di opportunità per chiunque voglia sperimentare con il codice nei giochi.
Panoramica
Quando un gioco sviluppato con Artemis si avvia, nella maggior parte dei casi carica automaticamente un file di salvataggio denominato save9999.dat
.
Questo file contiene i dati che indicano lo stato del gioco, ma con una piccola modifica può essere utilizzato per eseguire script personalizzati.
Il processo che consente di iniettare script Lua nel motore del gioco tramite questo file è piuttosto semplice:
- Il gioco si avvia come al solito.
- Il motore carica il file di salvataggio
save9999.dat
. - A questo punto, il gioco carica uno script di iniezione chiamato
inject.iet
. - Lo script Lua personalizzato,
inject.lua
, viene quindi eseguito, permettendo agli utenti di eseguire codice arbitrario.
Applicazioni pratiche
Questa tecnica è stata testata con successo su Windows e PS4. Nonostante non siano stati effettuati test approfonditi su altre piattaforme, è altamente probabile che il metodo funzioni su altri dispositivi supportati dal motore Artemis, come Nintendo Switch e PlayStation 5.
Attualmente, nella repository è disponibile un file di salvataggio personalizzato per il gioco Raspberry Cube (CUSA16074) su PS4.
Questo titolo è stato scelto per la facilità di reperimento della versione su disco fisico, ma è applicabile anche ad altri giochi che utilizzano Artemis, come ハミダシクリエイティブ (CUSA27389) e ノラと皇女と野良猫ハート HD (CUSA13303).
Per chi non possiede una copia fisica del gioco, è possibile acquistare una versione di prova tramite il PlayStation Store per effettuare i test.
Un punto importante da tenere a mente è che, per ogni gioco, potrebbe essere necessario creare un file save9999.dat
personalizzato.
Questo richiede un minimo di conoscenza sul formato dei salvataggi specifici per ogni titolo, ma una volta padroneggiata la tecnica, si possono esplorare ampi orizzonti.
Funzionalità avanzate
La piattaforma Windows offre accesso a librerie estese come luasocket e funzioni di sistema come os.execute
, permettendo l’esecuzione di comandi esterni al gioco e l’integrazione con funzionalità di rete.
Su PS4, tuttavia, le opzioni sono più limitate, e le possibilità di interagire con il sistema al di fuori del gioco sono ridotte, è consigliabile consultare la documentazione o le community per comprendere meglio i limiti di ciascuna piattaforma.
Download: Source code ArtemisLuaLoader
Fonte: x.com