Vai al contenuto

Programmatore per PbEm di Guerre Stellari


Elayne

Messaggio consigliato

Giocando da poco ad un PbEm fantasy, creato da Drokur qui, mi è tornato in mente, che annnnni fa, creai una cosa simile, più avanzata, per Guerre Stellari (in stile Star Wars Rebellion, per intenderci).

Preso da un colpo di nostalgia, ho fatto una ricerca, e ritrovato i fogli che spiegavano il tutto.

E mi sono stupito della qualità del materiale da me fatto!!! :mrgreen:

Infatti adoro l'universo di Guerre Stellari, e avevo sempre voluto ricreare un sistema di gioco similare a Rebellion, ma più ampio a livello di scelte, per rivivere la complessità delle scelte strategiche militari, e dell'universo, e ricreare anche un perfetto "calcolatore di combattimenti spaziali" fedele alla storia delle navi, ecc.

All'epoca, uscivo da 10 anni di giochi famosi del PC come X-Wing, Tie Fighter, e per ultimo, X-Wing Alliance.

Quindi avevo una bella idea di come dovevano funzionare le cose, e, basandomi anche sul simulatore di X-Wing Alliance, e con un grande database di dati, ricreai, da zero, un sistema di calcolo che riproduceva, fedelmente, i risultati del simulatore del videogioco.

Perché allora il mio progetto non vide mai la luce ?

Principalmente perché non trovai un programmatore per farmi un foglio in VisualBasic (o altro) che potesse calcolarmi automaticamente le battaglie spaziali turno per turno, senza che dovessi farlo io a mano o con Excel (cosa dispendiosa in tempo).

Dopo 1 anno di ricerche (e 1 altro anno con un amico che cercò di farlo lui stesso), trovai dopo il famoso gioco online free francese www.ngswing.com, e lasciai perdere.

2 anni dopo, ero capo dell'Impero (e dei suoi 1000 giocatori), e schiacciavo la Ribellione ad ogni partita, ma questa, è un altra storia...

Insomma, come dicevo, ho ritrovato tutta la documentazione, compreso i calcoli da fare, ecc.

C'è qualcuno che sa indicarmi un programmatore per questo progetto ? :mrgreen:

Link al commento
Condividi su altri siti


  • Risposte 12
  • Creato
  • Ultima risposta

Principali partecipanti

Insomma, come dicevo, ho ritrovato tutta la documentazione, compreso i calcoli da fare, ecc.

C'è qualcuno che sa indicarmi un programmatore per questo progetto ? :mrgreen:

Ma cosa bisognerebbe programmare? Perchè non si capisce benissimo...

Potresti spiegarti meglio???

Bye byez :bye:

Link al commento
Condividi su altri siti

Già, infatti.

Ok, mi spiego.

Quello che è da programmare è il "programma di calcolo dei combattimenti spaziali".

Il programma deve riprodure fedelmente quello che farei a mano (ma molto più rapidamente ^^).

Esempio semplice:

3 squadriglie di X-Wing vs. 1 squadriglia di Tie Figher.

In questa battaglia, c'è poco da calcolare: gli X-Wing attaccano i Tie Fighter, e viceversa.

Quindi, una volta inseriti i numeri di X-W e di T/F, si clicca il pulsante del "risultato turno", e il programma calcola i danni inflitti e le perdite.

Il risultato (che non ho sotto mano, ma è un classico) si basa su:

- valori fissi delle navi (statistiche) come "scudi, schivata, attacco laser, scafo"

- valori variabili delle navi come "esperienza piloti", "leadership del comandante"

- valori ulteriori di "supporto", di "rapporti numerici di forza", ecc.

Nel caso descritto, ci sono i primi, e i terzi (rapporti numerici).

Cliccando, magari ottieni che rimangono 10 X-Wing su 12 (una squadriglia = 12 navi) e 26 Tie Fighter su 36.

Se clicchi di nuovo, il programma calcola in automatico (dopo avere fatto una prova di ricarica scudi per gli X-Wing) il secondo turno di combattimento.

