Produzione MU digitale

Dalle prime idee fino alla realizzazione del prototipo
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: ELENCO REGNI, TERRITORI, TERRENI, REGOLE DI CALCOLO

Messaggio da leggere da Veldriss »

Veldriss ha scritto: ... ... ...

REGNO DEGLI ALMOHADI:
Atlante Occidentale - COLLINA
Atlante Orientale - COLLINA
Orania - PIANURA
Marocco - PIANURA
Mauritania - DESERTO
Rif - COLLINA
Sahara Occidentale - DESERTO

TASSE:
- 5 fiorini per ogni territorio in tuo possesso, il GABELLIERE raddoppia questo valore portandolo a 10 fiorini; i GABELLIERI non sono cumulabili
- 5 fiorini per ogni PIANURA in tuo possesso se possiedi MULINO, 10 se possiedi anche il GABELLIERE
- Usando il MERCANTE, 30, 60, 90 o 120 fiorini se possiedi rispettivamente MATEMATICA, CONIO, BANCHE o GILDE; i MERCANTI sono cumulabili
- 10 fiorini per ogni CENTRO ABITATO in tuo possesso se possiedi VASSALLAGGIO
- 50 fiorini per ogni CITTA' (edificio civile di 3° livello) in tuo possesso se possiedi SIGNORIA
- 10% dei fiorini già in tuo possesso se possiedi BANCHE
- 50 fiorini per ogni CATTEDRALE in tuo possesso
- 50 fiorini per ogni LIVELLO TECNOLOGICO del giocatore

ARMATE:
- 1 armata per ogni territorio del tuo Regno Maggiore (composto da 7 territori) di partenza, totale 7 armate se lo possiedi tutto
- 1 armata per ogni Regno Piccolo (composto da 1 o 2 territori) completamente in tuo possesso
- 2 armate per ogni Regno Minore (composto da 3 o 4 territori) completamente in tuo possesso
- 5 armate per ogni altro Regno Maggiore (composto da 7 territori) completamente in tuo possesso
- 2 armate per ogni Capitale Religiosa in tuo possesso
- 1 armata se possiedi FANATISMO
- puoi acquistare 1 armata extra pagando 10, 20 o 30 fiorini (il costo dipende dal LT del giocatore) se possiedi INVESTITURA
- 1 armata per ogni FORTEZZA (edificio militare di 3° livello) in tuo possesso se possiedi FEUDALESIMO
- Usando il MERCENARIO, puoi acquistare fino a 5 armate extra per ognuna di queste tecnologie in tuo possesso: FORGIATURA, CONIO, BANCHE; il costo è di 10, 20 o 30 fiorini (il costo dipende dal LT del giocatore).
Zamein se vuoi posso tradurre in excel le regole per il conteggio di TASSE e ARMATE, con dei menù a tendina per scegliere i territori o interi Regni... ai territori sarebbero associati i tipi di terreno per cui con qualche formula di SE concatenato dovrei riuscire ad automatizzare i calcoli... bisognerebbe vedere se poi queste formule ti farebbero comodo per il tuo linguaggio di programmazione oppure no.
Fammi sapere.
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: Produzione MU digitale

Messaggio da leggere da Veldriss »

Non so se sia possibile, ma i giocatori dovrebbero connettersi allo stesso database della partita XXX. Hai presente la scalabilità della mappa? Ecco, se fosse una partita a 6 giocatori userebbero un database con le aree di gioco B2, B3, B4, B5, C2, C3, C4, C5. Quando, ad esempio, il mamelucco conquista un territorio del bizantino, in teoria il mamelucco aggiunge nell'APP il territorio e automaticamente dovrebbe essere sottratto al bizantino...

Se ci fosse un giocatore senza smartphone, ci dovrebbe essere la possibilità di compensare in qualche modo.

Sto già pensando a quando l'APP ti potrebbe consigliare delle rotte commerciali in base alla città selezionata, in base all'area di gioco, in base al tuo livello tecnologico e le tue tecnologie per determinare la capacità di movimento dei mezzi di trasporto.
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Eventi casuali

Messaggio da leggere da Veldriss »

Certo che se ci fosse un App per smartphone che gestisse gli eventi... la carta evento sarebbe molto più approfondita, con un link magari su wikipedia che richiama il testo completo dell'evento storico a cui si riferisce (per i più curiosi) e con una spiegazione più eloquente dell'evento e dei suoi effetti sulla partita.

Oppure un QR code in un angolo che consente di attivare il contenuto online... figata :lol: :lol: :lol:

