Que signifie (Lua) le script de jeu?

9

J'ai lu que Lua est souvent utilisé pour les scripts intégrés et en particulier pour les jeux de script. J'ai du mal à imaginer comment il est utilisé exactement. Pouvez-vous décrire pourquoi et pour quelles fonctionnalités et pour quel public il est utilisé?

Cette question ne concerne pas spécifiquement Lua, mais plutôt tout script intégré qui sert un objectif similaire au script Lua .

Est-il utilisé pour que les utilisateurs finaux fassent des ajustements personnalisés? Est-il utilisé pour que les développeurs de jeux accélèrent la création d'une logique de jeu (niveaux, IA, ...)? Est-il utilisé pour scripter le code du framework de jeu car les scripts peuvent être plus rapides?

Fondamentalement, je me demande jusqu'où va la configuration ordinaire et la logique du framework pour une telle utilisation des scripts. Et combien de scripts sont effectués. Quelques lignes de configuration ou une quantité considérable?

Gerenuk
la source

Réponses:

11

Un langage de script dans un moteur de jeu est là pour exposer votre moteur de jeu d'une manière interprétée de plus haut niveau.

Prenez un jeu comme Skyrim, par exemple. Vous remarquerez qu'il y a de nombreuses quêtes et interactions qui se produisent, et certaines d'entre elles ont une logique assez impressionnante, comme un garde qui réagit lorsque vous vous rapprochez d'un objet pendant une scène. Ce sont des choses qui seraient difficiles à exprimer dans un format de données pur, et pour cette raison, les quêtes et les comportements personnalisés sont généralement exprimés sous forme de scripts.

Il existe également de nombreux aspects pratiques à considérer - les concepteurs de jeux qui créent ces scripts travaillent souvent à un niveau d'abstraction plus élevé que les codeurs du moteur de jeu; ils ne veulent pas se soucier de l'allocation de mémoire, etc. Un langage de script leur convient bien, et avec LUA, ils appellent généralement une belle façade de haut niveau du moteur. Vous ne voulez pas non plus recompiler votre jeu chaque fois que vous voulez ajuster un attribut minute dans un script.

En plus de tout cela, ils permettent un débogage, un modding et toutes les autres bonnes choses que vous avez mentionnés.

Daniel B
la source
3

Est-il utilisé pour que les utilisateurs finaux fassent des ajustements personnalisés?

Il peut être utilisé pour un large éventail d'utilisations, de la simple configuration à la mise en œuvre de la majeure partie de la logique haut de gamme du jeu, par exemple, cela dépend du jeu, mais Lua est simplement un script intégré. Les gens peuvent l'utiliser autant ou aussi peu qu'ils le souhaitent.


la source
1
Certains jeux permettent aux utilisateurs finaux d'implémenter leurs propres scripts. Parallèlement à l'API publique, les utilisateurs peuvent implémenter des addons, des widgets, etc., qui réagissent aux événements du jeu.
Laiv
1
Je pensais à MMO rpgs :-)
Laiv
1
Les MMORPG @Laiv IMO sont l'une de ces choses qui semblent si amusantes à mettre en œuvre, mais similaires à les jouer pendant longtemps, cela se transforme en un tel grind. Le monde du jeu doit être si statique en général ou il doit y avoir une telle implication active de la part des modérateurs du jeu. Je pense que les jeux hors ligne sont tellement plus amusants à développer parce que vous pouvez créer un monde très dynamique avec une histoire qui touche à sa fin.
1
Non non. Il y a des années, je jouais à Allods Online. Le jeu avait une petite API pour que les joueurs puissent implémenter des addons et des widgets. Je voulais juste développer votre réponse avec quelques exemples :-)
Laiv
1
@Laiv Oh je vois! Je suis en train de supprimer mon compte mais j'ai modifié ma réponse pour la rendre plus courte et plus douce. Au cours du processus, j'ai perdu un peu d'informations, mais mon montage précédent a expliqué comment j'utilisais personnellement les scripts. En ce moment, j'essaie de supprimer toutes les informations personnelles de mes réponses.
2

Il peut être utilisé par des personnes autres que les programmeurs de jeux originaux pour modifier ou étendre la logique du jeu. Ces personnes peuvent être relativement non techniques, par exemple les concepteurs de jeux ou les utilisateurs finaux (joueurs).

Les scripts sont généralement des langages de niveau supérieur et en tant que tels, Lua est plus facile que C ++. Le code écrit dans des scripts peut généralement être modifié sans recompiler l'application principale (moteur de jeu), ce qui est utile pour les concepteurs de jeux pour modifier rapidement les scènes de jeu.

PS: mieux vaut poser cette question sur gamedev.stackexchange.com

Tanière
la source