Motore di gioco con buona creazione / gestione dell'entità Lua [chiuso]


11

Sto cercando un motore che costruisca le sue entità usando Lua o altri linguaggi di scripting. Questo per trovare ispirazione e farlo anche nel mio motore.

So che CryEngine usa Lua per creare le loro entità, ma volevo sapere se ci sono altre alternative che posso cercare.

Grazie!

Risposte:


7

Consiglio di dare un'occhiata a LÖVE "un fantastico framework che puoi usare per creare giochi 2D in Lua. È gratuito, open-source e funziona su Windows, Mac OS X e Linux." Non è chiaramente un'alternativa al Cryengine, ma dovrebbe certamente dimostrare come utilizzare efficacemente il potenziale di Lua per la creazione di entità e la logica di gioco. Combina questa conoscenza con il modo in cui Cryengine / altri motori AAA utilizzano backend di script e dovresti avere tutta l'ispirazione di cui hai bisogno per creare il tuo motore con solide capacità di scripting. :)


4

Per quanto ne so, la serie Essic Engine di Relic (usata in Company of Heroes e Dawn of War II ) usa Lua o un suo dialetto per le statistiche delle unità e gli script delle missioni. Non ci sono vere fonti web per questo, ma puoi sempre dare un'occhiata ad alcune delle mod su RelicNews.com per chiedere se ti interessa.

Il motore Spark da mondi sconosciuti come quello usato nella loro prossimo gioco di Natural Selection 2 permette la maggior parte del codice di gioco per essere in Lua per quanto ne so. L'SDK viene fornito con il preordine del gioco ed è attualmente in versione beta così come il gioco.

Un altro gioco che una volta era stato fortemente promosso affidandosi a Lua sarebbe stato Eufloria (ex Dyson ). C'è un riferimento al modding Lua anche nei loro forum.

Il gioco cooperativo gratuito di Valve, Alien Swarm, usa pesantemente un linguaggio di scripting chiamato "Scoiattolo" che è stato influenzato da Lua. Alien Swarm SDK dovrebbe essere disponibile per il download su Steam. ( Dev wiki )

EDIT: Come avrei potuto dimenticare World in Conflict ! Il gioco fa un sacco di cose in Python come diventa ovvio quando si guardano mod come la Mod Modern Warfare che implementano meccaniche completamente nuove.


Aggiunti i tuoi collegamenti per te.
Il comunista Duck il

Grazie! // Cancella il commento contenente link non formattati ...
Koarl

Ottima risposta, spero che più persone possano aggiungere a questa domanda poiché in futuro sono assolutamente sicuro che ci saranno più risposte. Grazie mille Koarl (sono un grande fan delle reliquie tra l'altro)
Mr.Gando,

2

Ecco alcuni esempi di giochi (open source) che utilizzano script per implementare il comportamento delle entità:

Frogato implementa le entità utilizzando un linguaggio di scripting personalizzato. Battle for Wesnoth implementa entità usando un linguaggio di descrizione personalizzato in cui gli script Lua possono essere incorporati. KQ implementa il comportamento dell'entità usando gli script Lua.

Modifica: link pubblicati ora che mi è permesso ...


Frogato sembra molto vicino a quello che sto cercando, è un po 'prolisso, ma comunque molto interessante. Un esempio equivalente in Lua sarebbe rock :)
Mr.Gando

2

Lo faccio nel mio motore ( fonte disponibile , ma probabilmente non vale la pena decifrare).

Nel mio caso, un '"entità" è un concetto che esiste interamente all'interno di Lua. Non esiste un supporto C ++ per "entità". In quanto tale, una "entità" è qualunque cosa abbia bisogno di quel gioco specifico. A volte è solo una tabella con alcuni piccoli dati collegati, a volte è un elemento Frame 2d (nota che anche i frame sono interamente costruzioni Lua, ho solo una libreria UI standard), a volte è qualcosa di complicato con AI e rendering e poi è ancora solo una cosa creata in Lua.

Molte persone usano Lua per scriptare sistemi di oggetti con supporto C ++, in modo tale che l'entità "viva" in C ++ e chiami Lua per i suoi script. Lo facevo, ma mi sono ritrovato sempre più felice mentre spostavo il codice da C ++ a Lua. A questo punto, utilizzo C ++ esclusivamente per gestire le chiamate API del sistema operativo e tutta la logica di layout / rendering / AI / gioco è in Lua pura al 100%.

Consigliato.

Sentiti libero di fare domande, sono abbastanza disposto a rispondere :)


Come si confronta glorp con love2d?
deft_code

A quanto ho capito, love2d ha un percorso di rendering significativamente incastonato. glorp no - ha i collegamenti OpenGL e tu esegui il rendering di ciò che vuoi (anche se ha funzioni di supporto per roba standard). glorp ha un sistema "menu principale / pausa / ritorno al menu" incorporato, lo fa da remoto segnalazione errori in caso di arresti anomali e genererà automaticamente programmi di installazione per qualsiasi sistema operativo su cui lo stai costruendo. glorp non è davvero progettato come un'API, tuttavia - è un framework che viene costantemente modificato per qualsiasi cosa di cui abbia bisogno. Non altrettanto retrocompatibile :)
ZorbaTHut,
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.