À ma connaissance, la série de moteurs d'essence de Relic (telle qu'utilisée dans Company of Heroes et Dawn of War II ) utilise Lua ou un de ses dialectes pour les statistiques de l'unité et les scripts de mission. Il n'y a pas de véritables sources Web pour cela, mais vous pouvez toujours consulter certains des mods sur RelicNews.com pour vous demander si vous êtes intéressé.
Le Spark Engine de Unknown Worlds tel qu'utilisé dans leur prochain jeu Natural Selection 2 permet à la plupart du code de jeu d'être à Lua pour autant que je sache. Le SDK est fourni avec la précommande du jeu et est actuellement en version bêta, tout comme le jeu.
Eufloria (anciennement Dyson ) était un autre jeu qui était autrefois fortement encouragé en s'appuyant sur Lua . Il y a aussi une référence de modding Lua sur leurs forums.
Le jeu coopératif gratuit de Valve, Alien Swarm, utilise beaucoup un langage de script appelé "Squirrel" qui a été influencé par Lua. Le SDK Alien Swarm devrait être disponible en téléchargement sur Steam. ( Dev wiki )
EDIT: Comment aurais-je pu oublier World in Conflict ! Le jeu fait beaucoup de choses en Python, comme cela devient évident lorsque l'on regarde des mods comme le Modern Warfare Mod qui implémentent des mécanismes complètement nouveaux.
Voici quelques exemples de jeux (open source) qui utilisent des scripts pour implémenter le comportement des entités:
Frogato implémente des entités à l'aide d'un langage de script personnalisé. Battle for Wesnoth implémente des entités à l'aide d'un langage de description personnalisé dans lequel les scripts Lua peuvent être intégrés. KQ implémente le comportement des entités à l'aide de scripts Lua.
Edit: Liens publiés maintenant que je suis autorisé à ...
la source
Je le fais dans mon moteur ( source disponible , mais ne vaut probablement pas la peine d'être déchiffrée).
Dans mon cas, une «entité» est un concept qui existe entièrement au sein de Lua. Il n'y a pas de support C ++ pour les "entités". En tant que telle, une «entité» est tout ce dont un jeu spécifique a besoin. Parfois, c'est juste un tableau avec quelques petites données attachées, parfois c'est un élément Frame 2d (notez que les cadres sont entièrement des constructions Lua aussi, j'ai juste une bibliothèque d'interface utilisateur standard), parfois c'est quelque chose de compliqué avec l'IA et le rendu et ensuite c'est encore juste une chose créée à Lua.
Beaucoup de gens utilisent Lua pour scripter des systèmes d'objets qui ont un support C ++, de sorte que l'entité "vit" en C ++ et appelle Lua pour son script. J'avais l'habitude de faire cela, mais je me suis retrouvé de plus en plus heureux en déplaçant le code de C ++ vers Lua. À ce stade, j'utilise C ++ uniquement pour gérer les appels de l'API OS, et toute la logique de mise en page / rendu / IA / jeu est en 100% Lua pur.
Conseillé.
N'hésitez pas à poser des questions, je suis tout à fait disposé à y répondre :)
la source