Warsztat.GD

Programowanie => Inne => Wątek zaczęty przez: Anusia2007 w Kwiecień 13, 2007, 00:07:41

Tytuł: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 13, 2007, 00:07:41
Witam,

Zabieram sie za napisanie VFS'a. Ma on umozliwiac dynamiczne zapisywanie, modyfikowanie, oraz odczytywanie roznych plikow z jednego pliku bazowego (pakietowego). I tutaj kilka moich pytan:

1) czy lepiej robic jeden plik bazowy i do niego ladowac wszystko czy moze kilka (jakie sa zalety robienia kilku plikow?) bo widzialam takie rozwiazanie w dommie 3.

2) Jak rozwiazac sprawe zapisywania dynamicznego w srodek bazy. Jesli w srodku bazy bede miala jakis maly plik ktory bede chciala zmodyfikowac i dodac pare bajtow to bede musiala przesuwac caly plik bazowy o te pare bajtow czyli jak np. bedzie zajmowal 100 MB to bede musiala nadpisac tyle. To strasznie dlugo bedzie trwalo. Jak to rozwiazac?
Taki zapis moze byc w grze potrzebny nawet kilka razy na sekunde. Dopuszczam, tez mozliwosc ze cos bedzie sie sciagac z internetu (levele np.) i dynamicznie bedzie musialo sie dopisywac. Wtedy caly czas by byla taka sytuacja.

3) robic obsluge VFSa w oddzielnym watku niz gre czy lepiej w tym samym?

4) jakies specyficzne rzeczy ktore moge napotkac podczas kodowania, jakies porady?

Pozdrawiam.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: bies w Kwiecień 13, 2007, 00:26:30
Witam,
Zabieram sie za napisanie VFS'a. [Ciach]
Bo ponieważ? Nudzi Ci się? Chcesz mieć fafnasty VFS, tylko taki fanjniusi, milusi, Twój? Nie lepiej poszukać i użyć gotowca. A może zwykły zip wystarczy - nowe poziomy mogą być po prostu nowymi plikami zip (dla C++ patrz np. [1]). A jeśli rzeczywiście nudzi Ci się to rozwiązanie problemu wrzucania czegoś do środka podpatrz w systemie FAT (można by w innym, wydajniejszym - ale czytania źródeł ReiserFS nie polecam).

[1] http://zipios.sourceforge.net/
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 13, 2007, 00:32:47
Bo ponieważ? Nudzi Ci się? Chcesz mieć fafnasty VFS, tylko taki fanjniusi, milusi, Twój?
Nie. Chce miec wydajny i zeby mial wszystko czego potrzebuje. Jak znasz taki darmowy i z mozliwoscia uzytku w komercyjnych projektach to prosze o link :)

/EDIT
zip oczywiscie odpada -wszystko musi byc szyfrowane lub przynajmniej kodowane moim algorytmem aby raz dwa nie dalo sie tego "unzipowac" pierwszym lepszym gownem.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Złośliwiec w Kwiecień 13, 2007, 00:44:22
zip oczywiscie odpada -wszystko musi byc szyfrowane lub przynajmniej kodowane moim algorytmem aby raz dwa nie dalo sie tego "unzipowac" pierwszym lepszym gownem.

Na archiwum ZIP można założyć hasło. Nie jest ono zbyt mocne (chociażby w porównaniu do tego, co oferuje RAR), ale w zupełności wystarczy, by nie rozpakowano archiwum "pierwszym lepszym gównem" (swoją drogą, co za plugawe słownictwo w ustach damy :P).
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: spax w Kwiecień 13, 2007, 01:20:05
1) czy lepiej robic jeden plik bazowy i do niego ladowac wszystko czy moze kilka (jakie sa zalety robienia kilku plikow?) bo widzialam takie rozwiazanie w dommie 3.

Myślę że sposób wielu plików jest wykorzystywany dla uniknięcia narzutu dynamicznego zapisywania. Czyli zamiast mieć jeden wielgachny plik data.mix i co dodatek go modyfikować. Ma się plik data0.mix a następne dodatki maja data1.mix data2.mix itd.

2) Jak rozwiazac sprawe zapisywania dynamicznego w srodek bazy. Jesli w srodku bazy bede miala jakis maly plik ktory bede chciala zmodyfikowac i dodac pare bajtow to bede musiala przesuwac caly plik bazowy o te pare bajtow czyli jak np. bedzie zajmowal 100 MB to bede musiala nadpisac tyle. To strasznie dlugo bedzie trwalo. Jak to rozwiazac?
Taki zapis moze byc w grze potrzebny nawet kilka razy na sekunde. Dopuszczam, tez mozliwosc ze cos bedzie sie sciagac z internetu (levele np.) i dynamicznie bedzie musialo sie dopisywac. Wtedy caly czas by byla taka sytuacja.

Poczytaj sobie jak są skonstruowane prawdziwe systemy plików (bloki, super bloki itp.).
Ale ogólnie moje zdanie jest takie, w grach nie jest potrzebny dynamiczny VFS.

buziaki ;P
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: bies w Kwiecień 13, 2007, 02:14:20
Bo ponieważ? Nudzi Ci się? Chcesz mieć fafnasty VFS, tylko taki fanjniusi, milusi, Twój?
Nie. Chce miec wydajny i zeby mial wszystko czego potrzebuje. Jak znasz taki darmowy i z mozliwoscia uzytku w komercyjnych projektach to prosze o link :)
I pewnie jeszcze pod Windows. Cóż, większość ciekawych rzeczy ma POSIX w wymaganiach. Ale jest np. GnomeVFS albo nFS (taki drobiazg z Code Project).

zip oczywiscie odpada -wszystko musi byc szyfrowane lub przynajmniej kodowane moim algorytmem aby raz dwa nie dalo sie tego "unzipowac" pierwszym lepszym gownem.
Hmm, ale szyfrowanie jest albo powyżej FS (szyfrowane pliki) albo poniżej (szyfrowane urządzenie / wolumen). Dopisz sobie filtr do zipios++ (np. używając Crypto++) i po kłopocie. A i tak będzie szybciej niż pisać od nowa. Ale zdajesz sobie sprawę, że szyfrowanie z zaszytym kluczem w programie to pic (patrz AACS).

// edit
A linki to zna google.

// edit^2
Co do wydajności, poszukaj na MSDN ,,File Mapping'' - powinno być szybsze od zwykłego otwarcia pliku.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Reg w Kwiecień 13, 2007, 10:50:51
Mnie też się kiedyś tak bardzo nudziło że chciałem mieć i napisałem swój własny, fajny, milusi VFS :P Bo gdybym szedł tokiem myślenia biesa to po co pisać jakiekolwiek biblioteki, skoro już tyle ich jest w Sieci? Po co pisać silnik, skoro są już gotowe? W ogóle po co pisać gry, skoro są już gotowe??? Nic tylko usiąść i grać!

Teraz jednak nie korzystam ze swojego VFS-a, bo mam wątpliwości czy on w ogóle ma sens. To prawda, że większość gier jakiegoś ma, ale nie wszystkie - bywają gry, które trzymają pliki luzem. Fajnie jest schować wszystko do eleganckiego archiwum, ale ukrywanie plików przez użytkownikiem to nie jest dla mnie argument. To samo dotyczy szyfrowania. Pomyśl, czy to że użytkownik będzie miał utrudniony dostęp do zasobów gry i jakiś jej modyfikacji, zrobienia swojego moda itp. to jest dla twojej produkcji zaleta czy wada?

VFS często wystarczy tylko do odczytu. Taki jest dużo prostszy. Większość gier wczytuje z niego tylko jakieś swoje zasoby, a jeśli już musi coś zapisać to zawsze może to zrobić do normalnych plików. Jeśli chcesz pobierać z Sieci całe nowe paczki z zasobami, może pobieraj po prostu kolejne archiwa swojego VFS-a?

Wykorzystanie gotowego formatu, np. ZIP, to całkiem dobry pomysł. Mam nawet pomysł jak go zabezpieczyć - możnaby zmieniać nagłówek pliku i ewentualnie jakoś modyfikować inne dane (np. negować bitowo wszelkie rozmiary plików) i tak przerobić źródło biblioteki do jego obsługi, żeby obsługiwała ten nowy format.

Jeśli już byś robił swój VFS z możliwością zapisu, to ja widzę tutaj dwie opcje:

1. Nowe pliki zapisujesz zawsze na końcu VFS powiększając jego plik. Kasowanie polegałoby po prostu na zaznaczaniu pliku jako nieistniejący, przez co powstawałaby w tym miejscu "dziura". To jest proste, ale szybko powiększa rozmiar archiwum i wymaga okresowego porządkowania.
2. Zapewniasz w swoim formacie możliwość fragmentacji plików. Zapisywane pliki upychasz w puste miejsca archiwum kontynuując w następnym pustym miejscu itd., aż zabraknie "dziur" i wtedy dopisujesz na końcu. Tu też przydałaby się okresowa defragmentacja.

Oczywiście można sobie wyobrazić napisanie jakiś bardziej zaawansowanych mechanizmów, jakiegoś podziału na sektory, jakiejś tablicy FAT i innych rozwiązań zaczerpniętych z prawdziwych systemów plików, ale to już trochę harcdore :)

Sprawy bardzo się komplikują jeśli chciałbyś w bibliotece do obsługi swojego VFS zapewnić możliwość otwarcia i czytania/pisania wielu plików z jednego archiwum na raz. Pomyś, czy to jest konieczne.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: spax w Kwiecień 13, 2007, 14:42:56
Dokładnie tak jak mówi st3tc, potem stworzenie, moda może polegać tylko na dodaniu do takiego katalogu roboczego powiedzmy plików z "zasadami gry" a tym samym ich podmianie. I juz mamy inną :)

nara.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 00:36:50
Powiedzcie mi czy jakbym robila VFS'a ktory mialby zarowno odczytywac i zapisywac dane "w locie" w trakcie dzialania gry to lepiej robic na osobnym watku czy tym samym co gra?
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 00:53:41
Ale po co Ty chesz modyfikować archiwum VFS-a ?

Bo mi to potrzebne. Nie rozumiesz? Gralas/grales kiedys w second live? Tam podczas zwiedzania swiata doczytywane sa z netu na bierzaco przedmioty i lokacje ktore odwiedzasz a ktorych nie mialas/miales na hd. U mnie tez to bedzie. Zapis i odczyt w czasie dzialania gry sa niezbedne i to nie blad projektowy tylko zalozenia projektu. Przyjmij to jako definicje dziedziny problemowej ;]
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: spax w Kwiecień 14, 2007, 00:59:36
W wypadku MMO zabawa archiwami jest kompletnie chybione.
Myśle że w tego typu grach najlepiej jest użyć po prostu normalnego FS'a.

bum.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Goliatus w Kwiecień 14, 2007, 01:00:15
Proponuje poczytac o MVCC (http://en.wikipedia.org/wiki/Multiversion_concurrency_control), które jest rozwiązaniem problemu jednoczesnego odczytu i zapisu oraz równoległego wielokrotnego zapisu.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 01:07:22
W wypadku MMO zabawa archiwami jest kompletnie chybione.
Myśle że w tego typu grach najlepiej jest użyć po prostu normalnego FS'a.

bum.
Dlaczego tak uwazasz? W przypadku gier MMO chyba jeszcze wazniejszym jest aby nie bylo tak latwo wszystkie pliki pootwierac i pozmieniac co sie zapragnie. Przeciez nie zostawie golych otwartych plikow bez najmniejszego zabezpieczenia. Praktycznie zadna gra tak nie robi.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Charibo w Kwiecień 14, 2007, 01:11:00
to jakos je zabezpiecz - zaszyfruj sobie i viola
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: spax w Kwiecień 14, 2007, 01:12:49
Ostatnio grałem w gre Trickstar (MMO ofkoz) i wszystkie pliki trzymane były luzem (koszmar przy instalacji...).
Każdy z tych pliczków był szyfrowany osobno, mniej lub bardziej finezyjną metodą :)

bum^2
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 01:12:57
Dlaczego odradzacie jedno archiwum? Nie rozumiem. Argumenty prosze ;)
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: spax w Kwiecień 14, 2007, 01:15:52
Wydajność?

;D
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 15:14:27
Wydajność?

;D
To od kiedy tylko w grach MMO liczy sie wydajnosc? Jakies nowe teorie widac powstaly odkad zaczelam zajmoawc sie gamedevem
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: dRaiser w Kwiecień 14, 2007, 15:40:17
Wydajność?

;D
To od kiedy tylko w grach MMO liczy sie wydajnosc? Jakies nowe teorie widac powstaly odkad zaczelam zajmoawc sie gamedevem

