Cosa significano gli script di gioco (Lua)?


9

Ho letto che Lua è spesso usato per lo scripting incorporato e in particolare il gioco per lo scripting. Trovo difficile immaginare come venga usato esattamente. Puoi descrivere perché e per quali caratteristiche e per quale pubblico viene utilizzato?

Questa domanda non riguarda specificamente Lua, ma piuttosto qualsiasi script incorporato che abbia uno scopo simile allo scripting Lua .

Viene utilizzato dagli utenti finali per apportare modifiche personalizzate? È utilizzato dagli sviluppatori di giochi per accelerare la creazione della logica di gioco (livelli, AI, ...)? Viene utilizzato per scrivere il codice del framework del gioco poiché lo scripting può essere più veloce?

Fondamentalmente mi chiedo quanto sia profondo tra la configurazione semplice e la logica del framework tale utilizzo degli script. E quanto script è fatto. Alcune linee di configurazione o una quantità considerevole?


Risposte:


11

Un linguaggio di scripting in un motore di gioco è lì per esporre il tuo motore di gioco in un modo interpretato di livello superiore.

Prendi un gioco come Skyrim, per esempio. Noterai che ci sono molte missioni e interazioni che si verificano e alcune di queste hanno una logica abbastanza impressionante incorporata in esse, come una guardia che reagisce a te avvicinandoti a un oggetto durante una scena. Queste sono cose che sarebbero difficili da esprimere in un formato di dati puro, e per questo motivo, le missioni e i comportamenti personalizzati sono generalmente espressi come script.

Ci sono anche molti aspetti da considerare: i progettisti di giochi che creano questi script spesso lavorano a un livello di astrazione più elevato rispetto ai programmatori del motore di gioco; non vogliono preoccuparsi dell'allocazione della memoria, ecc. Un linguaggio di script è adatto a loro, e con LUA, in genere chiamano una bella facciata di alto livello del motore. Inoltre, non vuoi ricompilare il tuo gioco ogni volta che vuoi regolare alcuni attributi minuti in uno script.

Oltre a tutto ciò, consentono un facile debugging, modding e tutte le altre cose carine che hai citato.


3

Viene utilizzato dagli utenti finali per apportare modifiche personalizzate?

Può essere utilizzato per una vasta gamma di scopi, dalle semplici configurazioni all'attuazione della maggior parte della logica di fascia alta del gioco, ad esempio dipende dal gioco, ma Lua è solo uno script incorporato. Le persone possono usarlo tanto o quanto vogliono.


1
Alcuni giochi consentono agli utenti finali di implementare i propri script. Oltre all'API pubblica, gli utenti possono implementare componenti aggiuntivi, widget, ecc. Che reagiscono agli eventi di gioco.
Laiv

1
Stavo pensando ai giochi di ruolo MMO :-)
Laiv

1
I MMORPG IMO di @Laiv sono una di quelle cose che sembrano così divertenti da implementare, ma simile a giocarci a lungo, si trasforma in una tale mossa. Il mondo di gioco deve essere così statico in genere o deve esserci un coinvolgimento così attivo da parte dei moderatori del gioco. Penso che i giochi offline siano così, molto più divertenti da sviluppare perché puoi creare un mondo molto dinamico con una storia che effettivamente finisce.

1
No no Anni fa giocavo a Allods Online. Il gioco aveva una piccola API per i giocatori per implementare componenti aggiuntivi e widget. Volevo solo espandere la tua risposta con alcuni esempi :-)
Laiv

1
@Laiv Oh capisco! Sto eliminando il mio account ma ho modificato la mia risposta per renderla più breve e più dolce. Nel processo ho perso un po 'di informazioni, ma la mia precedente modifica parlava di come ho usato gli script personalmente. In questo momento sto cercando di modificare tutte le informazioni personali dalle mie risposte.

2

Può essere utilizzato da persone diverse dai programmatori di giochi originali per modificare o estendere la logica di gioco. Tali persone possono essere relativamente non tecniche, ad esempio progettisti di giochi o utenti finali (giocatori).

Gli script sono di solito linguaggi di livello superiore e come tali Lua è più semplice di C ++. Il codice scritto negli script di solito può essere modificato senza ricompilare l'applicazione principale (motore di gioco), utile per i progettisti di giochi per modificare rapidamente le scene di gioco.

PS: meglio porre questa domanda su gamedev.stackexchange.com

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.