Abbiamo troppe province

Oggi ho collegato tutte le immagini delle province ai relativi dati e ho assegnato a questi i singoli collegi: nella foto potete vedere una simulazione della colorazione della mappa in base al partito con la maggioranza relativa nella provincia.

Anche questo è stato un lavoro molto ripetitivo che mi ha portato alla conclusione che in questo paese non solo abbiamo troppe province, ma le cambiamo anche troppo spesso: mi sono accorto infatti che le province della sardegna della mai mappa erano quelle del 2013, ma da allora hanno subito una riorganizzazione. Ho dovuto quindi cancellare la sardegna e ridisegnarla partendo da un’altra immagine vettoriale, e purtroppo si nota la differenza tra le due sorgenti.

A questo punto mancano due cose per far funzionare questo gioco come un modello per prevedere il risultato delle prossime elezioni basandosi sui sondaggi: le intenzioni di voto divise per provincia e una ultima revisione alle regole di assegnazione dei collegi. Probabilmente inserirò anche i collegi per il voto all’estero.

Mappa Cliccabile delle provincie italiane

Ricostruire la mappa dell’Italia in Unity non è un lavoro difficile: più che altro è un lavoro lungo nel quale ci si rende conto di quante province ci siano in questo bel paese.

Per questa attività ho preso la mappa vettoriale delle provincie italiane da Wikipedia disponibile in pubblico dominio, e l’ho elaborata in Inkscape in modo da poter ritagliare tutte le singole immagini delle regioni. Quindi ho caricato e assemblato questo puzzle direttamente nell’editor di Unity. In realtà avrei potuto estrarre le coordinate direttamente da Inkscape e riprodurlo, ma non ho trovato un modo automatizzato di rapida implementazione, e quindi ho preferito fare questa attività manualmente mentre ascoltavo un podcast.

Per rendere le provincie cliccabili ho applicato ad ognuna di esse un Polygon Collider 2D e quindi ho catturato il click del mouse utilizzando questo script nell’update della mappa


if (Input.GetMouseButtonUp (0)) {
 RaycastHit2D hit =
 Physics2D.Raycast(Camera.main.ScreenToWorldPoint(Input.mousePosition), Vector2.zero);
 if (hit.collider != null) {
  if (selectedObject != null)
    selectedObject.GetComponent ().color = new Color (1, 1, 1);
  selectedObject = hit.collider.gameObject;
  selectedObject.GetComponent ().color = new Color (1, 0, 0);
 }
}

Questo script colora la casella selezionata di rosso, ma sto pensando di implementare un bordo attorno alla casella, al posto del colore pieno che sarà utilizzato per mostrare i dati.

A questo punto con la mappa completata posso cominciare a suddividere nelle varie provincie i collegi e ripensare a come organizzare la visualizzazione degli stessi.

Ho fatto una torta (in Unity)

Nel proseguire con lo sviluppo del gioco basato sul Rosatellum mi sono reso conto che ho cominciato a gestire una quantità di percentuali che messe per iscritto non hanno molto senso e quindi ho deciso di implementare un grafico a torta.

Implementare un grafico a torta in Unity è sorprendentemente semplice: consiglio di costruirsi il proprio Asset al posto di scaricarne uno tra i mille già pronti, proprio perché con le funzioni di base della gestione dell’UI si tratta sostanzialmente di caricare una immagine e colorarla.

Ecco un tutorial che spiega come farlo: vi consiglio di seguire solo il primo video e poi provare ad implementarlo da soli.

Oltre ad aggiungere questo grafico a torta ho inserito una funzione per fare un sondaggio sulle intenzioni di voto, e come tutti i sondaggi questo da una idea realistica ma imprecisa delle percentuali finali. Questo dato sarà a disposizione sia del giocatore, che della IA e sarà alla base della contrattazione per la creazione delle alleanze, che è una delle prossime funzioni che voglio implementare. Prima però vorrei ristrutturare i collegi per regioni e magari creare anche una bella mappa dell’italia, come base per il tabellone di gioco.

Un gioco della scorsa settimana (6 Novembre)

Questa settimana ho visto nella lista delle nuove uscite una mia vecchia conoscenza.

Solar Collector

Questo gioco penso è nato nel Ludum Dare di Agosto al quale ho partecipato (e ora che ci penso non vi ho mai realmente parlato dell’esperienza). La versione per il Ludum Dare era divertente, e penso sia l’attuale demo, e sulla pagina Itch.io sono segnalati i miglioramenti che son stati fatti a questo gioco nel corso degli ultimi mesi.

Il gioco non è rimasto molto simile alla sua versione originale che quindi è studiata per partite di pochi minuti, ma sembra essere stato rifinito. Lo scopo del gioco è costruire una rete di pannelli solari per raccogliere energia per rifornire i veicoli spaziali che transitano nella nostra area di servizio. La meccanica è abbastanza semplice ed è probabilmente ripetitiva, e per questo il gioco costa solo 1.99 €.

Questo titolo è il segno che nonostante il cambiamento della policy sulla pubblicazione dei videogiochi anche un piccolo sviluppatore emergente con un gioco che – a voler essere sinceri – forse sarebbe solo destinato a Itch.io, può ancora se lo vuole pubblicare un gioco su Steam. E questo non è di per se un male, anzi, però mi chiedo se affrontare il passo di andare su Steam sia effettivamente sensato dato che oggi non ha alcun effetto vetrina e l’unico vero vantaggio è il poter distribuire le chiavi magari in bundle da un dollaro.

Primi Caricamenti e Ripartizione dei Collegi per Regione

Completata la fase di salvataggio su file ho ricostruito anche le funzioni per caricare i Partiti e le issue. Ho deciso di salvare le Issue come singoli file per eventuali aggiunte future.
Per ora questi file sono posizionati nella cartella StreamingAssets, come sottocartelle. Il sistema va a leggere tutti i file presenti nelle cartelle e se formattati correttamente li carica.

Per ora il sistema funziona come previsto, ma è necessario qualche tipo di verifica sulla qualità dei dati, in particolare sulle issue. Mi piace l’idea che gli oggetti Issue siano configurabili esternamente, ma questo pone dei problemi nel consolidare i dati con quelli del resto del sistema.

Oltre alla questione di salvataggio e caricamento in questi giorni ho pensato di ristrutturare la struttura dei collegi in modo da essere divisa in provincie e regioni: al momento non è ancora presente una mappa della reale ripartizione dei collegi del Rosatellum, e per questo ho ripartito arbitrariamente i collegi nelle province basandomi sulla popolazione totale. Per regione ho questa ripartizione

Abruzzo 4
Basilicata 2
Calabria 8
Campania 23
Emilia Romagna 18
Friuli Venezia Giulia 5
Lazio 22
Liguria 6
Lombardia 37
Marche 6
Molise 1
Piemonte 15
Puglia 16
Sardegna 7
Trentino Alto Adige 4
Toscana 15
Umbria 4
Valle d’Aosta 1
Veneto 18