Drobna reorganizacja, konsola i Lua.

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:

  1. „help” – wyświetla listę dostępnych komend.
  2. „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?

  1. „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.
  2. „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.

Dodaj komentarz