Wpis z mikrobloga

Piszę sobie grę w Pythonie na próbę i zastanawiałem się jak zarządzać zasobami, żeby się nie narobić przy tym za bardzo. Wpadłem na taki pomysł i chciałbym żeby bardziej doświadczeni go ocenili.

1. Wrzucam wszystko do jednego katalogu i zakładam wzajemną odpowiedniość nazwy pliku z jego symbolem w programie.
2. Tworzę w kodzie mechanizm leniwego wczytywania danych do globalnego, niemutowalnego słownika.

W ten sposób, kiedy wywołam kod:

image = get_data('battleaxe')
To najpierw zostanie sprawdzone czy klucz battleaxe jest już w słowniku, a jeśli nie to w katalogu data zostanie znaleziony plik o nazwie battleaxe.* (na przykład battleaxe.png), wczytany i umieszczony pod kluczem battleaxe. W każdym przypadku zostanie zwrócona wartość spod klucza.

Jak wam to wygląda? Znacie lepszy sposób na skuteczne zarządzanie danymi?
#programowanie #python #gamedev
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@CamelCase: to co tu opisałeś wygląda jak zwykły cache (bez żadnych zabezpieczeń przed nadmierną ilością danych) ;)

Kod Quake3 bardzo dużo uczy, ale podejrzewam, że nie chce Ci się niego zagłębiać. Co mnie nie dziwi, bo Quake3 to mini system operacyjny dla silnika gry — i takie coś istnieje w każdym większym silniku gry. Własne zarządzanie pamięcią i każdą pierdołą tego typu.

No ale przecież jesteśmy w Pythonie… więc tak:
to co zrobiłeś ma sens i tak to się robi. Ale z masą dodatkowych rzeczy, gdzie jedną nich (i najważniejszą) jest punktowanie tego cache. Czyli: wyrzucaj najstarsze (najrzadziej używane?) rzeczy z tej listy jeśli „coś”. Gdzie „coś” to może być liczba obiektów, ilość pamięci i
  • Odpowiedz