← Tutti i progetti
Attivo settembre 2026

DalilaMud

Un MUD (gioco di ruolo testuale multigiocatore) in italiano — fork pesantemente personalizzato di CircleMUD 3.0, salvato dalla sua vecchia VM, portato su git e macOS e in via di modernizzazione.

CMUDCircleMUDDockerSQLite

Cos’è

DalilaMud è un MUDMulti-User Dungeon, un gioco di ruolo interamente testuale in cui più giocatori esplorano e vivono lo stesso mondo scrivendo comandi. È un fork pesantemente personalizzato, in italiano, del classico CircleMUD 3.0, cresciuto di sistema in sistema negli anni.

Le personalizzazioni

Sopra il CircleMUD di base sono stati costruiti tanti sistemi su misura:

Dalla VM a git (2026)

Per anni il codice è vissuto solo su una VM, modificato dal vivo. Nel 2026 l’ho copiato in un ambiente di sviluppo locale, messo sotto git per la prima volta e portato a compilare nativamente su macOS/clang (il sorgente era scritto con convenzioni C vecchie di decenni). Durante l’import ho anche scovato e sistemato un paio di stranezze storiche — tra cui un bug che gonfiava a dismisura il file dei “mob” salvati, perché scriveva su disco memoria non inizializzata: risolto con un semplice memset prima del salvataggio.

La modernizzazione: dai file al database

Il prossimo grande passo è sostituire i quattro sistemi di salvataggio su file piatti (personaggi, mob, oggetti, case) con un vero database. Si parte dai personaggi — già in XML, quindi i più strutturati — migrando verso SQLite con un approccio pragmatico: colonne per i campi che il gioco interroga davvero (livello, classe, ultimo accesso…) e JSON per tutto il resto (statistiche, abilità, effetti attivi), così aggiungere un nuovo campo resta un cambio di codice e non di schema.

Il bello è che tutta la persistenza passa da poche funzioni (load_char / save_char): si riscrivono quelle, senza toccare le oltre 120 chiamate sparse nel resto del codice.

Stack

C · CircleMUD 3.0 · Docker · SQLite (migrazione in corso)