Zgodnie z moją najlepszą wiedzą seria silników esencji Relica (stosowana w Company of Heroes i Dawn of War II ) używa Lua lub jej dialektu do statystyk jednostek i skryptów misji. Nie ma prawdziwych źródeł internetowych, ale zawsze możesz sprawdzić niektóre mody na RelicNews.com, aby zapytać, czy jesteś zainteresowany.
Iskrowym przez nieznanych światów, jak stosowane w ich nadchodzącej gry Natural Selection 2 pozwala większość kodu gry, aby być w Lua o ile wiem. Zestaw SDK jest dostarczany z pre-order gry i jest obecnie w fazie beta, podobnie jak gra.
Inną grą, która kiedyś była mocno promowana w oparciu o Luę, byłaby Eufloria (wcześniej Dyson ). Na forach znajduje się również odniesienie do modowania Lua.
Darmowa gra kooperacyjna Valve Alien Swarm mocno wykorzystuje język skryptowy o nazwie „Wiewiórka”, na który wpłynęła Lua. Zestaw Alien Swarm SDK powinien być dostępny do pobrania na Steam. ( Dev wiki )
EDYCJA: Jak mogłem zapomnieć o World in Conflict ! Gra robi wiele rzeczy w Pythonie, co staje się oczywiste, gdy patrzy się na mody takie jak Modern Warfare Mod, które implementują zupełnie nową mechanikę.
Oto kilka przykładów gier (open source) wykorzystujących skrypty do implementacji zachowania encji:
Frogato implementuje jednostki za pomocą niestandardowego języka skryptowego. Bitwa o Wesnoth implementuje jednostki za pomocą niestandardowego języka opisu, w którym można osadzać skrypty Lua. KQ implementuje zachowanie bytu za pomocą skryptów Lua.
Edycja: Wysłano linki teraz, gdy mogę ...
źródło
Robię to w moim silniku ( źródło dostępne , ale prawdopodobnie nie warte rozszyfrowania).
W moim przypadku „byt” to koncepcja, która istnieje całkowicie w Lua. Nie ma wsparcia dla C ++ dla „encji”. Jako taki, „byt” jest tym, czego potrzebuje konkretna gra. Czasami jest to tylko tabela z dołączonymi niewielkimi danymi, czasami jest to element 2d Frame (zwróć uwagę, że ramki są również w całości konstrukcjami Lua, po prostu mam standardową bibliotekę interfejsu użytkownika), czasami jest to coś skomplikowanego z AI i renderowaniem, a następnie jest to wciąż tylko rzecz stworzona w Lua.
Wiele osób używa Lua do pisania skryptów na obiektach, które mają wsparcie w C ++, tak że byt „żyje” w C ++ i woła Lua w celu wykonania skryptu. Kiedyś to robiłem, ale czułem się coraz szczęśliwszy, gdy wyprowadziłem kod z C ++ do Lua. W tym momencie używam C ++ wyłącznie do obsługi wywołań API systemu operacyjnego, a cała logika układu / renderowania / AI / gry jest w 100% czysta Lua.
Zalecana.
Zapraszam do zadawania pytań, chętnie odpowiem :)
źródło