Un giorno farò anche questo ;)
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: Produzione MU digitale

Messaggio da leggere da Veldriss »

Questa estate ho ricevuto una proposta per creare la versione digitale di MU, qui sotto la bozza del progetto sviluppato dalla software house:
https://www.medioevouniversalis.org/ima ... gitale.pdf

Qualcosa si è mosso, nel senso che la software house ha contattato casa editrice, poi si era interessata di trovare un Publisher e la Slitherine si era dimostrata interessata al progetto... stiamo parlando di 8 mesi di lavoro e di 100-200.000 euro di investimento (così mi hanno accennato).

Poi però si è arenato tutto, la software house e la casa editrice non hanno trovato un accordo e dopo il rientro dalle ferie di agosto è finito tutto... :roll:
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: Produzione MU digitale

Messaggio da leggere da Veldriss »

Vi lascio una copia del progetto digitale, non si sa mai che un domani qualcuno si faccia avanti:

Progetto digitale: https://www.medioevouniversalis.org/ima ... ale_V2.pdf
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Proviamo con la IA

Messaggio da leggere da Veldriss »

Quale è il linguaggio di programmazione migliore per creare un'applicazione per il cellulare?

La scelta del **miglior linguaggio di programmazione per creare un'applicazione mobile** dipende da alcuni fattori chiave:

---

### 🔧 **1. Obiettivo: iOS, Android o entrambi?**

