Mecanismo de jogo com boa criação / gerenciamento de entidades Lua [fechado]

11

Estou procurando um mecanismo que construa suas entidades usando Lua ou outra linguagem de script. Isso é para encontrar inspiração e fazê-lo no meu próprio mecanismo também.

Eu sei que o CryEngine usa Lua para criar suas entidades, mas eu queria saber se existem outras alternativas que eu possa procurar.

Obrigado!

Mr.Gando
fonte

Respostas:

7

Eu recomendo dar uma olhada no LÖVE ", uma estrutura incrível que você pode usar para criar jogos 2D em Lua. É gratuito, de código aberto e funciona em Windows, Mac OS X e Linux". É claramente não uma alternativa para o CryEngine, mas certamente deve demonstrar como utilizar eficazmente o potencial da Lua para a criação de entidade e lógica do jogo. Combine esse conhecimento com a forma como o Cryengine / outros mecanismos AAA utilizam back-end de scripts e você deve ter toda a inspiração necessária para criar seu próprio mecanismo com recursos robustos de script. :)

Ari Patrick
fonte
4

Que eu saiba, a série Essence Engine da Relic (usada em Company of Heroes e Dawn of War II ) usa Lua ou um dialeto para estatísticas de unidades e scripts de missão. Não há fontes da Web reais para isso, mas você sempre pode conferir alguns dos mods no RelicNews.com para perguntar se você está interessado.

O Spark Engine da Unknown Worlds, usado no próximo jogo Natural Selection 2, permite que a maior parte do código do jogo esteja em Lua até onde eu sei. O SDK vem com a pré-encomenda do jogo e está atualmente em beta, assim como o jogo.

Outro jogo que já foi promovido com forte dependência de Lua seria Eufloria (anteriormente Dyson ). Há uma referência de modificação de Lua em seus fóruns também.

O jogo cooperativo gratuito da Valve, Alien Swarm, usa fortemente uma linguagem de script chamada "Squirrel", que foi influenciada por Lua. O Alien Swarm SDK deve estar disponível para download no Steam. ( Wiki do desenvolvedor )

EDIT: Como eu poderia ter esquecido o World in Conflict ! O jogo faz um monte de coisas em Python, como fica óbvio quando se olha para mods como o Modern Warfare Mod que implementa uma mecânica completamente nova.

Koarl
fonte
Adicionou seus links para você.
The Duck Comunista
Obrigado! //
Excluiu
Ótima resposta, espero que mais pessoas possam adicionar a essa pergunta, pois no futuro tenho certeza absoluta de que haverá mais respostas. Muito obrigado Koarl (eu sou um grande fã de relíquias)
Mr.Gando
2

Aqui estão alguns exemplos de jogos (de código aberto) que usam scripts para implementar o comportamento da entidade:

Frogato implementa entidades usando uma linguagem de script personalizada. O Battle for Wesnoth implementa entidades usando uma linguagem de descrição personalizada na qual scripts Lua podem ser incorporados. O KQ implementa o comportamento da entidade usando scripts Lua.

Edit: Links publicados agora que tenho permissão para ...

hmn
fonte
Frogato parece muito próximo do que estou procurando, é um pouco detalhado, mas ainda muito interessante. Um exemplo equivalente em Lua seria rock :)
Mr.Gando
2

Eu faço isso no meu mecanismo ( fonte disponível , mas provavelmente não vale a pena decifrar).

No meu caso, uma "entidade" é um conceito que existe totalmente dentro de Lua. Não há suporte em C ++ para "entidades". Como tal, uma "entidade" é o que esse jogo específico precisa. Às vezes, é apenas uma tabela com poucos dados anexados, às vezes é um elemento de quadro 2D (observe que os quadros também são construções inteiramente Lua, eu só tenho uma biblioteca de interface do usuário padrão), às vezes é algo complicado com AI e renderização e, em seguida, é ainda é apenas uma coisa criada em Lua.

Muitas pessoas usam Lua para criar scripts para sistemas de objetos com suporte a C ++, de modo que a entidade "viva" em C ++ e chame Lua para seus scripts. Eu costumava fazer isso, mas me senti cada vez mais feliz ao mudar o código do C ++ para o Lua. Neste ponto, eu uso o C ++ apenas para lidar com as chamadas da API do SO, e toda a lógica de layout / renderização / IA / jogo está em Lua 100% pura.

Recomendado.

Sinta-se livre para fazer perguntas, estou bastante disposto a responder :)

ZorbaTHut
fonte
Como o glorp se compara ao love2d?
Deft_code
Pelo que entendi, o love2d tem um caminho de renderização significativamente definido. O glorp não - ele possui ligações OpenGL e você apenas renderiza o que quiser (embora tenha funções auxiliares para itens padrão). O glorp possui um sistema interno de "menu principal / pausa / retorno ao menu", ele remota relatório de erros sobre falhas e gerará automaticamente instaladores para qualquer sistema operacional em que você estiver construindo. No entanto, o glorp não é realmente projetado como uma API - é uma estrutura que é constantemente modificada para o que eu precisar. Não como inversa compatível em todos os :)
ZorbaTHut