답변:
나는 한 번 봐 복용 권하고 싶습니다 사랑 "는 멋진 당신이 루아의 2D 게임을 만들하는 데 사용할 수있는 프레임 워크를. 그것은 무료, 오픈 소스, 그리고 윈도우, 맥 OS X와 리눅스에서 작동합니다." 그건 분명 크라이 엔진에 대한 대안 아니지만, 확실히 효과적으로 개체 생성과 게임 로직에 대한 루아의 잠재력을 활용하는 방법을 설명한다. 이 지식을 Cryengine / 다른 AAA 엔진이 스크립트 백엔드를 활용하는 방법과 결합하면 강력한 스크립팅 기능으로 자신의 엔진을 만드는 데 필요한 모든 영감을 얻을 수 있습니다. :)
내가 아는 한, Relic의 Essence Engine Series ( Company of Heroes 및 Dawn of War II에서 사용)는 유닛 통계 및 미션 스크립팅에 Lua 또는 그 방언을 사용합니다. 그것에 대한 실제 웹 소스는 없지만 RelicNews.com 에서 언제든지 모드를 확인 하여 관심이 있는지 물어볼 수 있습니다.
다가오는 게임 Natural Selection 2 에서 사용 된 Unknown Worlds 의 Spark Engine 을 사용 하면 대부분의 게임 코드를 내가 아는 한 Lua로 만들 수 있습니다. SDK는 게임 선주문과 함께 제공되며 현재 게임 그대로 베타 버전입니다.
한때 루아에 크게 의존하는 또 다른 게임은 Eufloria (이전의 Dyson ) 일 것입니다. 포럼에는 Lua 모딩 참조도 있습니다.
Valve의 무료 협동 게임 Alien Swarm 은 Lua의 영향을받은 "Squirrel"이라는 스크립팅 언어를 많이 사용합니다. Steam에서 Alien Swarm SDK를 다운로드 할 수 있습니다. ( 개발자 위키 )
편집 : 어떻게 갈등의 세계에 대해 잊었을 수 있었습니까 ! 이 게임은 완전히 새로운 기술을 구현하는 Modern Warfare Mod와 같은 모드를 볼 때 분명해지면서 파이썬에서 많은 일을합니다.
엔터티 동작을 구현하기 위해 스크립팅을 사용하는 (오픈 소스) 게임의 예는 다음과 같습니다.
Frogato 는 사용자 지정 스크립팅 언어를 사용하여 엔터티를 구현합니다. Battle for Wesnoth 는 Lua 스크립트를 내장 할 수있는 사용자 정의 설명 언어를 사용하여 엔티티를 구현합니다. KQ 는 Lua 스크립트를 사용하여 엔티티 동작을 구현합니다.
편집 : 내가 허용 된 지금 링크를 게시 ...
나는 내 엔진에서 ( 소스를 사용할 수 있지만 해독 할 가치는 없을 것입니다).
필자의 경우 "엔티티"는 Lua 내에 완전히 존재하는 개념입니다. "엔티티"에 대한 C ++ 지원은 없습니다. 따라서 "엔티티"는 특정 게임에 필요한 모든 것입니다. 때로는 작은 데이터가 첨부 된 테이블 일뿐 아니라 2d Frame 요소입니다 (프레임은 Lua 구조이기도합니다. 표준 UI 라이브러리 만 있음) .AI 및 렌더링으로 복잡한 경우가 있습니다. 여전히 루아에서 만든 것입니다.
많은 사람들이 Lua를 사용하여 C ++ 지원 기능이있는 객체 시스템을 스크립팅하여 엔티티가 C ++에서 "라이브"하고 스크립팅을 위해 Lua를 호출합니다. 예전에는 그렇게했지만 코드를 C ++에서 Lua로 옮길 때 더 행복 해지고 행복해졌습니다. 이 시점에서 나는 C ++을 사용하여 OS API 호출을 처리하고 모든 레이아웃 / 렌더링 / AI / 게임 로직은 100 % 순수 Lua입니다.
추천합니다.
질문을 자유롭게하십시오, 나는 대답 할 의향이 있습니다 :)