Silnik gry z dobrym tworzeniem / zarządzaniem jednostkami Lua [zamknięte]


11

Szukam silnika, który konstruuje jego byty przy użyciu Lua lub innego języka skryptowego. Ma to na celu znalezienie inspiracji i zrobienie tego również we własnym silniku.

Wiem, że CryEngine używa Lua do tworzenia swoich bytów, ale chciałem wiedzieć, czy są jakieś inne alternatywy, które mogę sprawdzić.

Dzięki!

Odpowiedzi:


7

Polecam przyjrzeć się LÖVEniesamowitej ramie, której można użyć do tworzenia gier 2D w Lua. Jest darmowy, open source i działa w systemach Windows, Mac OS X i Linux”. To oczywiście nie jest alternatywą dla CryEngine, ale z pewnością powinny wykazać, jak efektywnie wykorzystać potencjał Lua dla utworzenia jednostki i logiki gry. Połącz tę wiedzę z tym, jak Cryengine / inne silniki AAA wykorzystują backendy skryptów, i powinieneś mieć całą inspirację, której potrzebujesz, aby stworzyć własny silnik z solidnymi możliwościami skryptowymi. :)


4

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ę.


Dodałem twoje linki dla ciebie.
Kaczka komunistyczna

Dziękuję Ci! // Usunięto komentarz zawierający niesformatowane linki ...
Koarl,

Świetna odpowiedź, mam nadzieję, że więcej osób może dodać do tego pytania, ponieważ w przyszłości jestem absolutnie pewien, że będzie więcej odpowiedzi. Dziękuję bardzo Koarl (jestem wielkim fanem Relic Btw)
Mr.Gando

2

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ę ...


Frogato wygląda bardzo blisko tego, czego szukam, jest jednak trochę gadatliwy, ale wciąż bardzo interesujący. Równoważny przykład w Lua to rock :)
Mr.Gando

2

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 :)


Jak wygląda Glorp w porównaniu do love2d?
deft_code

Jak rozumiem, love2d ma znaczącą ścieżkę renderowania. glorp nie - ma powiązania OpenGL, a ty po prostu renderujesz, co chcesz (chociaż ma funkcje pomocnicze dla standardowych rzeczy.) glorp ma wbudowany system „menu głównego / pauza / powrót do menu”, robi zdalnie zgłaszanie błędów po awariach i automatycznie generuje instalatory dla każdego systemu operacyjnego, na którym je budujesz. glorp nie jest jednak tak naprawdę zaprojektowany jako interfejs API - jest to framework, który jest ciągle modyfikowany w zależności od potrzeb. W ogóle nie tak kompatybilny
wstecznie
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.