Czytałem, że Lua jest często używana do osadzania skryptów, aw szczególności do tworzenia skryptów. Trudno mi wyobrazić sobie, jak dokładnie jest używany. Czy możesz opisać, dlaczego i dla jakich funkcji i dla jakich odbiorców jest on używany?
To pytanie nie dotyczy konkretnie Lua, ale raczej osadzone skrypty, które służą celowi podobnemu do skryptów Lua .
Czy użytkownicy końcowi korzystają z niestandardowych ustawień? Czy twórcy gier używają go do przyspieszenia tworzenia logiki gry (poziomy, AI, ...)? Czy jest używany do pisania skryptów w ramach frameworka gry, ponieważ może on być szybszy?
Zasadniczo zastanawiam się, na ile głębokie jest między zwykłą konfiguracją a logiką frameworka, takie użycie skryptów. I ile skryptów zostało zrobionych. Kilka linii konfiguracji czy znaczna ilość?
źródło
Odpowiedzi:
Język skryptowy w silniku gry ma na celu ujawnienie silnika gry w interpretowany sposób na wyższym poziomie.
Weźmy na przykład grę typu Skyrim. Zauważysz, że ma miejsce wiele zadań i interakcji, a niektóre z nich mają dość imponującą logikę, na przykład strażnik reagujący na zbliżanie się do przedmiotu podczas jakiejś sceny. Trudno to wyrazić w czystym formacie danych, dlatego zadania i niestandardowe zachowania są zazwyczaj wyrażane w postaci skryptów.
Należy również wziąć pod uwagę wiele praktycznych aspektów - twórcy gier, którzy tworzą te skrypty, często pracują na wyższym poziomie abstrakcji niż twórcy silnika gry; nie chcą się martwić o alokację pamięci itp. Język skryptowy jest dla nich odpowiedni, a dzięki LUA zazwyczaj wywołują ładną fasadę silnika na wysokim poziomie. Nie chcesz też ponownie kompilować gry za każdym razem, gdy chcesz dostosować atrybut minutowy w skrypcie.
Co więcej, umożliwiają łatwe debugowanie, modowanie i wszystkie inne miłe rzeczy, o których wspominałeś.
źródło
Może być wykorzystywany do szerokiego zakresu celów, od konfiguracji po implementację dużej części logiki gry, np. Zależy od gry, ale Lua jest tylko wbudowanym skryptem. Ludzie mogą z nich korzystać tyle, ile chcą.
źródło
Może być używany przez osoby inne niż oryginalni programiści gier do modyfikowania lub rozszerzania logiki gry. Tacy ludzie mogą być stosunkowo nietechniczni, np. Projektanci gier lub użytkownicy końcowi (gracze).
Skrypty są zwykle językami wyższego poziomu i dlatego Lua jest łatwiejsza niż C ++. Kod napisany w skryptach można zwykle modyfikować bez ponownej kompilacji głównej aplikacji (silnika gry), co jest przydatne dla projektantów gier w celu szybkiego dostosowywania scen gier.
PS: lepiej zadaj to pytanie na gamedev.stackexchange.com
źródło