![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Паки в играх
Vga © (2006-11-19 00:56:00)Ваше мнение о сабже: какие вы можете назвать причины в пользу их использования/неиспользования с точки зрения девелопера и с точки зрения геймера.
Vga (2006-11-28 14:13:00) [1]> [18] Думкин © (28.11.06 05:40)
Тут в принципе довольно похоже, только есть объект, предоставляющий ФС-подобный сервис (открытие/закрытие/создание/поиск файлов в виртуальной ФС, составляемой из найденных паков и содержимого базовой директории аля пакер Q3), а доступ к файлам предоставляется через потомков TStream, создаваемых этим объектом. Вот собственно и все.
Думкин (2006-11-28 05:40:00) [2]
> Vga © (27.11.06 06:55) [14]
Мне вот смотреть лень. :)
У нас тоже целая библиотека была. Но в итоге в программе использовался наследник TFileStream, модуль инициализировался и подготавливался в начале работы программы, а потом в нужных местах я создавал этого потомка и работал как с обычным TFileStream. А в чем может быть существеннно иной подход еще?
Vga (2006-11-27 13:45:00) [3]> Что это за модули?
Да вот выбрал библиотеку на свою голову...
> AvL
Кодоэкономичная библиотека, довольно глючная :(
> avlMath
Адаптация Math под AvL
> avlUtils
Куча различных функций, написанных мной или выдранных из Delphi RTL
> UCLAPI
Чищеный от всего лишнего модуль импорта сишной библиотеки UCL (сжатие)
> avlLZMADec
Вырезанный из Inno Setup и портированный под AvL декомпрессор LZMA
> avlAdler32
Импорт контрольной суммы Adler32 из библиотеки zlib
> avlMasks
Порт Masks (Delphi RTL) под AvL
С небольшой потерей функциональности можно легко портировать на Delphi RTL (SysUtils, Classes, etc)
ANTPro (2006-11-27 10:38:00) [4]> [15] cyborg © (27.11.06 09:20)
http://vgasoft.googlecode.com/svn/AvL- библиотека
http://vgasoft.googlecode.com/svn/AvL/avlLZMA- LZMA анпак
http://vgasoft.googlecode.com/svn/AvL/avlUCL- UCL сжатие и расжатие :)
cyborg (2006-11-27 09:20:00) [5]> [14] Vga © (27.11.06 06:55)
Что это за модули?
AvL, avlMath, avlUtils, UCLAPI, avlLZMADec, avlAdler32, avlMasks
Vga (2006-11-27 06:55:00) [6]Результат можно посмотреть (и попинать) здесь: http://vgasoft.googlecode.com/svn/Assault/PakMan.pas
Vga (2006-11-27 06:52:00) [7]> [12] Думкин © (27.11.06 06:08)
Лично у меня другой взгляд на этот вопрос, который и воплотился в моей системе работы с паками.
Думкин (2006-11-27 06:08:00) [8]
> Vga © (24.11.06 16:13) [11]
А чего там добавлять то? Достаточно написать потомка от TFileStream и с ним и работать, а он работает уже с тем, что ему сунули - директорию или пак.
Vga (2006-11-24 16:13:00) [9]> [7] megabyte-ceercop © (24.11.06 13:18)
Ксттати, поддержку паков ИМХО в двиг сразу надо добавлять. Мешается он не при разработке двига, а при разработке игры (ресурсы править неудобно).
ANTPro (2006-11-24 16:07:00) [10]> [7] megabyte-ceercop © (24.11.06 13:18)
+1
Vga (2006-11-24 14:29:00) [11]> [7] megabyte-ceercop © (24.11.06 13:18)
Лично у меня система доступа к файлам однаково работает и с паками, и с обычной ФС (примерно как в Quake3).
Спасибо за ответы.
Думкин (2006-11-24 14:12:00) [12]> megabyte-ceercop © (24.11.06 13:18) [7]
Так и делали. Во время разработки все данные в обычном виде. Читаются через один класс. Потом пакуем, меняем поле в классе и читаем из пака.
Удобство в объеме и зачастую в более быстрым доступе к ресурсу. У нас из пака файлы доставались быстрее, чем с диска.
megabyte-ceercop (2006-11-24 13:18:00) [13]Пак нужно добовлять в двиг в последнюю очередь, когда есть полностью готовая игра, и пришло время ее широко распространять.
На этапе разработки пак только мешает.
Pa5ha (2006-11-20 22:53:00) [14]5) быстрее доступ к одному файлу, нежели поиску всех файлов игры. У мя в кс-е 9000 файлов. Разве это нормально?
Vga (2006-11-20 22:26:00) [15]Еще мнения будут?
XProger (2006-11-19 14:44:00) [16]В большинстве случаев не нужны, но имеют ряд плюсов:
1) Удобное хранение при недостатке ёмкостных ресурсов носителей (игры на консолях)
2) Занимают меньше места, не только благодаря сжатию (если таковое имеется), но и из-за особенностей самого устройства файловой системы носителя.
3) Однозначная работа при создании межплатформенных приожений.
4) Легко реализуем быстрый поиск файла в паке и др. фишки.
Сложность вскрытия... обычно сами разработчики распространяют SDK к игре для мод мейкеров. Так что сложности вскрытия зачастую нет :)
Cash (2006-11-19 13:38:00) [17]Паки интересно вскрывать! :)
Особенно интересно - когда используется алгоритм сжатия данных!
Запаковка ресурсов игры необходима для обеспечения целостности и
конфиденциальности игрового процесса, чтобы никто не мог нарушить
сюжетную линию, чтобы с картами и локациями помутить не получилось.
Очень удобная вещь, можно разработать такой пак, который принципиально
нельзя вскрыть, конечно, без прямого дизасемблирования самой игры. :)
antonn (2006-11-19 08:49:00) [18]обычно запакованные ресурсы недоступны для редактирования и стыривания:) конечно, все можно открыть, но так сложнее:)
grisme (2006-11-19 06:18:00) [19]удобно хранить все в одном файле, а не грудой. да и пожатость присутствует, обычно, хоть и не большая :) а как геймер их может использовать?