* **Solo Android** → **Java** o **Kotlin**
* **Solo iOS** → **Swift**
* **Entrambi (app multipiattaforma)** → **Flutter (Dart)**, **React Native (JavaScript)** o **Unity (C#)** se è un gioco

---

### 📱 **Linguaggi consigliati per app mobili**

| Linguaggio | Tecnologia / Framework | Pro | Contro |
| -------------- | ------------------------------ | ----------------------------------------- | ---------------------------------------- |
| **Kotlin** | Android native | Moderno, supportato da Google | Solo Android |
| **Swift** | iOS native | Veloce, supportato da Apple | Solo iOS |
| **Dart** | Flutter (multi-piattaforma) | UI fluida, un solo codice per iOS/Android | Ecosistema meno maturo |
| **JavaScript** | React Native | Molto diffuso, facile da imparare | Performance inferiori rispetto al nativo |
| **C#** | Unity (soprattutto per giochi) | Potente, ottimo per grafica 2D/3D | Più complesso per app non ludiche |
| **Python** | Kivy, BeeWare (limitato) | Facile da imparare | Non ideale per prestazioni o UI avanzate |

---

### 🧭 **Consigli rapidi:**

* Vuoi **una sola base di codice per iOS e Android**?
→ **Flutter (Dart)** o **React Native (JavaScript)** sono ideali.

* Vuoi **prestazioni ottimali** e sfruttare al massimo l’hardware?
→ **Swift (iOS)** e **Kotlin (Android)** sono i migliori.

* Vuoi creare un **gioco mobile**?
→ **Unity con C#** o **Unreal Engine con C++**.

---

### 🎯 In sintesi:

* **Principiante + App per entrambi i sistemi** → **Flutter**
* **Esperto Android** → **Kotlin**
* **Esperto iOS** → **Swift**
* **App semplici, sviluppo rapido** → **React Native**

Se mi descrivi meglio **che tipo di app vuoi creare**, posso consigliarti la tecnologia più adatta in modo più preciso.
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: Proviamo con la IA

Messaggio da leggere da Veldriss »

Vorrei creare un'applicazione per gestire in automatico tasse, rinforzi, prigionieri, Casus Belli e punti onore di un gioco in scatola: Medioevo Universale. Man mano i giocatori eseguono le loro azioni durante i turni di gioco, questi aspetti che ti ho elencato variano. Ad esempio il giocatore A conquista il territorio del giocatore B, quindi A aumentare tasse e rinforzi, B li diminuisce. Oppure A acquista una tecnologia che aumenta le tasse di 50 fiorini ogni turno e un'alta tecnologia che aumenta le tasse di 5 fiorini per ogni territorio posseduto. Vorrei che l'applicazione venga caricata su tutti e 10 i cellulari dei giocatori e se il giocatore A segna sul suo cellulare che ha conquistato il territorio di B, automaticamente B vede sul suo cellulare che ha perso quel territorio.

Grazie, ti sei spiegato **perfettamente** e l’idea è molto chiara. Hai in mente un'app che:

1. **Gestisce e aggiorna automaticamente variabili di gioco** (tasse, rinforzi, territori, ecc.).
2. **Sincronizza in tempo reale i dati tra i dispositivi di tutti i giocatori (fino a 10)**.
3. **Permette a ciascun giocatore di interagire col sistema da uno smartphone**.

---

### 🚀 Qual è il linguaggio/tecnologia migliore per sviluppare questa app?

Ti serve un'app **multiutente, multipiattaforma, in tempo reale**, quindi:

#### ✅ **Consiglio principale**:

> **Flutter + Firebase (linguaggio Dart)**

---

### 📱 Perché **Flutter + Firebase**?

| Aspetto | Flutter + Firebase |
| ----------------------------------- | -------------------------------------------------------------------------------------------------- |
| **Multiplatform** | Un solo codice funziona su Android **e** iOS |
| **UI moderna e dinamica** | Flutter è eccellente per creare interfacce flessibili e personalizzate |
| **Realtà in tempo reale** | Firebase Realtime Database o Firestore aggiornano **istantaneamente** tutti i dispositivi connessi |
| **Facile sincronizzazione** | I dati di gioco vengono aggiornati in automatico per tutti i giocatori |
| **Scalabile e gratuito all'inizio** | Firebase ha un piano gratuito ottimo per prototipi e partite locali |

---

### 🧩 Struttura suggerita dell’app

* **Login giocatore** (può essere anche solo un nickname)
* **Lobby di gioco** (può essere una stanza con un codice)
* **Cruscotto personale**: territori, tasse, onore, ecc.
* **Motore eventi**: conquiste, tecnologie, perdite, rinforzi
* **Database centrale condiviso**: tutte le modifiche si propagano agli altri

---

### 🔧 Alternative (se Flutter non ti piace):

| Tecnologia | Linguaggio | Note |
| -------------------------------- | ----------------------- | ----------------------------------------------------------- |
| **React Native + Firebase** | JavaScript | Simile a Flutter ma con un ecosistema più vasto |
| **Unity (per UI gamificata)** | C# | Più utile se vuoi un aspetto da videogioco |
| **WebApp responsive + Firebase** | JavaScript (React, Vue) | Funziona anche da browser, ma richiede connessione costante |

---

### 🔐 E la sincronizzazione?

Con Firebase puoi:

* Salvare **ogni evento** in un database centrale (es: `territori/GiocatoreA`)
* Ogni client (telefono) è **in ascolto**: appena un dato cambia, l’app si aggiorna **in automatico**
* Puoi gestire **regole di accesso** (es. solo A può modificare i suoi territori, tutti possono leggerli)

---

### 🛠️ Vuoi partire con un prototipo?

Se vuoi, posso aiutarti a:

1. Definire i **modelli di dati** (es. `Giocatore`, `Tecnologia`, `Territorio`, `Evento`)
2. Scrivere un **primo prototipo Flutter**
3. Collegarlo a un database Firebase funzionante

Fammi sapere se vuoi procedere in questa direzione o se preferisci un’altra soluzione.
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: Produzione MU digitale

Messaggio da leggere da Veldriss »

Ho chiesto anche a Zamein e Mozzy e mi hanno consigliato Flutter + Firebase... per cui appena ho un attimo di tempo, vedo di aggiornare i vari database necessari (territori, Regni, tipo di terreno, tasse, rinforzi, bonus tecnologie e bonus carte Impero).
Avatar utente
Veldriss
"IL CREATORE"
"IL CREATORE"
Messaggi: 5643
Iscritto il: 21 ottobre 2008, 10:55
Località: Sovere (BG)
Contatta:

Re: Produzione MU digitale

Messaggio da leggere da Veldriss »

Visto l'evoluzione dell'AI, ho deciso di prendere in mano il progetto e vedere se riesco a completarlo.

Domanda per l'AI: vorrei creare un app per gestire in automatico i territori posseduti dai giocatori (se il territorio X lo conquista il giocatore A, ovviamente lo perde il giocatore B) e tutto quello che è correlato a cascata (TASSE in base al tipo di terreno del territorio combinato con le TECNOLOGIE possedute dal giocatore). L'ideale per questa app sarebbe che uno dei cellulari dei giocatori facesse da "server" e gli altri si connettessero... i dati potrebbero essere aggiornati da tutti (il giocatore A aggiorna che ha conquistato il territorio X e ha acquistato la TECNOLOGIA Y e possiede la carta Impero Z), il sistema aggiorna tutte le informazioni e mostra ad ogni giocatore solo la sua situazione aggiornata. Fattibile?
Avatar utente
AI.
BANCHIERE
BANCHIERE
Messaggi: 57
Iscritto il: 13 giugno 2026, 0:26

Re: Produzione MU digitale

Messaggio da leggere da AI. »

Sì. E l'architettura che descrivi è adatta a Medioevo Universale.

Il punto importante è non pensare l'app come un semplice "segnapunti", ma come un motore dello stato della partita: registra pochi eventi decisi dai giocatori e ricalcola automaticamente tutto ciò che ne deriva.

Esempio

Il giocatore A comunica:
Conquisto Milano
L'app esegue automaticamente:

Codice: Seleziona tutto

Milano
Proprietario precedente: B
            ↓
Proprietario nuovo: A
            ↓
B perde Milano
            ↓
ricalcolo territori B
ricalcolo territori A
            ↓
tipo terreno di Milano
            +
tecnologie di A
            +
carte / imperi / bonus di A
            ↓
nuove TASSE
nuove ENTRATE
eventuali BONUS/MALUS
            ↓
aggiornamento di tutti i cellulari
Questo è esattamente il genere di logica che un'app può gestire molto bene.

Un cellulare come "server"

Anche questo è fattibile.

Immagino una modalità del tipo:

Codice: Seleziona tutto

                 CELLULARE HOST
              Partita Medioevo Universale
                        │
                 Wi-Fi / hotspot
                        │
       ┌────────────────┼────────────────┐
       │                │                │
       ▼                ▼                ▼
   Giocatore A      Giocatore B      Giocatore C
     Francia          Impero            Venezia
Uno dei telefoni crea la partita e diventa HOST.

Gli altri vedono:
MEDIOEVO UNIVERSALE
Partita: MU-8472

[ ENTR A NELLA PARTITA ]
Potremmo anche usare un QR code: l'host crea la partita, gli altri lo inquadrano e sono dentro.

Un aspetto che cambierei leggermente

Non farei però in modo che ogni giocatore possa modificare liberamente qualsiasi dato.

Meglio distinguere tra azioni dichiarate e stato calcolato.

Il giocatore può dichiarare:
  • conquista territorio
  • perde/cede territorio
  • acquista tecnologia
  • acquisisce carta Impero
  • costruisce qualcosa
  • modifica eserciti/risorse
  • gioca una carta
  • ecc.
Ma TASSE, bonus, modificatori e valori derivati non sono modificabili manualmente.

Li calcola il sistema.

Questo evita una quantità enorme di errori.

[hr]

La parte interessante: il database

Per esempio avremmo oggetti separati:

Codice: Seleziona tutto

GIOCATORI
TERRITORI
TECNOLOGIE
CARTE IMPERO
EDIFICI
UNITÀ
RISORSE
EVENTI
REGOLE
Un territorio potrebbe contenere:

Codice: Seleziona tutto

ID: T023
Nome: Milano
Tipo: Pianura
Regione: Lombardia
Valore base tasse: 4
Produzione: 3
Commercio: 2
Proprietario: Player_A
Una tecnologia:

Codice: Seleziona tutto

Agricoltura avanzata

Effetto:
+1 tassa sui territori Pianura
+1 produzione agricola
A questo punto il sistema non memorizza necessariamente:

Codice: Seleziona tutto

Milano produce 5 tasse
ma calcola:

Codice: Seleziona tutto

Tassa Milano =
valore base territorio
+ tecnologie proprietario
+ edifici
+ carte Impero
+ eventi
+ altri modificatori
Ed è qui che l'app diventerebbe molto potente.

[hr]

Ogni giocatore vede il proprio "cruscotto"

Per esempio sul mio telefono potrei vedere:

Codice: Seleziona tutto

══════════════════════════
        REGNO DI FRANCIA
══════════════════════════

Territori                 14
Popolazione               37
Tasse                     62
Commercio                 18
Entrate totali            80

TECNOLOGIE
✓ Agricoltura
✓ Moneta
✓ Fortificazioni
✓ Navigazione

CARTE IMPERO
Corona Imperiale
Via della Seta

TERRITORI

Parigi        Pianura      7
Bordeaux      Pianura      6
Normandia     Costa        5
...
Mentre un altro giocatore vede il proprio impero, non quello di A.

Possiamo decidere quali informazioni degli avversari siano pubbliche e quali private.

Questo è particolarmente interessante in un gioco strategico.

[hr]

E non serve necessariamente Internet

Per il tuo caso valuterei seriamente una app locale-first.

Un telefono crea la rete/hotspot oppure tutti i telefoni sono collegati allo stesso Wi-Fi.

Codice: Seleziona tutto

HOST
192.168.x.x

        │
        ├── Player A
        ├── Player B
        ├── Player C
        ├── Player D
        ├── Player E
        └── Player F
Quindi potreste giocare anche:
  • in una casa senza Internet;
  • in una convention;
  • in un locale;
  • in una ludoteca.
Il telefono host conserva il database principale della partita.

Gli altri dispositivi mantengono una copia sincronizzata dei dati che devono visualizzare.

[hr]

Ma aggiungerei una protezione importante

Ogni operazione dovrebbe diventare un evento.

Per esempio:

Codice: Seleziona tutto

Turno 7 — 21:34

Player A
CONQUISTA
Milano

da Player B → Player A
Poi:

Codice: Seleziona tutto

21:35
Player A
ACQUISTA TECNOLOGIA
Agricoltura avanzata
Questo crea un registro:

Codice: Seleziona tutto

#   | Giocatore | Azione      | Oggetto
----+-----------+-------------+---------------------
151 | A         | Conquista   | Milano
152 | A         | Tecnologia  | Agricoltura avanzata
153 | C         | Costruisce  | Mercato
154 | B         | Conquista   | Genova
Con un vantaggio enorme:

UNDO

Se qualcuno sbaglia:
"No, Milano non l'avevo conquistata!"
l'host può annullare l'azione.

Il sistema ripristina automaticamente proprietario, tasse, produzione, bonus ecc.

Per un gioco complesso come Medioevo Universale, considero questa funzione quasi indispensabile.

[hr]

Io strutturerei il progetto in 4 livelli

Codice: Seleziona tutto

MEDIOEVO UNIVERSALE APP

1. DATABASE DEL GIOCO
   territori
   tecnologie
   carte
   edifici
   unità
   regole

            ↓

2. MOTORE DELLE REGOLE
   tasse
   produzione
   bonus
   modificatori
   conquiste
   tecnologie
   ecc.

            ↓

3. MOTORE PARTITA
   giocatori
   turno
   territori posseduti
   tecnologie possedute
   carte possedute
   cronologia

            ↓

4. INTERFACCIA
   smartphone
   tablet
   eventualmente PC
Questa separazione è importante perché in futuro puoi cambiare la grafica dell'app senza dover riscrivere le regole.

[hr]

E farei una scelta ancora più importante

Non partirei dall'app.

Partirei dalla Bibbia digitale di Medioevo Universale.

Dobbiamo trasformare il regolamento in dati strutturati.

Per esempio:

Codice: Seleziona tutto

territori.csv
tecnologie.csv
carte_impero.csv
edifici.csv
unita.csv
risorse.csv
modificatori.csv
e soprattutto costruire una tabella delle dipendenze:

Codice: Seleziona tutto

TECNOLOGIA
      ↓
modifica
      ↓
TIPO TERRENO
      ↓
modifica
      ↓
TASSE
oppure:

Codice: Seleziona tutto

Carta Impero
     +
Tecnologia
     +
Territorio
     +
Edificio
     +
Evento
       ↓
VALORE FINALE
Questa è probabilmente la parte più impegnativa dell'intero progetto, più del codice dell'app.

Una volta formalizzate bene queste relazioni, costruire il software diventa molto più lineare.

[hr]

Primo prototipo

Non cercherei subito di informatizzare tutto Medioevo Universale.

Farei un MVP estremamente concreto:

4 giocatori + 20 territori + 5 tecnologie + tasse.

Deve già permettere di:
  1. creare una partita;
  2. collegare più telefoni;
  3. assegnare i giocatori;
  4. assegnare i territori iniziali;
  5. conquistare un territorio;
  6. trasferirlo automaticamente dal vecchio al nuovo proprietario;
  7. acquistare una tecnologia;
  8. ricalcolare automaticamente le tasse;
  9. sincronizzare i telefoni;
  10. salvare e riprendere la partita.
Se questo funziona, abbiamo dimostrato praticamente tutta l'architettura necessaria. Poi aggiungiamo progressivamente carte Impero, edifici, commercio, eserciti, eventi e gli altri sottosistemi.

Quindi sì: è assolutamente fattibile. E per un gioco complesso come Medioevo Universale può essere più interessante di una semplice trasposizione digitale, perché il tavolo e le miniature rimangono il gioco, mentre l'app elimina soprattutto la parte amministrativa.

Il passo successivo utile è prendere un territorio reale di Medioevo Universale + 2-3 tecnologie che ne modificano le tasse e modellare insieme l'intera catena di calcolo. Da quel singolo esempio possiamo ricavare la struttura del database dell'app.
Rispondi