Russia 1917: Pensare mobile, non PC

Il punto di aprile 2026 sulla riprogettazione per mobile, il ritmo degli scenari e le ricerche su un’IA di tipo GOAP.

Vecchia organizzazione delle schermate di Russia 1917 su mobile
Vecchia organizzazione delle schermate di Russia 1917 su mobile

Ciao,

Lo sviluppo del gioco continua e vorrei tenervi aggiornati sui suoi progressi. Questo mese ci sono poche grandi novità, ma ci sono comunque alcuni sviluppi interessanti da condividere.

Pensare “mobile” invece che “PC”

Nel mese di marzo ho avuto l’occasione di far provare il gioco a un amico (grazie Gabriel) — ed è stata una vera rivelazione.

Come sapete, il mio obiettivo è creare un gioco mobile. Eppure, fino ad ora, continuavo a pensare troppo in termini di PC.

Nella prima versione, il gioco era strutturato attorno a due schermate principali: una schermata strategica e una schermata dedicata agli scenari. Il risultato era che, su un piccolo schermo di smartphone, tutto diventava troppo affollato. Gli elementi erano troppo piccoli, l’interfaccia sovraccarica e i cambi di menu rendevano l’insieme difficile da leggere.

Nuova organizzazione delle schermate di Russia 1917 pensata per il mobile

Nuova struttura delle schermate

Per esempio, ho dovuto rinunciare a mostrare i soldati sulla mini-mappa: su mobile diventava semplicemente una massa confusa di pixel.

Ho quindi dovuto cambiare approccio e pensare “mobile”, cioè smettere di concentrare tutte le informazioni su un’unica schermata e distribuirle su più schermate.

Questa nuova organizzazione mi dà alla fine più libertà. Ora posso proporre:

  • una mappa più leggibile con i soldati,
  • grafici che mostrano l’evoluzione del numero di città occupate da ciascun campo,
  • oppure manifesti di propaganda più grandi, accompagnati dal loro contesto.

Confronto tra la mini-mappa e la grande mappa strategica con città e soldati

Questa immagine mostra la mappa con città e soldati. Si vede che la versione “mini” a sinistra diventa una vera confusione di pixel quando si cerca di identificare i soldati, rappresentati da croci. Al contrario, quando la mappa è più grande, è molto più leggibile. Questo è il vantaggio di pensare in termini di più schermate.

⚖️ Ripensare gli scenari e le interruzioni

Il secondo punto riguarda gli scenari. Ho avuto una discussione con un’altra tester (grazie Laura).

Nella versione attuale, il giocatore viene interrotto molto rapidamente da notifiche che gli chiedono di prendere decisioni politiche. In linea di principio è logico: queste scelte influenzano la strategia, i nemici e le risorse.

Ma nella pratica spezzano il ritmo.

Diventa difficile rimanere concentrati sulla strategia quando si viene continuamente interrotti da decisioni politiche.

Ho quindi rivisto questo sistema.

D’ora in poi:

  • Le scelte politiche vengono segnalate, ma restano facoltative.
  • Sono limitate nel tempo: ogni scelta è disponibile solo per un minuto, mentre prima il gioco andava in pausa se il giocatore non aveva risolto il dibattito.

Ogni decisione resta legata a un preciso contesto storico. Per esempio, la questione dell’indipendenza della Finlandia compare nel novembre 1917, in conformità con la realtà storica.

L’idea è semplice: durante la prima partita, il giocatore parteciperà probabilmente a pochi dibattiti. Ma partita dopo partita, prenderà coscienza delle diverse scelte possibili e delle loro conseguenze.

🤖 Riprogettazione dell’IA nemica

Per aprile mi sto concentrando su un altro tema: l’intelligenza artificiale dei nemici.

🔧 Funzionamento attuale

Per comprendere l’evoluzione, devo prima spiegare come è costruita attualmente la mia IA.

Durante la partita, ogni fazione nemica riceve un atteggiamento definito dallo scenario.

  • Inattiva: reagisce solo se viene attaccata
  • Limitata: agisce soltanto in una zona precisa, per esempio i movimenti indipendentisti come quelli ucraini o finlandesi
  • Attiva: opera su tutta la mappa, per esempio i Russi bianchi o le forze straniere

