Come posso garantire che i livelli procedurali in un RTS siano equi?


10

Ho visto che la simmetria e la coerenza sono importanti nella progettazione del livello RTS, ma sono pigro e voglio fare livelli generati proceduralmente.

Come posso assicurarmi di generare un campo di gioco equo durante la creazione procedurale di livelli per un RTS?


4
Viene gradualmente seppellito con l'età, ma consiglierei di cercare informazioni su come funzionavano gli script di generazione di mappe casuali nei giochi di Age of Empires. Questi erano file di testo che i giocatori potevano modificare descrivendo come generare mappe schermaglia di diversi tipi. Ricordo che disponevano di metodi per deporre patch e ammassi di particolari terreni / oggetti di scena, per posizionare in modo equo cose come risorse in modo da garantirne la disponibilità e per scolpire percorsi attraverso il terreno per garantire che i giocatori potessero raggiungersi. Imparare come hanno funzionato le loro ricette dovrebbe darti alcune idee per te.
DMGregory

2
Non menzionate se il vostro RTS è singolo o multiplayer. Se single, un certo livello di bilanciamento può essere fatto modificando il comportamento dell'IA per adattarlo alle abilità del giocatore. In altre parole, l'intelligenza artificiale può avere accesso a più risorse rispetto al giocatore, ma il gioco regola l'aggressività con cui utilizza tali risorse in base all'aggressività con cui il giocatore attacca o sfrutta le proprie risorse.
Mark Ripley,

1
Per aggiungere a ciò che Mark ha detto, che tipo di equilibrio stai cercando? Cosa stai usando le mappe per realizzare?
Nicol Bolas,

Risposte:


26

Personalmente, trovo che la simmetria nella progettazione dei livelli sia noiosa e non penso che sia necessariamente necessario per livelli equi; la simmetria è un modo per garantire che tutti abbiano accesso alle stesse risorse e alle stesse strozzature in virtù del livello letteralmente rispecchiato per ogni giocatore in qualche modo. Penso che la parte importante sia l'accesso (approssimativamente) agli stessi vantaggi e svantaggi. Non tanto la simmetria stessa.

Penso anche che un gioco equilibrato in modo tale che tutte le parti abbiano una potenza equivalente e abbiano pari opportunità è noioso. Ovviamente non vuoi uno squilibrio totale di questi fattori, ma penso che possa creare un'interessante dinamica di gioco per offrire ad ogni lato opportunità e blocchi leggermente diversi.

Questo è il tipo di contesto progettuale che sto pensando a inquadrare la risposta effettiva alla domanda:


Se la simmetria conta davvero per te, puoi semplicemente generare proceduralmente un pezzo di livello e quindi rispecchiare quel livello su entrambi gli assi. Il blocco che generi è sostanzialmente un quarto del livello e lo specchi in modo che ogni quadrante sia uguale. Ad esempio, una mappa di altezza procedurale con depositi di risorse distribuiti casualmente:

inserisci qui la descrizione dell'immagine

Ma come ho detto sopra, sembra noioso. Un approccio più interessante potrebbe essere quello di generare l'intero terreno proceduralmente, ma quando si posizionano le risorse, assicurarsi di vincolare ciascun quadrante allo stesso numero di ciascuno (entro una certa tolleranza per fornire una certa variabilità). Potresti voler distorcere il posizionamento di vari tipi di risorse verso varie aree (in modo casuale, vicino ai punti di partenza, vicino ai bordi) in base all'importanza delle risorse. Per esempio:

inserisci qui la descrizione dell'immagine

È possibile eseguire analisi sull'immagine generata per provare a trovare i bordi delle caratteristiche, ad esempio canyon stretti, che possono essere considerati colli di bottiglia. Puoi decidere di ripetere il rollback della generazione del terreno per una porzione della mappa se, ad esempio, presenta un numero di colli di bottiglia molto maggiore o minore o caratteristiche del terreno rilevabili in modo simile rispetto ad altri. Puoi anche fare un'analisi del terreno simile per assicurarti che ogni risorsa posizionata sia, in qualche modo, raggiungibile.

Ad esempio, puoi decidere di ripetere il rollback del quadrante in basso a sinistra perché ha troppa acqua (in rosso) o i quadranti che contengono il verde perché sono troppo tatticamente vantaggiosi (potenziali colli di bottiglia nel canyon):

inserisci qui la descrizione dell'immagine

Puoi anche scegliere di guidare manualmente la generazione delle tue funzionalità; puoi posizionare manualmente determinati elementi, come un fiume che divide le sezioni del livello o i depositi di risorse chiave, ed eseguire successivamente la generazione procedurale in modo tale da preservare le caratteristiche di bilanciamento chiave posizionate a mano pur fornendo la varietà interessante e organica che desideri di generazione procedurale.

Ad esempio, un terreno generato che conserva un fiume posizionato manualmente che divide la mappa a metà e una copertura boscosa ha fornito una difesa aggiuntiva attorno alle basi:

inserisci qui la descrizione dell'immagine


2
Grazie, funzionerà bene con il mio sistema di blocchi. Le persone sembrano confuse dalla mia affermazione "ma sono pigro". Non sono un artista e trovo più interessante la generazione di rumore e mesh.
James Pae,

2
@JamesPae: " Im no artist " Il design dei livelli non riguarda l' arte . Riguarda il gameplay. Quindi la domanda è: ti piace progettare giochi?
Nicol Bolas,

8
@JamesPae se non riesci a creare un livello divertente, avrai un momento molto difficile rendere divertente il tuo livello generato proceduralmente. Ti suggerisco di fabbricare almeno un livello in modo da poter imparare cosa sarà divertente prima di scrivere il tuo generatore
Evorlor

