Speak softly and carry a doom stack

Ho cominciato una nuova partita di Stellaris, ora che è uscito Synthetic Dawn. Qualche settimana fa invece ho completato una campagna trionfale in Victoria 2.

Considero questi due giochi gli attuali migliori titoli di Paradox (prima consideravo Crusader Kings 2 migliore di Victoria, ma la piega delle ultime espansioni mi sta lasciando dubbioso) ma entrambi questi titoli hanno un grosso problema per un gioco Grand Strategy: il sistema militare.

In entrambi i casi la manovra vincente è organizzare le truppe in un enorme ammasso e muoverle sul territorio avversario cercando di schiacciare per semplice superiorità numerica gli avversari: in Victoria questo è mitigato con una penalità sull’ammassamento, ma questo non evita la creazione di enormi armate, e inoltre l’idea di enormi armate in giro per l’europa può andare bene per i primi anni di Victoria, ma è certamente sbagliata nel simulare la prima guerra mondiale che ha visto lunghissime linee di fronte spezzare l’Europa. In Victoria l’idea stessa di un fronte non è applicata, e anche l’IA avversaria tende a cercare di far correre le proprie truppe nel tuo territorio senza curarsi di difendere i propri confini.

In Stellaris il concetto degli Doom Stack è portato all’estremo: mi capita molto raramente di dividere la flotta, e se lo faccio è solo per bombardare più pianeti alla volta. Nella mia attuale partita la “Crisi finale” è esplosa molto presto, e si è trattato della nuova crisi finale: la Contingency. Questo ha tramutato la partita in una guerra infinita che penso stia durando da più di 100 anni nel tempo del gioco, e qualcosa come 4 – 6 ore nel tempo reale. Spendere tutto questo tempo nell’accumulare risorse per costruire una flotta fino al limite solo per lanciarla contro lo stack avversario e vincere per un puro vantaggio numerico non è esattamente la ragione migliore per giocare ad un Grand Strategy.

Il sistema di combattimento di Stellaris sotto il cofano è abbastanza articolato e infatti il semplice vantaggio numerico non è certezza di vittoria, ma bisogna presentarsi con le armi corrette e la giusta configurazione della flotta per affrontare il proprio avversario nel modo più efficiente. Il problema però è che questa efficienza ha un senso solo fino ad un certo punto, perché con una flotta nettamente superiore potrò sempre vincere, e con una flotta nettamente inferiore sarò sempre destinato a perdere: non c’è limite d’ammassamento nello spazio, o fiumi dietro ai quali rifugiarsi, o altri vincoli strategici che permettano azioni degna di nota, e per questa ragione tutta la complessità del sistema militare si risolve nel portare una decina di navi inefficienti in più al posto di creare navi efficienti.

Non so tematicamente come gli sviluppatori possano introdurre i limiti di ammassamento in un gioco spaziale, e si nota molto come in Paradox abbiamo una grande esperienza nel combattimento terrestre storico, ma abbiano problemi far quadrare tutto nel concetto della fantascienza.

Spero che – ora che Paradox ha sistemato le crisi di fine partita – la prossima espansione si concentri finalmente sul risistemare il sistema militare.

Altri esperimenti con il Pathfinding (Parte Seconda)

Come dicevo ieri avrei provato a calcolare solo le rotte tra il punto e quello più prossimo: la soluzione funziona meglio, ma ha comunque un problema quando il punto più prossimo è dietro ad un ostacolo. Per questa ragione ho aggiunto l’eccezione di verificare se oltre al punto più prossimo viene trovato un punto in linea d’aria. Anche riducendo al minimo i calcoli la risoluzione dei A* fatto tramite raycast rimane troppo lenta. Ho provato ad usare LinecastNonAlloc ma non ho ottenuto un miglioramento sostanziale nelle prestazioni.

Sono arrivato alla conclusione che il raycast basato sulla fisica è troppo inefficiente per usarlo in maniera così massiccia su una mappa di discrete dimensioni con ostacoli complessi. Per questa ragione ho deciso che come prossimo passo proverò a calcolare senza raycast una mappa sulla quale utilizzare l’algoritmo A*: in pratica per ogni singolo ostacolo sulla mappa andrò a calcolare quali celle sono occupate e quali libere e quindi risolverò la mappa come una semplice scacchiera applicando l’A*.

Il mese è quasi concluso, e con questo passerò ad una altra serie di problemi accantonando per il momento il pathfinding. Il mio obiettivo sarebbe quello di rilasciare un gioco completo al mese, ma in questo ultimo caso ho trovato dei problemi sufficientemente interessanti per sperimentare, accantonando per il momento l’idea di un gioco completo.

Altri esperimenti con il Pathfinding

Sto continuando a studiare una soluzione per simulare il movimento di una massa di persone in uno spazio con muri non perpendicolari. Avevamo visto come il pathfinding è in grado di fornire delle soluzioni, ma abbia un problema di prestazioni e quindi è poco pratico far calcolare ad ogni agente la strada verso la sua destinazione.

Per questa ragione ho pensato di introdurre una mappa, ovvero un insieme di destinazioni tra le quali precalcolare il percorso: questo sistema permette di ridurre il numero di volte in cui viene interpellato l’algoritmo A*, ma comunque non risolve il problema dato che all’aumentare delle destinazioni il numero di rotte cresce esponenzialmente.