Successivamente utilizzo un albero decisionale combinato con variabili casuali.

A intervalli regolari, ogni fazione analizza:

  • le proprie truppe e città,
  • le forze alleate nelle vicinanze,
  • i nemici vicini.

In funzione di questi elementi, ha maggiori o minori probabilità di attaccare una città nemica, produrre truppe oppure attaccare un’unità nemica, con una componente casuale.

Per esempio, se ci sono forze alleate nelle vicinanze, c’è l’80% di probabilità di attaccare una città nemica, mentre nel caso opposto c’è l’80% di probabilità di attaccare una truppa nemica.

Questo sistema funziona… ma è diventato un vero “piatto di spaghetti” da mantenere.

In particolare ho due bug importanti:

  • i Giapponesi attaccano la Russia occidentale invece di restare verso Vladivostok
  • le forze bianche a volte rimangono completamente immobili

🔄 Verso un’IA di tipo GOAP

In una logica di semplificazione, sto esplorando un nuovo approccio: il modello GOAP per sostituire il modello ad albero decisionale.

GOAP significa Goal-Oriented Action Planning, cioè pianificazione delle azioni orientata agli obiettivi.

Il principio è il seguente: si definisce per l’IA un obiettivo che cambia in funzione dell’ambiente. Per esempio, molti nemici nelle vicinanze impongono una politica difensiva, mentre pochi nemici favoriscono una politica offensiva.

Si definiscono poi delle azioni.

Queste azioni devono poter essere utilizzate in catene diverse. Per esempio, se abbiamo le azioni “creare truppe”, “mandare le truppe all’attacco” ed “esplorare”, possiamo definire piani come:

  • creare una truppa → esplorare
  • creare truppe → creare truppe → creare truppe → mandare le truppe all’attacco

Infine c’è il piano vero e proprio.

L’idea è che l’IA possa costruire da sola il proprio piano, cioè la propria catena di azioni.

Sono possibili due approcci:

  • oppure si scrivono diversi piani e si chiede all’IA di scegliere quello più pertinente
  • oppure si chiede all’IA di provare diverse combinazioni di azioni per vedere se permettono di raggiungere l’obiettivo

Ed è qui che appare qualcosa di interessante: l’emergenza.

✨ L’emergenza: il Santo Graal

Immaginiamo:

Lo sviluppatore definisce alcune azioni:

  • creare truppe
  • spostare truppe
  • costruire strade

E improvvisamente l’IA decide da sola che costruire una strada è il modo migliore per raggiungere un obiettivo militare.

Nella mente dello sviluppatore, l’azione “costruire strade” non era stata immaginata per un uso militare, ma piuttosto economico. Tuttavia, poiché l’IA prova tutte le azioni combinandole con tutte le altre, può arrivare a piani che lo sviluppatore non aveva previsto, per esempio combinando “costruire strade” e “spostare truppe”. Questo comportamento non è stato programmato esplicitamente.

Si ritrova questo tipo di logica in alcuni giochi in cui i PNG bloccano una strada con degli oggetti invece di attaccare direttamente.

È questo tipo di intelligenza “imprevedibile ma coerente” che vorrei riuscire a ottenere.

⚠️ I limiti tecnici

Il problema è che utilizzo GDevelop, che si basa su un sistema vicino allo pseudocodice.

Questo rende complessa l’implementazione di un sistema GOAP.

Devo ancora fare diversi test per capire se è possibile realizzare una versione funzionante.

La mia idea attuale sarebbe di aggiungere questa logica come livello supplementare per gestire la strategia locale. Oppure potrei utilizzare GOAP in un minigioco presente nel gioco, “Partecipare al Congresso di Baku”. Ne parlerò più avanti.

Screenshot del minigioco dedicato al Congresso di Baku

Screenshot del minigioco “Partecipare al Congresso di Baku”

Ho avuto molta difficoltà a comprendere GOAP ed è stato davvero grazie alla mia compagna, che mi ha incoraggiato, che sono riuscito ad arrivarci (grazie Holly).

🎯 Conclusione

Ecco dove si trova oggi il progetto.

Molte riflessioni, aggiustamenti importanti e una direzione che diventa sempre più chiara.

L’obiettivo resta invariato:

👉 pubblicare il gioco quest’estate.