2009-07-28 11 views

risposta

11

Come avrete già capito, il componente principale di questi giochi è il motore di simulazione partita. Come Spence said so, vuoi che la simulazione "guardi bene" piuttosto che "abbia ragione".

Ho lavorato a una simulazione di gioco di rugby qualche tempo fa e c'è un approccio che funziona abbastanza bene. La tua partita è una macchina a stati finiti. Ogni fase di gioco è uno stato, ha un risultato che si traduce in una transizione di fase o cambiamenti nello stato di gioco (punteggio, sostituzioni, ...). Aggiungi un sistema di eventi/ascoltatori per gestire cose che non sono strettamente correlate alla struttura del gioco che stai simulando e hai una buona struttura (ogni volta che succede qualcosa nella tua simulazione, un fallo per esempio, lancia un evento, il gli ascoltatori possono essere un sistema di generazione di commenti o un AI responsabile delle strategie dei team).

Puoi iniziare con un motore di simulazione approssimativo che gestisce le cose a livello di squadra utilizzando una media delle statistiche dei tuoi giocatori e poi passa a qualcosa di più dettagliato che simula le cose a livello di giocatore. Penso che quel tipo di approccio iterativo si adatta molto bene a una simulazione di gioco, perché vuoi che abbia un aspetto corretto, e non appena un elemento sembra giusto puoi smettere di iterarlo su di esso e lavorare su un'altra parte del tuo sistema.

Il random è ovviamente parte del gioco perché, come hai detto tu, non vuoi che i giochi siano troppo prevedibili. Una cosa molto semplice da fare è avere tiri di dadi virtuali contro le statistiche di un giocatore e di una squadra quando eseguono una determinata azione (lanciare la palla per esempio).

Modifica: presumo che stiamo parlando di giochi di gestione come Hattrick, in cui gestisci un roster e simulando risultati di gioco piuttosto che simulazioni grafiche 2D/3D.

+1

Sì, dovrebbe essere un gioco di gestione. – Victor

4

Di solito il tempismo più una casualità per rendere il gioco ripetibile EDIT Per chiarire intendo in termini di quando il tiro arriva a te, se fosse esatto potresti imparare a suonarlo perfettamente, avresti bisogno di una piccola casualità attorno all'esatto tempo in cui oscillate per fare in modo che il gioco abbia qualche possibilità). L'intelligenza artificiale ha un ruolo importante in questo se fai cose come palle di curva, aggiungi la capacità di rubare basi ecc.

Ottenere giochi "giusti" non è un fattore di progettazione o di matematica tanto quanto una sensazione. Proverai qualcosa, suonalo e vedrai se è stato divertente. Se non provi diversi algoritmi o gameplay fino a quando non lo fai nel modo giusto.

+0

Si potrebbe desiderare di chiarire che un po 'con un esempio, qualcosa come "Say si sta modellando il ruolo del battitore; Al fine di determinare quale tipo di colpo che hai si dovrebbe calcolare un risultato casuale basato sui tempi del campo, migliori sono i tempi maggiori sono le possibilità di un colpo migliore ". – RCIX

+0

Rilasciare spesso, rilasciare presto, qualcosa del genere. – Victor

13

Si tratta di probabilità e statistiche. Si imposta la possibilità che qualcosa avvenga in base ad alcuni attributi che si assegnano, e quindi il fattore casuale arriva durante il gioco per rendere le cose meno prevedibili e più divertenti. Generalmente ottieni un carico di statistiche da una fonte esterna, le codifichi nel database del tuo gioco e scrivi un sistema che confronta i numeri casuali con queste statistiche per generare risultati che approssimano le osservazioni della vita reale su cui si basavano le statistiche.

Esempio semplificato: si dice che il tuo gioco abbia Babe Ruth che colpisce una corsa a casa l'8,5% delle volte e un ragazzo minore che colpisce il 4% delle volte. Questi sono gli attributi a cui ti confronti. Quindi, per ogni passo che simuli, scegli un numero casuale compreso tra 0 e 100%. Se è inferiore o uguale all'attributo, il battitore segna una corsa in casa, se è maggiore dell'attributo, non lo fa. Dopo pochi lanci inizierai a vedere lo spettacolo di qualità di Babe Ruth rispetto all'altro, dato che tenderà a colpire più del doppio delle corse casalinghe.

In realtà avresti più di 1 attributo per questo, a seconda del tipo di pitching per esempio. E l'altro giocatore potrebbe scegliere quali lanciatori di sollievo usare per provare e sfruttare le debolezze nelle abilità del battitore. Quindi il gameplay deriva dall'interazione tra questi vari attributi, con te che cerchi di massimizzare la possibilità che i test degli attributi funzionino a tuo favore.

PS. Mi scuso per eventuali errori riguardanti il ​​baseball: sono inglese, quindi non ci si può aspettare che capisca queste cose. ;)

+2

In realtà hai una buona conoscenza del baseball. Bel post. – Victor

+2

+1 @Kylotan: Penso che tu abbia effettivamente messo a fuoco le meccaniche di gioco di uno sport-sim migliore della risposta che l'OP ha accolto. È un mucchio di statistiche + i giocatori prendono decisioni su quali statistiche lanciare l'una contro l'altra. I giocatori che prendono le decisioni migliori, ad esempio chi schierare in una partita, vinceranno più spesso di quelli che non lo fanno. In effetti sarei sorpreso se i team sportivi professionisti non usassero una qualche forma di input guidato dai simulatori per decidere chi schierare nei tornei reali. – bguiz

1

Una cosa grandiosa di creare il proprio gioco è che si arrivare a decidere come la logica di gioco sta andando a lavorare. Se vuoi che il gioco abbia un alto grado di fortuna puoi farlo in modo che lo sia. Se non vuoi che il gioco abbia un alto grado di fortuna, allora puoi progettarlo con il.

È il tuo gioco, è arrivare a fare le regole.

+0

Bello, solo raccogliendo alcune idee. – Victor

1

Stai parlando di una partita di baseball che giochi o di un simulatore di gioco? I giochi di baseball possono essere di tipo arcade o fantastici o una miscela.

Ero a Dynamix quando è stato realizzato il baseball sportivo in prima pagina. Era basato sulle statistiche, il che significa che si potevano giocare partite e stagioni usando le statistiche dei vari giocatori. Ciò significava dare in licenza i dati della Major League. Ha usato le statistiche per influenzare i risultati.

C'era una modalità normale e una modalità "fast-sim" che potrebbe velocizzare i giochi più rapidamente.

+0

È solo un simulatore, senza gameplay. Stavo pensando di creare un gioco arcade, ma sarebbe un progetto diverso. – Victor

+0

Quindi il tuo lavoro sta cercando di far corrispondere le statistiche. Quando esce un colpo, ogni lancio è un lancio di dadi basato sulle statistiche del battitore, sulle statistiche dei lanciatori e, eventualmente, sulle statistiche dei giocatori. – Nosredna

1

Penso che Kylotan abbia la strategia giusta. Il baseball ha statistiche per tutto. Simula un gioco al livello più dettagliato che puoi gestire. Combina le statistiche del giocatore per determinare una percentuale di possibilità per ogni risultato. Usa casualità per decidere il risultato.

Ad esempio: la possibilità di un colpo si basa su Batting Average, Pitcher's ERA, ecc. La percentuale di percussione della squadra avversaria determina la possibilità che un out diventi un errore.

Ogni statistica visualizzata al "manager" quando si selezionano le formazioni dovrebbe avere un qualche effetto sul gameplay, altrimenti il ​​manager sta prendendo decisioni basate su informazioni fuorvianti.