Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Вниз

Кто и как пакует ресурсы ?   Найти похожие ветки 

 
Colt1978   (2004-10-13 19:25) [0]

Суть в следующем, пишу проект, и хотелось бы на начальном ещё этапе все ресурсы (музыку, 3D модели, текстуры) както запаковывать и во время работы проекта как то это всё извлекать. Использую при написании GLScene, в ней есть компонент запаковщик-распаковщик pak файлов. Подскажите примером как именно своему проекту говорить что ресурсы бери из этого pak-файла, внутри которого есть папка такаято? а в неё есть файл такойто... ???
Может уже кто сталкивался с этой проблеммой и решил её ? Или есть какой либо другой способ ?
А что хотел ещё спросить и сильно узнать: при создании внутри pak файла папки образуется файл temp.tmp в 12 метров, для чего, зачем, смысл или это так для примера. т.к. я их удалил пак всёравно стал открываться, изменяться без проблемм в чём подвох?


 
XProger ©   (2004-10-13 22:29) [1]

Пиши свой pak формат и не контролируй всю работу с ним...
И для какой цели запаковываешь ресурсы?


 
DeadMeat ©   (2004-10-13 23:25) [2]

Файл temp.tmp нужен для того, чтобы в паке был хотябы один файл в начале... Не знаю почему так и почему он 12 метров весит, но это факт, что всегда должен быть хотя бы один. Потом его можно грохнуть.

А проекту ничего говорить не надо. Надо везде, где загрузка указывать относительные пути. Например GLActor1.LoadFromFile ("models\actor\actor.smd"); Сам GLScene перенаправляет все вызовы загрузки прямо в модуль пака... Главное, чтобы в самом паке все пути правильные были.
Пример чуть попозжа накатаю... Щас устал очень

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-10-14 00:58) [3]

http://delphimaster.net/view/9-1073144322/&web=1
http://www.deadmeat.fatal.ru/pak.rar

---
...Death Is Only The Begining...


 
Colt1978   (2004-10-14 09:01) [4]

DeadMeat пример при компиляции выдаёт ошибку в файле GLVfsPAK в procedure TGLVfsPAK.LoadFromFile(FileName: string; Mode: word); на стоке FPakFiles.Add(FileName); - как я понимаю ошибка говорит о том что объект ещё какбы не создан в памяти, вот такая вот хрень.
может у тебя немного другой файл GLVfsPAK ?


 
NailMan ©   (2004-10-14 09:38) [5]

Я лично в свой формат загоняю. Не жмется ничего, просто все линкуется. Так меньше на винте места занимает(с учетом хвостов кластеров).

---
WBR, NailMan aka 2:5020/3337.13


 
П7   (2004-10-14 12:56) [6]

Я почти дописал простенькую сжималку. Самую простенбку. Основанную на повторяющихся байтах. Хотя игровые ресурсы она врядли будет жать. Ибо они в основном и так жутко пожаты - ogg, tga и т.д. Разве что собственные форматы файлов, вроде карт, диалогов и т.д.


 
Colt1978   (2004-10-14 14:46) [7]

Мож кто возьмёт  и выложет ?


 
NailMan ©   (2004-10-14 17:19) [8]

моя версия на моем сайте валяется в сорсах(сайт в инфо смотри)

---
WBR, NailMan aka 2:5020/3337.13


 
П7   (2004-10-14 18:08) [9]

Ну, пакер без сжатия я написал очень давно. Он с исходниками давно валяется в сети. Вот ссылка на страничку: http://tzlab.amillo.net/content.php?dir=delphi&subdir=p7gfxtools (может иногда не грузиться, главное не оставлять попыток).
Там не реализована распаковка в поток. Но это легко сделать самому, если нужно.


 
Colt1978   (2004-10-14 22:18) [10]

DeadMeat, с проблеммой разобрался (я об ошибке)


 
DeadMeat ©   (2004-10-14 22:41) [11]

Проблема была в том, что у тебя старая сборка GLScene...
Не извращайся и скачай новую... Ща я ее залью к себе.

---
...Death Is Only The Begining...


 
Darth   (2004-10-14 23:12) [12]

У меня используется архиватор, который написал мой друг. Он писал ради интереса и от нечего делать мне в помощь. Жмет все не хуже зипа.


 
П7   (2004-10-14 23:30) [13]