W każdej grze ważna jest wydajność/optymalizacja :). W końcu MMO to nie tylko kontakty klient-serwer, ale "otoczka" grym czyli engine itd klienta, który musi być bądź co bądź sprawny i szybki. A takie jedno wielkie archiwum to dla mnie osobiście jeden wielki, zaśmiecony burdel ;>.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 15:43:55
A takie jedno wielkie archiwum to dla mnie osobiście jeden wielki, zaśmiecony burdel ;>.
Jak masz problem to napisz do Carmacka, ze jego Doom 3 to jeden wielki zasmiecony burdel.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: dRaiser w Kwiecień 14, 2007, 16:21:00
Jak masz problem to napisz do Carmacka, ze jego Doom 3 to jeden wielki zasmiecony burdel.

A w czym DOOM 3 jest lepszy od wszystkich innych gier, że nie wolno go oceniać pod kontekstem przejrzystości? Takie duże archiwum, jak to było mówione, utrudnia i spowalnia korzystanie z danych. Dlatego sensownie jest po prostu dzielić dane na mniejsze zbiory.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Asmodeusz w Kwiecień 14, 2007, 16:30:50
A takie jedno wielkie archiwum to dla mnie osobiście jeden wielki, zaśmiecony burdel ;>.
Jak masz problem to napisz do Carmacka, ze jego Doom 3 to jeden wielki zasmiecony burdel.
dRaiser, tu należałoby dodać zastrzeżenie, że poza etapem projektowania w tym pliku coś modyfikujemy. Tylko dzięki uniemożliwieniu modyfikacji Doom 3 nie jest zaśmieconym burdelem :) . W tym przypadku jeden plik zapewne nawet przyspiesza działanie - dam sobie palec uciąć, że wewnątrz dane są posortowane w jak najwydajniejszy sposób.

Jeśli już koniecznie chcesz zabezpieczenie danych w MMO, może pomyśl o najprostszym - czyli sprawdzaniu sumy kontrolnej otwieranego pliku z tą na serwerze oraz kilku archiwach obsługiwanych przez VFS? Suma kontrolna jest jeszcze lepszym niż szyfrowanie zabezpieczeniem poprawności pliku - w końcu szyfr łatwo złamać, a uzyskanie tej samej sumy i zachowanie poprawności pliku graniczy z niemożliwością nawet przy stosowaniu tak prostych algorytmów jak MD5. Poza tym więcej plików oznacza łatwiejszą aktualizację - wtedy np. pliki świata gry aktualizujesz podmieniając plik z informacjami o świecie, bez żadnego kombinowania z odczytem/zapisem. Ponadto dobry VFS pozwalać powinien na używanie zarówno luźnych plików, jak i archiwum (przykład: VFS w Infinity Engine, gdzie pierwszeństwo w użyciu mają pliki z katalogu override, a dopiero potem archiwa gry) - do zagwarantowania poprawności wystarczy suma kontrolna.
Odnoszę dziwne wrażenie że na potrzeby gry chcesz duplikować któryś z istniejących dyskowych systemów plików + dodać szyfrowanie. Jeśli możesz ograniczyć się do windows, może prostszym rozwiązaniem będzie katalog szyfrowany NTFS? :)
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: novo w Kwiecień 14, 2007, 17:08:29
Mozesz tez to obejsc :). Tworzysz sobie VFS, ktory w trakcie gry do archiwow ma dostep read-only. Wszystkie pliki z serwera sciagasz w dodatkowych archiwach(ew trzymasz luzno) i przy zamykaniu gry(albo otwieraniu) po prostu laczysz sobie archiwa w jedno(lub wstawiasz te luzne pliki). Co prawda wydluza to start/zamykanie gry, ale wtedy zawsze bedzie to jedno archiwum(no i nie musisz sie tak strasznie martwic o wydajnosc bo nie musisz modyfikowac archiwum w real-time).

