(루아) 게임 스크립팅은 무엇을 의미합니까?


9

나는 Lua가 종종 임베디드 스크립팅 및 특히 스크립팅 게임에 사용된다는 것을 읽었습니다. 나는 그것이 정확히 어떻게 사용되는지를 이해하기가 어렵다는 것을 안다. 왜, 어떤 기능과 어떤 대상에 사용되는지 설명 할 수 있습니까?

이 질문은 특별히 Lua를 다루는 것이 아니라 Lua 스크립팅 과 유사한 목적 을 제공하는 내장 된 스크립팅입니다 .

최종 사용자가 사용자 지정 조정을 위해 사용합니까? 게임 개발자가 게임 로직 (레벨, AI 등) 생성 속도를 높이는 데 사용됩니까? 스크립팅이 더 빠를 수 있으므로 게임 프레임 워크 코드를 스크립팅하는 데 사용됩니까?

기본적으로 이러한 스크립팅 사용법이 일반 구성과 프레임 워크 논리 사이에 얼마나 깊은 지 궁금합니다. 그리고 얼마나 많은 스크립팅이 이루어 졌습니까? 몇 가지 구성 라인 또는 상당한 금액?


답변:


11

게임 엔진의 스크립팅 언어는 게임 엔진을보다 높은 수준의 해석 방식으로 노출시킵니다.

예를 들어 Skyrim과 같은 게임을 해보십시오. 많은 퀘스트와 상호 작용이 발생한다는 것을 알 수 있습니다.이 중 일부는 장면에서 아이템에 가까워 지도록 반응하는 경비원과 같이 상당히 인상적인 논리가 내장되어 있습니다. 이것들은 순수한 데이터 형식으로 표현하기 어려우며, 이러한 이유로 퀘스트 및 사용자 지정 동작은 일반적으로 스크립트로 표현됩니다.

이러한 스크립트를 만드는 게임 디자이너는 종종 게임 엔진 코더보다 더 높은 수준의 추상화에서 작동합니다. 그들은 메모리 할당 등에 대해 걱정하고 싶지 않습니다. 스크립팅 언어는 그들에게 적합하며, LUA에서는 일반적으로 엔진의 멋진 외관을 불러옵니다. 또한 스크립트에서 몇 분 속성을 조정할 때마다 게임을 다시 컴파일하고 싶지 않습니다.

무엇보다도, 그들은 쉬운 디버깅, 모딩 및 언급 한 다른 좋은 것들을 허용합니다.


3

최종 사용자가 사용자 지정 조정을 위해 사용합니까?

그것은 단지 설정에서부터 게임의 하이 엔드 로직의 대량 구현에 이르기까지 광범위한 목적으로 사용될 수 있습니다. 사람들은 원하는만큼 사용할 수 있습니다.


1
일부 게임에서는 최종 사용자가 자체 스크립트를 구현할 수 있습니다. 공개 API와 함께 사용자는 게임 이벤트에 반응하는 애드온, 위젯 등을 구현할 수 있습니다.
Laiv

1
나는 MMO
롤 플레잉

1
@Laiv IMO MMORPG는 구현하기에 너무 재미있어 보이지만 오랫동안 재생하는 것과 비슷하지만 그처럼 갈등합니다. 게임 세계는 일반적으로 정적 인 상태 여야하거나 게임 중재자의 적극적인 참여가 있어야합니다. 오프라인 게임은 정말 재미 있다고 생각합니다. 실제로 이야기가 끝날 때 매우 역동적 인 세상을 만들 수 있기 때문에 훨씬 재미 있습니다.

1
아니 아니. 몇 년 전에 나는 Allods Online을 사용했습니다. 이 게임에는 게이머가 애드온과 위젯을 구현할 수있는 작은 API가 있습니다. 몇 가지 예를 들어 답을 넓히고 싶었습니다 :-)
Laiv

1
@Laiv 아 알 겠어요! 계정을 삭제하는 중이지만 답변을 수정하여 더 짧고 더 달게 만들었습니다. 그 과정에서 나는 약간의 정보를 잃었지만 이전의 편집은 내가 개인적으로 스크립팅을 사용하는 방법에 대해 이야기했습니다. 지금은 답변에서 모든 개인 정보를 편집하려고합니다.

2

오리지널 게임 프로그래머가 아닌 사람들이 게임 로직을 수정하거나 확장하는 데 사용할 수 있습니다. 이러한 사람들은 게임 디자이너 나 최종 사용자 (게이머)와 같이 비 기술적 인 사람 일 수 있습니다.

스크립트는 일반적으로 고급 언어이므로 Lua는 C ++보다 쉽습니다. 스크립트로 작성된 코드는 일반적으로 게임 디자이너가 게임 장면을 빠르게 조정하는 데 유용한 기본 응용 프로그램 (게임 엔진)을 다시 컴파일하지 않고도 수정할 수 있습니다.

추신 : gamedev.stackexchange.com 에서이 질문을하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.