Dość istotną lecz często lekceważoną rzeczą w silniku jest zarządzanie zasobami. Zasoby z angielska zwane assets, to wszystkie pliki z których będzie korzystać gra. Pliki z dźwiękiem, teksturami, modelami, skryptami itp itd. Dobrze jest mieć w silniku klasę, która będzie umożliwiała wczytywanie zasobu podając tylko jego nazwę i rodzaj. Dobrą praktyką, jest podawanie samej nazwy (np. “trawa01″) gdyż zapamiętywanie pełnej ścieszki w rodzaju “tekstury\rosliny\trawa01″ szybko prowadzi do problemów gdy chcemy zreorganizować zasoby i przenieść część danych z jednego katalogu do innego. Dlatego klasa wczytująca zasoby powinna sama wyszukiwać dany zasób tylko na podstawie jego nazwy oraz typu. Drugą ważną rzeczą jest posiadanie własnego sposobu zapisu danych. Szybko się okazuje, że duża część zasobów musi być przechowywana w formacie innym niż źródłowy. Za pewne często wczytujemy “.model” stworzony z pliku “.lwo” lub “.3ds”, albo “.texture” stworzony z pliku “.jpg” lub “.psd”. Dobrze jest wtedy mieć jeden wspólny format dla wszystkich naszych formatów plików. Ma to kilka zalet:

– jedna wspólna klasa do wczytywania i parsowania

– można stworzyć przeglądarkę, która będzie umożliwiała czytelny wgląd w dowolny zasób gry + ew. możliwość zmiany

– ułatwia napisanie bot’a / pająka, który będzie umożliwiał na podstawie kilku głównych plików, stworzyć listę wszystkich użytych w grze zasobów

Dobrze jest też pamiętać, żeby format umożliwiał wczytywanie poprzednich wersji plików. Najlepiej do tego nadają się formaty “blokowe” takie jak XML czy IFF.

Zarządzanie zasobami
0 votes, 0.00 avg. rating (0% score)