Che però non sarà più 3 vs 1, ma nel range 2 vs 1.

Cosi, si va avanti, finché si vuole (o fino all'annientamento di uno schieramento).

Se mi ricordo bene, in rapporto 3 T/F vs. 1 X-W, i T/F vincono di solito, ma di misura, quindi si tratta del punto di "equilibrio" tra le 2 navi.

Basta però una piccola modifica variabile, da una parte o nell'altra, per cambiare l'esito.

Ora, il programma prende in considerazione anche altre variabili, come le navi grosse, il fuoco di sbarramento, i missili, e anche gli ordini dati (che possono cambiare, come nella vita reale, anche in mezzo alla battaglia) ecc.

Per questo dico che non è semplice, ma funzionava molto bene.

Link al commento
Condividi su altri siti

Ora, il programma prende in considerazione anche altre variabili, come le navi grosse, il fuoco di sbarramento, i missili, e anche gli ordini dati (che possono cambiare, come nella vita reale, anche in mezzo alla battaglia) ecc.

Per questo dico che non è semplice, ma funzionava molto bene.

In effetti sembra abbastanza complicato! Io non sono in grado di farlo, mi dispiace!

Bye byez :bye:

Link al commento
Condividi su altri siti

finchè si tratta di calcoli, per quanti complessi siano, io sono in grado di scriverteli in un programmino in C, che poi te fai andare da terminale e ti butta fuori tutti i risultati che vuoi(questo presupponendo che usi il simpatico ubuntu)perché per usare il C da terminale è leggermente diverso in windows... in caso ci do un'occhiata anche a quello(con uso da terminale si intende che tu inserisci i vari dati, invio e ti butta fuori il risultato del combattimento XD)

niente di graficamente piacevole, ma il semplice utilizzo pratico

tutto questo però non ora(sono in fase di trasloco e il primo problema sarebbe trovare il pc) ma con un poco di tempo dovrei riuscire a fare tutto

tutto questo perché... perché amo star warsXD

Link al commento
Condividi su altri siti

Già, infatti.

Ok, mi spiego.

Quello che è da programmare è il "programma di calcolo dei combattimenti spaziali".

Il programma deve riprodure fedelmente quello che farei a mano (ma molto più rapidamente ^^).

Esempio semplice:

3 squadriglie di X-Wing vs. 1 squadriglia di Tie Figher.

In questa battaglia, c'è poco da calcolare: gli X-Wing attaccano i Tie Fighter, e viceversa.

Quindi, una volta inseriti i numeri di X-W e di T/F, si clicca il pulsante del "risultato turno", e il programma calcola i danni inflitti e le perdite.

Il risultato (che non ho sotto mano, ma è un classico) si basa su:

- valori fissi delle navi (statistiche) come "scudi, schivata, attacco laser, scafo"

- valori variabili delle navi come "esperienza piloti", "leadership del comandante"

- valori ulteriori di "supporto", di "rapporti numerici di forza", ecc.

Nel caso descritto, ci sono i primi, e i terzi (rapporti numerici).

Cliccando, magari ottieni che rimangono 10 X-Wing su 12 (una squadriglia = 12 navi) e 26 Tie Fighter su 36.

Se clicchi di nuovo, il programma calcola in automatico (dopo avere fatto una prova di ricarica scudi per gli X-Wing) il secondo turno di combattimento.

Che però non sarà più 3 vs 1, ma nel range 2 vs 1.

Cosi, si va avanti, finché si vuole (o fino all'annientamento di uno schieramento).

Se mi ricordo bene, in rapporto 3 T/F vs. 1 X-W, i T/F vincono di solito, ma di misura, quindi si tratta del punto di "equilibrio" tra le 2 navi.

Basta però una piccola modifica variabile, da una parte o nell'altra, per cambiare l'esito.

Ora, il programma prende in considerazione anche altre variabili, come le navi grosse, il fuoco di sbarramento, i missili, e anche gli ordini dati (che possono cambiare, come nella vita reale, anche in mezzo alla battaglia) ecc.

Per questo dico che non è semplice, ma funzionava molto bene.

Hmmm. Se mi invii i fogli di calcolo posso vedere se riesco a tirarti fuori qualcosa.

Link al commento
Condividi su altri siti

Grazie ragazzi! ^_^

Quello che farò e scrivere ulteriori informazioni e un esempio più preciso e completo (e complesso) qui in questo topic cosi avrete un idea più precisa.

Letto questo, chi è ancora interessato (o volontario) può mandarmi un mp con la sua email, e gli mando il resto del materiale. :mrgreen:

Link al commento
Condividi su altri siti

Ho deciso di mettere il file qui (formato excel), in quanto è solo una prima bozza, che illustra come funziona il combattimento tra Caccia.

In realtà, il foglio excel è (quasi) completo dal punto di vista "Combattimento tra 2 schieramenti di Caccia".

Ma non spiega (ancora) come regolamentare il combattimento con l'aggiunta delle navi grosse, o anche combattimenti con più gruppi di navi in ogni schieramento.

Quindi capirete che, mentre con un foglio excel riesco a fare abbastanza, e calcola tutto in automatico, la cosa diventa molto più complessa con l'aumentare dei gruppi di navi e con tipologie diverse.

Non spiego troppo il file, ma non esitate a fare domande, pure stupide, su di esso qui.

SWLTC Combat Sheet.zip

Link al commento
Condividi su altri siti

Uhm... sarò fesso io, ma non vedo il rapporto 3:1 come vincente di misura per i TF. Vedo invece che almeno 1/3 si salva, il che mi porterebbe a pensare che uno scontro equo sarebbe nel rapporto di 2:1.

Comunque non conoscendo i calcoli, sono solo supposizioni e curiosità teoriche. In ogni caso, penso di poter ricavare un modello abbastanza semplice per i caccia. Me la cavo con il c++, e posso tentare il java per il multipiattaforma. Al di là di questi dettagli tecnici, vorrei invece veder eun esempio di statistiche anche di altre navi.

Link al commento
Condividi su altri siti

Uhm... sarò fesso io, ma non vedo il rapporto 3:1 come vincente di misura per i TF. Vedo invece che almeno 1/3 si salva, il che mi porterebbe a pensare che uno scontro equo sarebbe nel rapporto di 2:1.

Ni.

Non sei fesso, ma non è nemmeno esatto quel che dici.

Quando dicevo che i T/F vincevano di misura in 3vs1, implicavo che, con varie simulazioni sul simulatore di X-Wing Alliance, i T/F iniziavano a vincere appunto solo in 3 vs 1. Vincendo, di solito, con almeno 10 caccia rimasti.

Sotto, perdevano.

"vincere di misura", quindi, non implica un risultato veramente risicato. Il termine era scelto male. (anche perché, arrivato ad un certo punto, 1 nave in più o in meno può fare "palla di neve", e cambiare le sorti della battaglia)

In 2 vs 1, gli X-Wing vincono facilmente.

Per dirla tutta, anche in 35 vs 12, gli X-Wing vincono. O vincono in 36 vs 12 se riescono a ricaricare i scudi il primo round (in questo caso, se non ricordo male, vincono con 4 X-W rimasti).

Ora, il fattore 3 T/F => 1 X-W è un fattore non solo di simulatore, ma anche "sentito" di chiunque abbia giocato a questo tipo di giochi, e anche di logica strategica o di film storici (a parità di esperienza).

In sintesi, un X-W vince contro 3 T/F solo se il pilota è più bravo. Altrimenti perde.

Anche se bastano pochi colpi per eliminare 1 T/F, lo sovranumero sarebbe troppo pesante per permettere al caccia ribelle di sopravvivere.

Comunque, il file excel non è ancora perfetto.

Quando dico che in 35 vs 12, vincono gli X-W, è proprio dovuto a questo.

Cioè, esistono modificatori che ho messo a secondo del rapporto di forze numerico, che vanno ad influire sulla Schivata dei caccia.

Ma questo modificatore non è progressivo/esponenziale: è ad intervalli.

Quindi, il passare da 36 vs 12 (3 vs 1) a 35 vs 12 (sopra i 2 vs 1, ma sotto i 3 vs 1), cambia la schivata, e non di poco, da qui il gap di risultato.

La migliore cosa sarebbe trovare una formula matematica che permetta una modifica progressiva e non a scatti.

è un problema però secondario, e cioè, non trovandone una facile, l'ho per ora accantonato.

Comunque non conoscendo i calcoli, sono solo supposizioni e curiosità teoriche. In ogni caso, penso di poter ricavare un modello abbastanza semplice per i caccia. Me la cavo con il c++, e posso tentare il java per il multipiattaforma. Al di là di questi dettagli tecnici, vorrei invece veder eun esempio di statistiche anche di altre navi.

Siete in 2 ad essere su questo topic, tu e vento_nero. Apparentemente entrambi siete sul C++ (o simile, ora non ricordo).

Non vorrei che fate entrambi lo stesso lavoro, cioè, 2 volte invece di 1. :-)

Sono veramente felice, e grato, che ci sia interesse e aiuto da parte vostra, non fraintendetemi.

Ma è chiaro che non vorrei farvi lavorare per niente, quindi, prima di partire "pesantemente" al riguardo, mettiamoci/mettetevi d'accordo. :-)

E ovviamente, per farlo, c'è tempo: non c'è fretta, e non ho ancora scritto tutto quello che volevo su questo topic.

Seguirà, quindi, a breve, un altro esempio di statistiche, di altri 2 caccia, e 4 navi "grosse".

Quando avrò finita tutta la spiegazione, potrete a questo punto avere un quadro globale di quello che avevo creato, quello che volevo ottenere. Ovviamente, commenti e suggerimenti saranno ben accetti, anche dal punto di vista "teorico". :-)