2
@Evorlor sta dicendo che non gli piace, non che non possa farlo. Perché tutti ignorano questo punto per tutto il tempo?
Assapora il

5
Perché tutti prendono tutto alla lettera? Stava chiaramente scherzando con quella frase. Capisco il punto di vista del PO, sì, potrebbero fabbricare a mano alcuni livelli, ma poi hai ancora tutti i livelli che hai creato. Se impieghi lo stesso sforzo per creare un buon generatore di livelli, hai livelli potenzialmente infiniti da usare. Le persone hanno mentalità e opinioni diverse. Ad alcuni potrebbe piacere fabbricare a mano grandi livelli, ad altri potrebbe piacere davvero approfondire la creazione di un grande generatore di livelli.
JamEngulfer,

7

In alcuni casi, potrebbe essere possibile fare affidamento sui giocatori stessi per costruire mappe asimmetriche bilanciate utilizzando la meccanica di manipolazione delle tessere.

A un'estremità dello spettro, puoi consentire ai giocatori di creare la mappa, parzialmente o interamente, selezionando e posizionando le tessere della mappa. Esistono diversi modi in cui questo può essere modificato:

  • i giocatori scelgono da un comune mazzo di tessere
  • i livelli selezionano da un mazzo personale di tessere
  • le tessere vengono selezionate tramite una fase di disegno
  • alcune tessere potrebbero essere risolte in anticipo tramite lo scenario (ovvero genera sempre un fiume a ponte attraverso il centro della mappa)
  • i giocatori acquistano tessere da un mercato centrale con qualche risorsa
  • i giocatori possono o meno avere il permesso di tenere una mano di tessere

All'altra estremità dello spettro di manipolazione delle tessere si sta permettendo ai giocatori di manipolare tessere mappa. In questa soluzione, il gioco inizia con una mappa iniziale. La mappa iniziale potrebbe essere simmetrica o potrebbe essere "abbastanza equa" utilizzando una qualsiasi delle altre risposte.

Successivamente, si verifica una fase di manipolazione della mappa in cui i giocatori possono eseguire alcune delle seguenti operazioni:

  • ruotare una tessera
  • scambiare tessere (adiacente o altro)
  • rispecchia una piastrella
  • spingere una riga o una colonna di tessere (tessera che cade dal bordo attorno)

Queste manipolazioni potrebbero essere eseguite una alla volta, nel qual caso un giocatore avrebbe la possibilità di reagire alle manipolazioni di un altro giocatore, oppure il giocatore potrebbe mettere in coda un elenco di modifiche che vengono eseguite. Inoltre, potresti consentire ai giocatori di manipolare l'intera mappa o limitare le cose alle loro aree di partenza.

Uno svantaggio di questo approccio è che il risultato finale deve essere tutelato da esiti indesiderati - vale a dire la manipolazione di una catena montuosa impraticabile in modo tale che parte della mappa diventi inaccessibile. Le possibili soluzioni per questo inconveniente sono:

  • controllare le mosse potenziali e impedire quelle che portano a risultati illegali
  • permettendo tutte le mosse, ma annullando tutto ciò che è illegale
  • costruire le tessere in modo che nessuna mossa sia illegale
  • progettare altre tecniche di gioco (ad es. movimento) in modo tale che nessuna mossa sia illegale

2

Chiedi al tuo algoritmo di generazione di mappe di generare livelli simmetrici generando un livello, rispecchiandolo e posizionando ciascun giocatore su un lato. Una mappa per quattro giocatori può essere creata eseguendo il mirroring su entrambi gli assi X e Y.

In questo modo la mappa sarà ugualmente buona (o cattiva) per tutti i giocatori. Un effetto collaterale di cui devi essere consapevole è che significa che i giocatori sono consapevoli delle posizioni degli altri giocatori e del layout delle altre parti della mappa dopo aver esplorato il proprio.

Un'altra opzione è quella di generare una mappa senza questo trucco di simmetria, ma quindi mostrare l'intera mappa ai giocatori e fare in modo che ciascun giocatore scelga liberamente la propria posizione di partenza.


1

Un approccio consiste nell'utilizzare altri fattori per bilanciare la mappa. Potresti essere in grado di automatizzarlo utilizzando alcuni algoritmi di analisi delle mappe e fornendo risorse di avvio extra a posizioni ritenute svantaggiate. In alternativa, puoi usare i giocatori stessi per questo passaggio. Un esempio attuale di questo è l'uso dell'asta inversa in modalità rivelazione in Offworld Trading Company (OTC) per fondare il tuo reclamo iniziale (cioè scegliere una posizione base di partenza):

Col passare del tempo, il debito iniziale per la fondazione anticipata diminuisce. Questo alla fine si trasformerà in denaro iniziale se ci vuole un tempo abbastanza lungo per essere trovato dagli ultimi 2 giocatori. Una volta che è rimasto solo un giocatore che non ha fondato il proprio quartier generale, i valori smettono di cambiare e quel giocatore non guadagna più dall'attesa di essere trovato.

Non ricordo se fosse stata l' intervista a 3 Moves Ahead o Game Design Round Table , ma in uno di questi Soren Johnson (lo sviluppatore) afferma che questo meccanico essenzialmente cambia il problema della mappa da "posso trovare prima la posizione migliore" in " quanto è buona la seconda migliore posizione sulla mappa. "

Un vantaggio è che questa soluzione consente mappe altamente asimmetriche. Uno svantaggio è che l'intera mappa viene rivelata a tutti i giocatori, almeno all'inizio. L'approccio OTC rivela anche le posizioni di base dei giocatori. Altri meccanici come le offerte alla cieca, potrebbero evitare di rivelare le posizioni di base.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.