Pozatym pamietaj, ze najczesciej najwiecej miejsca zajmuja takie rzeczy jak tekstury, modele itd. Sama czesc logiczna czyli skrypty configi itp to najczesciej pliki textowe i mysle ze nie bedzie ich wiecej jak pare mega. Mozesz sobie np stworzyc 2 archiwa, jedno read-only ktore zawiera wszystkie dane ktorych zmieniac nie bedziesz(czyli wlasnie te wielkie pliki) + oddzielne archiwum z konfigami i skryptami ktore mozesz modyfikowac w czasie dzialania. Dzieki temu mozesz modyfikowac gameplay w czasie gry(dociagnac z serwa nowe skrypty do AI, nowe questy). Jeszcze lepiej byloby gdyby moglo byc kilka archiwow statycznych, wtedy np nowa lokacje mozesz przeslac jako 2 paczki: modele + logika. W Q3 przy sciaganiu nowych map, byly one wlasnie pakowane w oddzielnych plikach pk3. Jezeli bardzo chcesz, mozesz pozniej to laczyc z tym co juz jest, ale nie wiem czy jest to niezbedne.

To tylko takie moje przemyslenia. Sam VFS'a nie pisalem, bo nie jest mi na razie potrzebny :)

Pozdr.
novo.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 17:21:29
Nadal nikt nie musnął nawet o odp. na pytanie nr. 3;
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Charibo w Kwiecień 14, 2007, 17:31:38
zrob jak uwazasz - a jeszcze lepiej przepusc sobie obie wersje przez profiler
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 18:05:10
Bo pytanie jest tak oczywiste, że aż głupio odpowiadać ...
Chyba to forum wlasnie po to jest zeby pytac i odpowiadac wiec jakbys mogla/mogl sie nie wymadrzac tylko odpowiadac to by bylo milo.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: dRaiser w Kwiecień 14, 2007, 19:20:31
Bo pytanie jest tak oczywiste, że aż głupio odpowiadać ...
Chyba to forum wlasnie po to jest zeby pytac i odpowiadac wiec jakbys mogla/mogl sie nie wymadrzac tylko odpowiadac to by bylo milo.

Mylisz się. To forum nie służy do zadawania pytań "dlaczego to mi nie działa/jak to zrobić", ale do ciekawych dyskusji na ciekawe tematy, ewentualnie do roztrząsania jakichś rzeczy, o których ciężko znaleźć informacje. Ty natomiast sprawiasz wrażenie, że za wszelką cenę chcesz udowodnić, że masz rację atakując użytkowników i powtarzając w kółko to samo.

3) robic obsluge VFSa w oddzielnym watku niz gre czy lepiej w tym samym?

Co do tego pytania - obsługa VFS w tym samym wątku co gra chyba by miała znaczenie dla wydajności? A jeśli chcesz to zrobić jednowątkowo, to najlepiej wszystkie potrzebne dane rozładować np podczas wczytywania programu/mapy.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 19:26:44
Co do tego pytania - obsługa VFS w tym samym wątku co gra chyba by miała znaczenie dla wydajności?
Dlaczego tak uwazasz?
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: dRaiser w Kwiecień 14, 2007, 19:35:40
Co do tego pytania - obsługa VFS w tym samym wątku co gra chyba by miała znaczenie dla wydajności?
Dlaczego tak uwazasz?

Każde otwarcie pliku/grzebanie w nim to operacja wymagająca odwoływań do strumienia, a każdy taki strumień potrzebuje części pamięci dla siebie - co sprawia, że ładowanie co jeden obieg jakichś plików nie jest najkorzystniejszym rozwiązaniem IMHO :).

Edit: st3tc - no ;).
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 19:42:36
Ale przeciez nie odczytywala bym odrazu calych plikow z pamieci (i nie zapisywala) tylko po pare bajtow w kazdym obrocie petli glownej gry - tak, zeby nie bylo przerw w plynnosci aplikacji. Wydaje mi sie, ze na to samo wyjdzie jesli utworze osobny watek (przeciez to tylko watek nie proces, proces aplikacji i tak bedzie musial dzielic czas pomiedzy oba watki).