А я давно уже всякого накачал по этой теме. Вот только руки мои кривые пока не доберуться туда. Вот со звуком разгребу - займусь архиватором. Чтоб шустро мог в поток разархивировать... (:
Доберусь - поделюсь! (:


 
Colt1978   (2004-10-15 06:01) [14]

DeadMeat, да вроде всё новое, всё что ты мне давал....


 
DeadMeat ©   (2004-10-15 12:28) [15]

У них много изменений появилось недавно... Вчера блин залить не смог, инет пропал... Попробую сегодня. Но только вечером...


 
WondeRu ©   (2004-10-15 12:59) [16]

а почему ZLib не пользуете?


 
cyborg ©   (2004-10-15 13:23) [17]

Я никак не пакую, в инсталляторе всё запаковывается, а во время игры только дополнительные тормоза будут при распаковке данных.


 
Colt1978   (2004-10-15 14:16) [18]

cyborg? нескажи... у меня к примеру 3DS модели в папке maps текстуры в другой папке, звук будет к примеру тоже в другой, и я могу создать несколько запакованных файлов но с разной степенью компрессии например зачем маяться и максимально сживать файлы текстур в jpeg формате, а вот к примеру 3ds модели хорошо и быстро жмутся и разжимаются также... тут поиграть можно с той или иной степенью компрессии....
А инсталлятором ты можешь потом замутить инсталяшку своего проекта с запакованными файликами и прочими ресурсами..
DeadMeat, ок буду ждать....


 
cyborg ©   (2004-10-15 14:21) [19]


>  [18] Colt1978   (15.10.04 14:16)

Все эти сжатия только увеличивают время на их разжатие, что меня раздражает в современных играх, загрузки сцен иногда до нескольких минут идут. Такие игры в компьютере не задерживаются, только нервы портить. А большой размер установленной игры для меня не важен, диски сейчас огромные и дешёвые. Главное чтобы игра была хорошая и немаловажно, чтобы пре переходе сцен грузилось всё быстро.


 
Sapersky   (2004-10-15 16:13) [20]

а почему ZLib не пользуете?

Или вот UCL. Минимальна по размеру кода и оптимизирована на распаковку - вроде действительно побыстрее, чем zlib, хотя сжимает медленнее.

Все эти сжатия только увеличивают время на их разжатие, что меня раздражает в современных играх, загрузки сцен иногда до нескольких минут идут

Это да. Особенно если умники-программисты полностью всё перегружают даже в quickload :(
Можно попробовать распараллелить распаковку и загрузку. Грузим асинхронно (ReadFileEx), и пока оно грузится (теоретически - через DMA, без участия процессора), распаковываем предыдущий загруженный блок.


 
Colt1978   (2004-10-15 18:41) [21]

cyborg Все эти сжатия только увеличивают время на их разжатие, что меня раздражает в современных играх, загрузки сцен иногда до нескольких минут идут. Такие игры в компьютере не задерживаются, только нервы портить. А большой размер установленной игры для меня не важен, диски сейчас огромные и дешёвые. Главное чтобы игра была хорошая и немаловажно, чтобы пре переходе сцен грузилось всё быстро.
Интересно а кто будет выкачивать с инета такой проект ???
Я тут на днях видел почти аналогию того что пишу я, но там прилагался обязательный патч в 12 метров, и сама гамесав архиве на 93 мега !!!
Ни у каждого выделенка и денег вагон на такую скачку.... Темболее что за гамеса я по скриншотам понял только 50 на 50...


 
Sapersky   (2004-10-15 18:55) [22]

Интересно а кто будет выкачивать с инета такой проект ???

Проекты все нормальные люди выкладывают в архиве. И вряд ли "на коленке" получится сжать лучше, чем непрерывный rar-архив или даже zip. Более того, ранее сжатые файлы часто архивируются хуже (т.е. финальный размер сжатого два раза файла больше).


 
cyborg ©   (2004-10-15 21:23) [23]


> [21] Colt1978   (15.10.04 18:41)

Нормальные инсталяторы пакуют данные.


 
DeadMeat ©   (2004-10-15 22:08) [24]


> [16] WondeRu ©   (15.10.04 12:59)

В GLScene он и используется...


> [20] Sapersky   (15.10.04 16:13)

Во во... Я тоже хотел UCL предложить вчера, да блин связь пропала. Я по нему переделывал както этот PAK в GLScene. Неплохо вышло...

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-10-15 22:38) [25]

http://www.deadmeat.programist.ru/Source.rar
http://www.deadmeat.programist.ru/Demos.rar

---
...Death Is Only The Begining...


 
DeadMeat ©   (2004-10-15 22:46) [26]

Пардон за [24] насчет ZLib... Обшибся. Он был там раньше... Сейчас LZRW...
http://www.deadmeat.programist.ru/tlzrw.zip
На всякий случай...

---
...Death Is Only The Begining...


 
FRick ©   (2004-11-03 22:18) [27]

TResManager


 
Colt1978   (2004-11-07 11:03) [28]

Что это ?


 
FRick ©   (2004-11-07 11:37) [29]

> Что это ?
Если хочеш я выложу это на сайте www.limgroup.narod.ru
это менеджер ресурсов для делфи очень удобный в применение
когда все ресурсы готовы ты их пакуеш в файл любого разрещения
ставиш пароль и из программы получаеш содержимое!
В комплект идет паковшик ресурсов и компонент для Delphi
автор этого компонента Константин Артемев!


 
Домовенок   (2004-11-07 11:44) [30]

> DeadMeat (15.10.04 22:38) [25]

Скажи пожалуйста, приведенные тобой ссылки в посте [5] на исходники и демки GLScene от какого числа? Спасибо.


 
FRick ©   (2004-11-07 12:28) [31]

Всё я выложил на
http://www.limgroup.narod.ru


 
DeadMeat ©   (2004-11-07 13:22) [32]

Точно не помню, поэтому сегодня залил еще раз... Пока только Source, потом и Demos залью... На всякий случай, это не те снэпшоты, которые выкладываются ими... Это с CVS обновления...

---
...Death Is Only The Begining...


 
Zer0 ©   (2004-11-09 13:24) [33]

раньше юзал zlib (помойму эта тема уже светилась в форуме)
теперь ppms - гораздо быстрее рара почти с той же степеню сжатия.

---
как вырубить эту подпись???


 
NikeOLD ©   (2004-11-09 14:08) [34]


> Colt1978   (15.10.04 18:41) [21]
> Интересно а кто будет выкачивать с инета такой проект ???
> Я тут на днях видел почти аналогию того что пишу я, но там
> прилагался обязательный патч в 12 метров, и сама гамесав
> архиве на 93 мега !!!
> Ни у каждого выделенка и денег вагон на такую скачку....
> Темболее что за гамеса я по скриншотам понял только 50 на
> 50...


Господа, если разговор идет о распаковщиках, значит игра будет не под себя  и не для России. А на Западе и в Европе анлим на ADSL всего за 24-30 долларов (евро) в месяц + телефон + кабельное ТВ. Это копейки и по их и по нашим меркам.
Так что я в некотором роде cyborg"a поддерживаю. А длительная загрузка особенно в простых играх и впрямь достает хуже тещи.


 
П7   (2004-11-09 16:44) [35]

Всё-таки пришёл к выводу, что нафиг ничего паковать не нужно вообще.
Пусть всё лежит в открытом виде и чем проще\быстрее будет идти загрузка тем лучше. Так или иначе качать будут инсталатор, который всё пожмёт гараздо лучше...

Поэтому нафиг файлы ресурсов, да здраствует свобода файлов! (:


 
Zer0 ©   (2004-11-09 21:08) [36]

Тут есть некоторые нюансы.
Например если простая игруха имеет 100000 файлов (спрайтики одтельно или каждый кадр анимации отдельно) то ставится и удалаться такая громадина будет крайне долго. Свой эмулятор FAT, который еще к тому-же оптимизирован для поиска (например хешированием) даст нехилый такой прирост. (аналог tar ball)

---
как вырубить эту подпись??? юзаю DMClient


 
NikeOLD ©   (2004-11-10 09:25) [37]

to [35], [36]
Паковать может и не обязательно, но свой формат сделать не плохо было бы по следующим причинам:
1. Описано в посте [36]
2. Описано еще где-то: сильная кластеризация из-за маленьких файлов
3. Открытую графику украсть или заменить на свою проще. А оно надо?

Поэтому если с паковку и не делать, то свой формат должен быть. Оно и приятнее, и защиту повесить можно, и все ресурсы в пару файлов запихнуть тоже.


 
П7   (2004-11-10 12:59) [38]


> Zer0 ©   (09.11.04 21:08) [36]

Ну, это вопрос не паковки ресурсов, а грамотной организации оных. Анимированный спрайт логичнее собрать в один файл, иначе грузиться он будет дольше, чем запакованый объединённый...


 
Colt1978   (2004-11-11 13:49) [39]

Я за запаковку ресурсов и их сокрытие.
Мои творенья в 3D Maxe я не хочу чтоб кто-то себе присвоил. Хотя честно по правде несколько сторонних разработак я использовал сам в своём проекте, но совесть не гложет, они фриварные были....


 
П7   (2004-11-11 14:39) [40]

Никто на твоих ТВОРЕНИЯХ денег себе не срубит, ибо это будет плагиат! Пойми, те кто будет продавать игру за деньги - наймут себе моделеров, чтобы затем никаких проблем с копирайтами не было. А те кто просто плодит бесплатные игрушки - да и фиг с ними... Жалко чтоли...



Страницы: 1 2 вся ветка

Форум: "Игры";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.041 c
1-1107843337
Elast
2005-02-08 09:15
2005.02.20
TEdit+TlistBox+AV


14-1106939309
Ломброзо
2005-01-28 22:08
2005.02.20
"Что, уже началось?" :-)


14-1106747016
Derevyanniy kak Rels
2005-01-26 16:43
2005.02.20
А вот как быть в таком случае ?


1-1107822395
NickKuz
2005-02-08 03:26
2005.02.20
как можно заставить Delphi 7 запихнуть все нужные DLL в прогу


1-1107312143
Alex_Petr
2005-02-02 05:42
2005.02.20
SearchPath по разному работает в зависимости от способа старта.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский