Witam wszystkich i przepraszam za niezapowiedzianą (i niespodziewaną) przerwę w pisaniu, po uporaniu się z technicznymi i nie tylko problemami zdam krótkie sprawozdanie z tego co zrobiłem, a zmiany, choć na pozór mało rozbudowane, są podwalinami pod przyszły rozwój i łatwość moddingu.
Konsola
Zgadza się, w końcu będziecie mogli klepać kody i nie zważać na moje plany dotyczące balansu sił w grze – łatwo go zaburzyć m. in. nieśmiertelnością, ale do rzeczy – po naciśnięciu przycisku Tab w lewym-dolnym rogu pojawi się brzydka, szara konsola (może będzie ładniejsza gdy weźmie się za nią grafik). To po kolei:
- „help” – wyświetla listę dostępnych komend.
- „cheats.set <0|1>” – włącza lub wyłącza dostęp do cheatów.
I z komend dla śmiertelników to na tyle (na razie oczywiście), a co z tymi fajniejszymi?
- „shield.set <i>” – zmienia wytrzymałość tarczy, musi się ona mieścić między -1 a maksymalną dostępną na daną chwilę naszej postaci, ale zaraz, dlaczego -1? Bo wtedy stajemy się nieśmiertelni, nasza tarcza przestaje się regenerować niezależnie od sytuacji i nie tracimy punktów życia.
- „hp.set <i>” – tu ustawiamy sobie ilość HP, sprawa jest prosta, „i” musi mieścić się między 0 a maksymalną obecnie wartością. Po ustawieniu na 0, co ciekawe, umieramy.
I to chwilowo tyle, co więc takiego fajnego w tej konsoli? Jest oprogramowana w Lua, więc modyfikacja jej jest dziecinnie prosta a jedynymi ograniczeniami są fantazja i możliwości API (a te drugie są niezadowalająco niskie).
To co dokładnie z tym Lua?
To, że konsola byłą raczej testem, docelowo w Lua zaimplementowane będzie też AI i sporo innych rzeczy (np. zachowanie specjalnych broni – bez nich mody nie byłyby takie ciekawe). Skrypty leżą w „assets/lua/” i przetwarzane są przez moja własną klasę pozwalającą na sprawną komunikację ze skryptem, no i co najważniejsze uruchomienie go w osobnym wątku, dzięki czemu gra nie musi czekać na zakończenie kodu Lua. Przy okazji obciążenie zostanie rozłożone na więcej rdzeni procesora a to w większości przypadków przełoży się na większą płynność gry.
Na zakończenie:
Jeszcze raz przepraszam za dłuższą nieobecność (jakby ktoś się tym blogiem interesował…), teraz postaram się nadrobić straty, chociaż uwzględniając lenistwo grafika nie jest to takie proste.