Pubblicato un nuovo aggiornamento per EasyRPG Player, l’implementazione open source del motore RPG Maker 2000/2003, due popolari strumenti di sviluppo utilizzati per creare giochi di ruolo (RPG) in stile retrò.
Sono passati quasi due anni dall’ultima release e, sebbene l’intenzione fosse di lanciarla per Natale, il team non è riuscito a rispettare la scadenza. Tuttavia, come si suol dire, meglio tardi che mai.
#EasyRPG Player 0.8.1 "Stun" RELEASED!
Almost two years in development. But we promise the wait was worth it!
Hope you have some time to read our loooong blog post 🫠
Release notes: https://t.co/AQ7KrhYUTh
Download: https://t.co/gnY9CzSS6g pic.twitter.com/9ENlnaXpDn
— EasyRPG (@EasyRPG) April 7, 2025
Questa volta, il progetto ha beneficiato di numerosi contributi da parte di sviluppatori esterni, i cui nomi sono indicati accanto alle modifiche che hanno proposto, mentre i contributi senza attribuzione specifica sono generalmente opera di carsten1ns o Ghabry.
Un ringraziamento speciale va a Carbonara, noto anche come Mimigris, per il supporto alla comunità, l’apertura di segnalazioni e la gestione dei bug report, un lavoro che ha permesso di risparmiare tempo prezioso agli sviluppatori.
Tra i giochi degni di nota che ora risultano (quasi) giocabili ci sono Beloved Rapture, un titolo commerciale, e Ipomoea.
Tuttavia, “giocabile” non significa privo di problemi: la demo di Beloved Rapture funziona, ma la versione completa presenta ancora un comando evento mancante e alcune difficoltà con il sistema di combattimento, su cui il team sta lavorando.
Una novità entusiasmante è il rilascio di Collective Unconscious, un gioco esclusivo per EasyRPG, giocabile solo online nell’ambito del progetto Yume Nikki Online.
Questo titolo utilizza una versione modificata del web player che introduce funzionalità multiplayer sincronizzando la posizione degli altri giocatori. Per chi non conoscesse il fandom di Yume Nikki, si tratta di simulatori di esplorazione in mondi onirici bizzarri.
Un bug curioso è stato scoperto di recente: il contatore dei frame, salvato nei file di gioco, raggiunge un overflow dopo circa un anno e due mesi di gioco continuo, causando calcoli negativi e crash del player.
Alcuni utenti online particolarmente dediti hanno raggiunto questo limite, e un bugfix urgente ha permesso loro di continuare a giocare. Per accorciare il post sul blog, il supporto per WiiU Homebrew e Flatpak era già stato annunciato in precedenza.
Il team spera che i lettori apprezzino le note di rilascio dettagliate, che, pur lunghe, non sono un caso isolato: anche Dolphin Emulator adotta un approccio simile.
Un altro aspetto interessante riguarda il progetto OpenRTP, che mira a creare asset sostitutivi per il Runtime Package (RTP) di RPG Maker, una raccolta di risorse condivise utilizzabili solo per giochi creati con questo motore.
Poiché non possono essere distribuiti direttamente, il team sta sviluppando alternative compatibili con il layout dell’RTP originale, rilasciate sotto licenze open source come CC-BY o CC0, a seconda dell’asset.
Sono stati presentati nuovi faceset e personaggi, con autori e licenze specificati nei video, insieme a nuove animazioni di battaglia create da Victor Sena, che saranno integrate in OpenRTP ad aprile.
Jetrotal ha utilizzato l’intelligenza artificiale generativa nella fase concettuale per creare bozze dei volti dei personaggi, ma tali opere non sono state usate nel prodotto finale, poiché il progetto si oppone fermamente all’inclusione di arte generata da IA.
Per le grafiche di sfondo delle battaglie, Sidewinder91 ha adottato un approccio diverso, utilizzando Blender invece di strumenti di disegno tradizionali.
Per quanto riguarda i problemi risolti, nella versione 0.8 era stato introdotto un errore nel comando “Wait for Key Input” per i giochi RPG Maker 2003 con motori precedenti alla versione inglese, identificato erroneamente come una funzionalità esclusiva di quest’ultima.
Questo bug, che probabilmente ha influenzato molti giochi, è stato corretto dopo una segnalazione relativa a Answered Prayers, dove un personaggio si alzava immediatamente dopo essersi seduto.
Inoltre, la build per Wii della versione 0.8 risultava completamente inutilizzabile a causa di un errore nella migrazione a un nuovo sistema di compilazione, che impostava erroneamente l’ordine dei byte.
La Wii utilizza una CPU PowerPC big-endian, diversa dai sistemi little-endian più comuni, e i dati di RPG Maker, anch’essi little-endian, richiedevano una conversione che, se non eseguita, produceva dati corrotti.
Sul fronte delle mappe e dell’interprete, il caricamento di un salvataggio ora annulla le animazioni di battaglia attive per evitare crash dovuti all’accesso a dati obsoleti.
Migliorata anche la gestione dell’albero delle mappe, risolvendo casi di corruzione come mappe mancanti, riferimenti a mappe genitore inesistenti o loop, problemi che causavano crash in giochi come Runic Cipher e Abyss.
Il comando per aggiungere equipaggiamento ora verifica se l’oggetto può essere equipaggiato dall’attore, mentre per il gioco Ipomoea, che usa una risoluzione di 320×176 inferiore a quella standard, sono state adattate la message box e la scena delle impostazioni.
Altri miglioramenti includono la compatibilità con bug delle versioni precedenti di RPG Maker 2003 per il caricamento delle tilemap dai salvataggi, la correzione del comando Shake Screen con durata zero e un’ottimizzazione per il comando Control Variables, che ora aggiorna solo gli eventi dipendenti da specifiche variabili, migliorando le prestazioni soprattutto sulle piattaforme homebrew.
Changelog
Importante: Aggiornare sempre liblcf
prima di aggiornare il Player. Entrambi devono essere sulla stessa versione, liblcf
è la libreria per il parsing dei file di RPG Maker.
TL;DR per manutentori impegnati
- È richiesto C++17.
- Autotools verrà presto rimosso, migrare a CMake.
- Supporto a SDL3, ma SDL2 è ancora predefinito (si cambierà nel prossimo rilascio). Per abilitare subito SDL3 usare:
-DPLAYER_TARGET_PLATFORM=SDL3
- Supporto a
fmt >= 10
- Nuova dipendenza consigliata: lhasa (per giocare da archivi
.LZH
). dr_wav
ora preferisce la libreria di sistema (via#if __has_include
).rang
è stato rimosso.picojson
è stato sostituito connlohmann_json
, ora consigliato su tutte le piattaforme.
Dettagli
- C++17 ora è obbligatorio per compilare
liblcf
ePlayer
, principalmente perché la dipendenza ICU (Unicode) lo richiede dalla versione 75. (#2190, liblcf #458) - Autotools è deprecato e sarà rimosso subito dopo questo rilascio. Il sistema attuale manca di funzionalità rispetto a CMake, che diventa lo standard consigliato.
- SDL3 è supportato! Anche se è ancora molto nuovo nel nostro ecosistema, supporta una grafica migliorata e scaling corretto su display ad alta densità. SDL2 resta il default per ora. Per usare SDL3:
-DPLAYER_TARGET_PLATFORM=SDL3
(#2865) - In CMake,
zlib
ora viene cercato confind_package()
per evitare problemi quando sono installate solo versioni statiche o condivise. (#3318) - Il Player ora compila correttamente con
fmtlib
10 o superiore. (#3002) - Ora è possibile caricare giochi contenuti in archivi LZH, formato comune nei giochi RPG Maker 2000/2003. Richiede la nuova dipendenza consigliata: lhasa. (#3033)
dr_wav
usa ora la versione di sistema invece di quella interna, se disponibile. (#2986)- Rimozione di
rang
, libreria per output colorato nel terminale. Ora ci si affida afmtlib
. Nota: su Windows < 10, l’output colorato in debug potrebbe non funzionare. (#3181) picojson
è stato sostituito danlohmann_json
, ora usato ovunque (non solo per emscripten). È una nuova dipendenza consigliata. Utilizzato per analizzareindex.json
o per un nuovo comando evento JSON. (#3228)- Risolto un problema con la compilazione di libretro core per Android, dove componenti SDL2 non venivano disattivati. (#2983)
- CMake: nuova opzione
-DPLAYER_BUILD_LIBLCF_BRANCH
per compilare un ramo personalizzato di liblcf. (#3017) - Il Player ora compila anche senza librerie di resampling (se
speexdsp
elibsamplerate
non sono disponibili). (#3251) - CMake ora rileva correttamente l’endianess in fase di cross-compilazione. (liblcf #464, #3060)
- Aggiunta una API di callback, utile per chi vuole agganciare codice esterno senza creare conflitti durante gli aggiornamenti. (#3224)
- Rimosso l’header
string-view-lite
, sostituito constd::string_view
introdotto in C++17. (#3360, liblcf #495)
Download: EasyRPG Player v0.8.1 “Stun”
Fonte: blog.easyrpg.org