Link al commento
Condividi su altri siti

Scusate il doppio post.

Ci ho messo un po' di tempo, in quanto mi sono accorto che la tabella stampata non aveva tutte le colonne (che erano descritte nel regolamento), in quanto "nascoste".

Ho dovuto quindi fare una pesante ricerca dati e calcoli per ritrovare le formule.

Ecco comunque il file excel.

è lo stesso di prima, con altre 2 linguette.

Una con qualche esempio di Caccia, e un altra con qualche esempio di nave grosse.

Aspetto ovviamente domande.

SWLTC Combat Sheet.zip

Link al commento
Condividi su altri siti

In 2 vs 1, gli X-Wing vincono facilmente.

Per dirla tutta, anche in 35 vs 12, gli X-Wing vincono. O vincono in 36 vs 12 se riescono a ricaricare i scudi il primo round (in questo caso, se non ricordo male, vincono con 4 X-W rimasti).

Ora, il fattore 3 T/F => 1 X-W è un fattore non solo di simulatore, ma anche "sentito" di chiunque abbia giocato a questo tipo di giochi, e anche di logica strategica o di film storici (a parità di esperienza).

In sintesi, un X-W vince contro 3 T/F solo se il pilota è più bravo. Altrimenti perde.

Anche se bastano pochi colpi per eliminare 1 T/F, lo sovranumero sarebbe troppo pesante per permettere al caccia ribelle di sopravvivere.

