O lo script è generalmente convertito in una lingua conosciuta come C ++ prima?
E in che modo generalmente integri un linguaggio di scripting con la dicitura di un motore di gioco?
Varia in base alla lingua. Molti linguaggi di scripting vengono eseguiti su macchine virtuali codificate in assembly o C. Python e Ruby sono entrambi esempi di questo. La seconda parte della tua domanda è troppo ampia, quindi ho intenzione di restringerla e parlare un po 'di Lua.
Lua è un eccellente case study per chiunque desideri comprendere o creare un linguaggio di scripting. Molto segue la filosofia di "Sii veloce, sii leggero, e stai fuori dai piedi". Può essere utilizzato con la propria VM o in una serie di altri contesti, come compilato direttamente su C. Questo lo rende una scelta molto popolare sia per scripting di giochi così come per la programmazione di sistemi embedded poiché ha un ingombro di memoria ridotto per un linguaggio di scripting digitato in modo dinamico. Lua può avere oggetti se vuoi o no se non lo fai.
Lua ha un'API C, questo è il modo in cui abbatti Lua sul tuo motore basato su C (o C ++ se desideri ) In generale, usi le cosiddette interfacce di funzioni esterne (FFI) per fare cose come questa in altre lingue .
Il nostro sito di sviluppo dei giochi si trova in massive dettagli su questo processo e specifiche per Lua.
Un linguaggio di scripting come qualsiasi linguaggio del computer deve convertire i suoi comandi in codice macchina per poterlo eseguire. Dato questo fatto è possibile intraprendere vari percorsi per portare a termine il compito. È possibile convertire il codice in un'altra lingua o direttamente nel codice macchina o in un "codice macchina" personalizzato eseguito su una macchina virtuale. Tutte le soluzioni hanno i loro pro e contro, quindi la soluzione che scegli dipende dalla natura dei tuoi problemi. L'integrazione di un linguaggio di scripting con un motore di gioco non dovrebbe essere così difficile. Tutti i motori di gioco forniscono interfacce di programmazione per integrarli con la parte del codice di cui è il linguaggio di scripting.