Il prossimo passaggio quindi verterà sulla riduzione del numero di rotte calcolate inserendo una logica per la quale sia necessario solo calcolare la rotta verso le destinazioni più vicine, e quindi usare le rotte precedentemente calcolate per andare alle destinazioni più lontane.

Questa logica dovrebbe mettere in ordine la distanza tra i vari obiettivi e quindi calcolare i percorsi seguendo quella priorità e in questo modo trovare solo gli obiettivi più prossimi, e utilizzare da questi le soluzioni precedentemente calcolare.

Farò vari esperimenti, ma penso che utilizzando questo sistema in combinazione con l’algoritmo per “ottimizzare” le rotte dovrebbe servirmi solo il punto più prossimo.

Dunkirk e l’importanza della colonna sonora

Dunkirk è un film molto particolare. Dialoghi e sceneggiatura contano pochissimo, i personaggi sembrano pescati a caso tra le migliaia che hanno vissuto davvero questo inferno, tutto è strutturato per far parlare la scena e non gli attori.

Per molti versi Dunkirk ricorda un videogioco, anche se naturalmente manca completamente l’elemento della interattività.

Le scene sono verosimili, e per quasi tutto il film non ci sono azioni incredibili o atti estremi di eroismo: siamo di fronte alla rappresentazione della guerra per quello che è.

Diversi registi si son cimentati nel cercare di rappresentare la guerra per quello che è, non ultimo Spielberg con “Salvate il soldato Ryan”. Salvate il soldato Ryan utilizzava 2 elementi per mostrare l’orrore della guerra: grafica al limite dello splatter per rappresentare le ferite, e telecamera traballante per dare l’impressione di essere dentro all’azione.

Nolan in Dunkirk non usa questi 2 elementi eppure le scene d’azione sono estremamente tese, anche se il più delle volte quello che c’è sullo schermo sono due aerei che si inseguono danzando nel cielo.

Allora come fa Dunkirk a funzionare? Grazie alla colonna sonora. Il sottofondo di Dunkirk è al limite di quello che si potrebbe definire musica: son più che altro un insieme di suoni volti a suscitare un’emozione. Non c’è richiamo ad un tema ricorrente come in altri film, e infatti questa colonna sonora non ha praticamente alcuna canzone distintiva; allo stesso modo però non è una colonna sonora slegata dall’azione come poteva essere quella della scena di inseguimento in autostrada in Matrix Revolution. Qui la musica è costruita sopra l’azione, ed è un elemento necessario per far funzionare il film.

Ecco un esempio

Analizzare questa colonna sonora può insegnarci come anche con poche note ripetute sfruttando la scala di Shepard può essere sufficiente per rendere epico un videogioco.

Alcuni Giochi della Scorsa Settimana (18 Settembre)

Ho deciso di cominciare questa nuova rubrica per dar spazio ad alcuni giochi che hanno catturato la mia attenzione negli ultimi 7 giorni tra le decine che vengono rilasciate su Steam.

Questa rubrica cercherà di focalizzarsi sui piccoli giochi quasi sconosciuti: cominciamo con la selezione della settimana 18-24 Settembre

Consortium: The Tower

Shooter in soggettiva ambientato nel mondo di Consortium§: questo gioco rilasciato in early access promette di avere storie molto diverse a seconda dello stile di gioco, e addirittura dialoghi diversi se si comincia questo gioco da zero, o se si importa il salvataggio dell’originale Consortium. The Tower promette una storia rigiocabile e articolata in vari rami a seconda delle decisioni del giocatore. Non son sicuro che il modello early access possa giocare ad un gioco così intensamente narrativo, ma sono interessato a giocarci una volta completo. Nel frattempo sarà il caso di rispolverare l’originale Consortium.

Age of Gladiators II

Questo gioco è un manageriale sportivo stile Football Manager (ovvero un “simulatore di foglio di calcolo”) unito ad un motore di combattimento a turni per le lotte nell’arena. Questo gioco è il seguito di Age Of Gladiator, un gioco puramente manageriale ambientato nell’antica Roma. In questo caso invece l’ambientazione è futuristica e quindi i nostri gladiatori appartengono a varie razze aliene e sono dotati anche di armi da fuoco e scudi energetici. La complessità delle opzioni costruite attorno al gioco sembra molto più vasta rispetto a quelle del titolo precedente, anche al di fuori del motore di combattimento. Unica cosa l’ambientazione generica fantascientifica è probabilmente meno attraente rispetto al Colosseo. Per il momento il 72% delle 29 recensioni è positivo.

Terroir

Terroir è un gioco sulla produzione di vino, che è appena uscito dall’early access. Questo manageriale – oltre a essere tra i pochi giochi dedicati al vino – ha uno stile distintivo molto particolare, basato su una mappa esagonata e semplici modelli 3d. Il titolo ha venduto fin’ora circa 4.000 copie con una mediana di 5.5 ore giocate ed ha al momento un 70% di recensioni positive e il 57% nelle ultime settimane. Forse è un titolo uscito troppo presto dall’early access? O forse il prezzo di base a 15€ è troppo alto per il contenuto?