Alcuni Giochi della Scorsa Settimana (25 Settembre)

Lunedì: cominciamo la settimana con il consueto sguardo su alcuni videogiochi interessanti rilasciati settimana scorsa.

Airport CEO

Seguo da diversi mesi lo sviluppo di questo gioco: si tratta di un manageriale 2D su mappa a quadrati (stile Prison Architect) nel quale si costruisce un aeroporto. Durante lo scorso anno era già uscito un altro gioco molto simile chiamato SimAirport, ma questo titolo sembra voler puntare ad una maggiore complessità della simulazione, ed inoltre ha un costo inferiore. Entrambi i giochi sono ad accesso anticipato, e Airport CEO sto meditando di comprarlo nella prossima settimana. Nel caso scriverò una recensione più dettagliata. Al momento questo titolo ha avuto 405 recensioni di cui l’85% positive.

Stable Orbit

Stable orbit è un manageriale di costruzione e amministrazione di una stazione spaziale sul modello della ISS. Questo gioco ricorda molto da vicino un vecchio titolo chiamato Space Station Manager, abbastanza divertente ma che oggi ha una grafica troppo datata. Stable Orbit dal punto della grafica appare molto gradevole: questo gioco è stato in early access dallo scorso Ottobre vendendo attorno alle 10.000 copie. L’uscita dall’early access è coincisa con una pioggia di valutazioni negative, quindi sembra che questo titolo – seppur interessante – sia incompleto. In realtà non tenderei però a fidarmi di sole 100 recensioni, come quelle che per ora ha questo gioco.

Galactic Crew

Questo gioco sembra voler essere una versione estesa di FTL, con grafica 3D, navi mofificabili anche a nella forma delle stanze, e sbarchi planetari. Siamo nei primi giorni di Early Access e per il momento non sembra stia riscuotendo grande successo. Vediamo come si svilupperà.

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.