//EDIT
W dodatku jesli w  jednym watku kaze odczytac mu caly plik powiedzmy o wielkosci 10MB, a w drugim bedzie sie toczyla normalna rozgrywka to FPS w tej rozgrywce moze spac nawet o polowe. A plik zaladuje sie powiedzmy po 1-2 sekundach. A jesli bede miala wszystko w jednym watku moge odczytywac po pare bajtow w kazdym obrocie petli i plik odczytam powiedzmy w 10 sekund (zalozmy, ze w tej sytuacji musze dostac te dane dopiero po 10 sekundach) ale nie bedzie znacznego spadku FPS.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: dRaiser w Kwiecień 14, 2007, 19:44:46
Ale przeciez nie odczytywala bym odrazu calych plikow z pamieci (i nie zapisywala) tylko po pare bajtow w kazdym obrocie petli glownej gry - tak, zeby nie bylo przerw w plynnosci aplikacji. Wydaje mi sie, ze na to samo wyjdzie jesli utworze osobny watek (przeciez to tylko watek nie proces, proces aplikacji i tak bedzie musial dzielic czas pomiedzy oba watki).

Ale zawsze każda operacja na plikach zawiesza choćby na chwilę program - w wielowątkowości aplikacja rozdziela to sama na tyle sprawnie, że nie ma raczej problemów z utratą płynności, ale z odczytywaniem w trakcie działania głównej jest różnie.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 14, 2007, 21:18:30
Dlatego uważam, że Twoja koncepcja modyfikacji oryginalnych plików to błędne założenie projektowe. Ale pewnie jak zwykle wiesz lepiej ...
To nie to, ze wiem lepiej tylko poprostu wiem, ze w projekcie bede musiala zaimplementowac sciaganie niektorych rzeczy z netu takich jak napotkane obiekty, modele, czasem lokacje w trakcie rozgrywki (bez napisu "loading"). Wtedy niezbedny jest tez zapis do archiwum (moja wypowiedz odnosila sie do zapisu do archiwum i modyfikacji jego a nie tego, ze bede musiala modyfikowac pojedyncze pliki modeli itp.)
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Charibo w Kwiecień 14, 2007, 21:24:54
nie zebym sial defetyzm, ale moze nie zaczynaj kamizelki od guzika ;)
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Kurak w Kwiecień 14, 2007, 21:25:35
Cytuj
To nie to, ze wiem lepiej tylko poprostu wiem, ze w projekcie bede musiala zaimplementowac sciaganie niektorych rzeczy z netu takich jak napotkane obiekty, modele, czasem lokacje w trakcie rozgrywki (bez napisu "loading"). Wtedy niezbedny jest tez zapis do archiwum (moja wypowiedz odnosila sie do zapisu do archiwum i modyfikacji jego a nie tego, ze bede musiala modyfikowac pojedyncze pliki modeli itp.)
W czasie gry możesz przecież ściągać pliki do luźnego katalogu i go podłączać do VFSa... A to, czy nie zostały zmodyfikowane sprawdzać sumą kontrolną.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Reg w Kwiecień 15, 2007, 11:40:53
Kto nie widział nigdy gry zapisującej do swojego VFS-a niech zapozna się z GuildWars. Tam praktycznie codziennie po wejściu do gry (a jest to MMORPG) coś nowego się pobiera (także w tle podczas już samej gry) i to wszystko trafia do jednego dwugigowego pliku Gw.dat. Twórcy wyjaśniają, że żeby po reinstalacji gry nie trzeba było ściągać wszystkich poprawek od nowa, wystarczy zachować sobie ten plik i skopiować go do nowej instalacji GuildWars. Poręczne. Do tego działa bardzo szybko, bo co jak co ale twórcy GuildWars naprawdę przyłożyli się do wydajności swojej gry.

EDIT: Dla kontrastu, u Blizzarda każdy patch (na szczęście nie są tak częste) albo dokłada nowe archiwum MPQ, albo dodaje pliki do istniejącego. W tym drugim przypadku trzeba całe archiwum... przepakować przepisując go od nowa, co zabiera podwójny obszar dysku i trwa dłużej niż pobieranie nowych danych, czasami wiele minut.
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Anusia2007 w Kwiecień 15, 2007, 14:25:10
Eee Reg nie znasz sie ;) Tworcy Guild Wars poprostu popelnili blad projektowy, ich gra jest jednym wielkim burdelem a pozatym w ogole nie pomysleli o wydajnosci :P
Tytuł: Odp: Virtual File System
Wiadomość wysłana przez: Netrix w Maj 17, 2007, 16:04:49
No co do Blizzarda to Reg racja, bo jak grałem to mnie szlag trafiał jak trzeba było patcha instalować, ale jeden plik mi się w tej grze podobał: repair.exe :)