Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Паки в играх


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]

удобно хранить все в одном файле, а не грудой. да и пожатость присутствует, обычно, хоть и не большая :) а как геймер их может использовать?


Наверх

Титульная страница Поиск, карта сайта Написать письмо