Capisco, grazie per la spiegazione... Ci sono un paio di dettagli tecnici che ti dovrò chiedere quando ci metteremo al lavoro (ammesso che abbia le capacità per farlo).

Siete in 2 ad essere su questo topic, tu e vento_nero. Apparentemente entrambi siete sul C++ (o simile, ora non ricordo).

Non vorrei che fate entrambi lo stesso lavoro, cioè, 2 volte invece di 1. :-)

Sono veramente felice, e grato, che ci sia interesse e aiuto da parte vostra, non fraintendetemi.

Ma è chiaro che non vorrei farvi lavorare per niente, quindi, prima di partire "pesantemente" al riguardo, mettiamoci/mettetevi d'accordo. :-)

E ovviamente, per farlo, c'è tempo: non c'è fretta, e non ho ancora scritto tutto quello che volevo su questo topic.

Allor,a per la programmazione non è un problema... se riusciamo a lavorare insieme meglio, altrimenti non lo trovo un problema. Il punto è che personalmente non sono un granchè come programmatore, almeno a livello di interfacce grafiche, non ne ho mai usate. L'unica cosa su cui ci può essere il problema è se vuoi usarlo sia su win che su linux, in quel caso, almeno imho è giocoforza usare il java, che richiederà, da parte mia un minimo di studio in più... Probabilmente posso fare anche due versioni in c++, una compilata per win e l'altra per linux, cosa che mi risolverebbe quallche problema. Comunque, il lato interfaccia grafica è sicuramente il meno... Il mio cruccio maggiore sono le funzioni di calcolo (i valori casuali sono sempre balordi), e dovrò studiare un pochino i metodi di memorizzazione (ovviamente le caratteristiche delle navi verranno salvate in apposito file, devo solo capire che formato utilizzare e come far eil parsing...). In ogni caso, ripeto, non è un problema fare un doppio lavoro, per me...

