Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
bolejt

Založen: 02. 05. 2009 Příspěvky: 45
|
Zaslal: 8. listopad 2009, 23:08:34 Předmět: správa herních dat |
|
|
jak spravovat herní data? předpokládejme data v nějakém archívu nebo balíku (případně navíc i v adresáři u spouštěcího souboru). vím, že Gothic 1 a 2 tvoří v adresáři hry něco jako svůj vlastní temp, tipuji, že Starcraft relevantní věci rozbaluje z archívu do operační paměti, někdo si možná herní data rozbalí do TEMPDIR. mě zajímá, co byste použili nebo používáte, co si myslíte, že je lepší.
k tomuhle mne navedlo embedování pythonu, protože není jednoduché načíst package z paměti (používám PhysicsFS), "from package import *" je nefunkční (ale bez toho se dá žít), alternativa je seskupit herní data do tempu. _________________ Ball ball8; |
|
Návrat nahoru |
|
 |
Yossarian

Založen: 28. 07. 2007 Příspěvky: 274 Bydliště: Šalingrad
|
Zaslal: 8. listopad 2009, 23:36:45 Předmět: |
|
|
ja pouzivam datafile z allegra, neb je to moje oblibena knihovna (v podstate zipac, nacita se do pameti).
Nicmene za 'prumyslovy standard' povazuji zipy s urcitou kaskadovou strukturou -> neco jako v half-life. soubor se hledal nejdriv na disku (v nejake adresarove strukture), pokud neexistoval, tak v 'pak' souborech, coz byly defacto zipy, ktere mely totoznou adresarovou strukturu jako hra.. hledal se od toho s nejvyssim cislem nejdriv (aby mohl byt 'default' pak0.pak, a pro zmeny v enginu se tento nemusel menit, stacilo by pouze nahrat novejsi, popripadne primo nekam soubor) |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 8. listopad 2009, 23:40:33 Předmět: |
|
|
Komprimovat nemusíš, když nechceš. Načtení do paměti stačí. Rozbalovat data ještě na disk je zbytečný. Ono je úplně jedno, jestli budeš číst soubor img.jpg z pozice 0 nebo soubor archive.bin z pozice 874558, obsah bude vždy stejný. Podstatný je, aby všechny použitý knihovny uměly číst data i z paměti.
StarCraft si myslím ani nekomprimoval data. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
bolejt

Založen: 02. 05. 2009 Příspěvky: 45
|
Zaslal: 9. listopad 2009, 00:31:28 Předmět: |
|
|
Yossarian: když tak hledám v paměti, tak jsem něco takového asi už někde viděl, že by Fallout 1,2? každopádně mnou používaná knihovna PhysicsFS tohle snadno umožňuje funkcí PHYSFS_addToSearchPath(archiv_nebo_adresář, priorita);
Eosie: právě bohužel, číst pythoní package z paměti Python C API k mému překvapení neumí. povedlo se mi to obejít, ale potom nefunguje "from module import X[, Y[, Z]]" (celkem běžné importování specifických věcí z module/package). přemýšlím, jestli kvůli tomuhle přejít na tempdir, nebo stále používat řešení s pamětí. _________________ Ball ball8; |
|
Návrat nahoru |
|
 |
|