Seguirà, quindi, a breve, un altro esempio di statistiche, di altri 2 caccia, e 4 navi "grosse".

Quando avrò finita tutta la spiegazione, potrete a questo punto avere un quadro globale di quello che avevo creato, quello che volevo ottenere. Ovviamente, commenti e suggerimenti saranno ben accetti, anche dal punto di vista "teorico". :-)

Perfetto, allora, in primis attendo tutte le spiegazioni del caso, in particolare la cosa più pressante dal punto di vista di programmazione sono le meccaniche, ossia il calcolo dei vari valori e via dicendo. esattamente su che manuale/testo ti basi? vedo di cercarlo, se riesco a rpocurarmelo o se hai un link al volo da cui si possono vedere i conti, posso iniziare a pensare alla struttura del programma.

Link al commento
Condividi su altri siti

Capisco, grazie per la spiegazione... Ci sono un paio di dettagli tecnici che ti dovrò chiedere quando ci metteremo al lavoro (ammesso che abbia le capacità per farlo).

Allor,a per la programmazione non è un problema... se riusciamo a lavorare insieme meglio, altrimenti non lo trovo un problema. Il punto è che personalmente non sono un granchè come programmatore, almeno a livello di interfacce grafiche, non ne ho mai usate. L'unica cosa su cui ci può essere il problema è se vuoi usarlo sia su win che su linux, in quel caso, almeno imho è giocoforza usare il java, che richiederà, da parte mia un minimo di studio in più... Probabilmente posso fare anche due versioni in c++, una compilata per win e l'altra per linux, cosa che mi risolverebbe quallche problema. Comunque, il lato interfaccia grafica è sicuramente il meno... Il mio cruccio maggiore sono le funzioni di calcolo (i valori casuali sono sempre balordi), e dovrò studiare un pochino i metodi di memorizzazione (ovviamente le caratteristiche delle navi verranno salvate in apposito file, devo solo capire che formato utilizzare e come far eil parsing...). In ogni caso, ripeto, non è un problema fare un doppio lavoro, per me...

Perfetto, allora, in primis attendo tutte le spiegazioni del caso, in particolare la cosa più pressante dal punto di vista di programmazione sono le meccaniche, ossia il calcolo dei vari valori e via dicendo. esattamente su che manuale/testo ti basi? vedo di cercarlo, se riesco a rpocurarmelo o se hai un link al volo da cui si possono vedere i conti, posso iniziare a pensare alla struttura del programma.

allora... per quanto riguarda i calcoli fondamentalmente non ho mezzo problema io... il mio problema nasce dalla grafica... non ho mai lavorato programmando qualcosa che doveva essere usato al di fuori del terminaleXD

io fare tutto in C

per quanto riguarda windows e linux... bé, lavorare su linux sarebbe più semplice(ancora meglio ubuntu)

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente registrato per poter lasciare un commento

Crea un account

Crea un nuovo account e registrati nella nostra comunità. È facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.
 

Accedi ora
×
×
  • Crea nuovo...