Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.30;
Скачать: CL | DM;

Вниз

Паки в играх   Найти похожие ветки 

 
Vga ©   (2006-11-19 00:56) [0]

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


 
grisme ©   (2006-11-19 06:18) [1]

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


 
antonn ©   (2006-11-19 08:49) [2]

обычно запакованные ресурсы недоступны для редактирования и стыривания:) конечно, все можно открыть, но так сложнее:)


 
Cash ©   (2006-11-19 13:38) [3]

Паки интересно вскрывать! :)
Особенно интересно - когда используется алгоритм сжатия данных!

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


 
XProger ©   (2006-11-19 14:44) [4]

В большинстве случаев не нужны, но имеют ряд плюсов:
1) Удобное хранение при недостатке ёмкостных ресурсов носителей (игры на консолях)
2) Занимают меньше места, не только благодаря сжатию (если таковое имеется), но и из-за особенностей самого устройства файловой системы носителя.
3) Однозначная работа при создании межплатформенных приожений.
4) Легко реализуем быстрый поиск файла в паке и др. фишки.

Сложность вскрытия... обычно сами разработчики распространяют SDK к игре для мод мейкеров. Так что сложности вскрытия зачастую нет :)


 
Vga ©   (2006-11-20 22:26) [5]

Еще мнения будут?


 
Pa5ha ©   (2006-11-20 22:53) [6]

5) быстрее доступ к одному файлу, нежели поиску всех файлов игры. У мя в кс-е 9000 файлов. Разве это нормально?


 
megabyte-ceercop ©   (2006-11-24 13:18) [7]

Пак нужно добовлять в двиг в последнюю очередь, когда есть полностью готовая игра, и пришло время ее широко распространять.

На этапе разработки пак только мешает.


 
Думкин ©   (2006-11-24 14:12) [8]

> megabyte-ceercop ©   (24.11.06 13:18) [7]

Так и делали. Во время разработки все данные в обычном виде. Читаются через один класс. Потом пакуем, меняем поле в классе и читаем из пака.

Удобство в объеме и зачастую в более быстрым доступе к ресурсу. У нас из пака файлы доставались быстрее, чем с диска.


 
Vga ©   (2006-11-24 14:29) [9]

> [7] megabyte-ceercop ©   (24.11.06 13:18)

Лично у меня система доступа к файлам однаково работает и с паками, и с обычной ФС (примерно как в Quake3).
Спасибо за ответы.


 
ANTPro ©   (2006-11-24 16:07) [10]

> [7] megabyte-ceercop ©   (24.11.06 13:18)

+1


 
Vga ©   (2006-11-24 16:13) [11]

> [7] megabyte-ceercop ©   (24.11.06 13:18)

Ксттати, поддержку паков ИМХО в двиг сразу надо добавлять. Мешается он не при разработке двига, а при разработке игры (ресурсы править неудобно).


 
Думкин ©   (2006-11-27 06:08) [12]


> Vga ©   (24.11.06 16:13) [11]

А чего там добавлять то? Достаточно написать потомка от TFileStream и с ним и работать, а он работает уже с тем, что ему сунули - директорию или пак.


 
Vga ©   (2006-11-27 06:52) [13]

> [12] Думкин ©   (27.11.06 06:08)

Лично у меня другой взгляд на этот вопрос, который и воплотился в моей системе работы с паками.


 
Vga ©   (2006-11-27 06:55) [14]

Результат можно посмотреть (и попинать) здесь: http://vgasoft.googlecode.com/svn/Assault/PakMan.pas


 
cyborg ©   (2006-11-27 09:20) [15]

> [14] Vga ©   (27.11.06 06:55)

Что это за модули?
AvL, avlMath, avlUtils, UCLAPI, avlLZMADec, avlAdler32, avlMasks


 
ANTPro ©   (2006-11-27 10:38) [16]

> [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 сжатие и расжатие :)


 
Vga ©   (2006-11-27 13:45) [17]

> Что это за модули?
Да вот выбрал библиотеку на свою голову...
> 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)


 
Думкин ©   (2006-11-28 05:40) [18]


> Vga ©   (27.11.06 06:55) [14]

Мне вот смотреть лень. :)
У нас тоже целая библиотека была. Но в итоге в программе использовался наследник TFileStream, модуль  инициализировался и подготавливался в начале работы программы, а потом в нужных местах я создавал этого потомка и работал как с обычным TFileStream. А в чем может быть существеннно иной подход еще?


 
Vga ©   (2006-11-28 14:13) [19]

> [18] Думкин ©   (28.11.06 05:40)

Тут в принципе довольно похоже, только есть объект, предоставляющий ФС-подобный сервис (открытие/закрытие/создание/поиск файлов в виртуальной ФС, составляемой из найденных паков и содержимого базовой директории аля пакер Q3), а доступ к файлам предоставляется через потомков TStream, создаваемых этим объектом. Вот собственно и все.



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

Текущий архив: 2007.12.30;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.02 c
15-1196329619
andreoman
2007-11-29 12:46
2007.12.30
хелп на русском языке к компоненту cxGrid из DevExpress


2-1196895020
Malik
2007-12-06 01:50
2007.12.30
IncludeTrailingBackslash


15-1195640433
VICTOR_
2007-11-21 13:20
2007.12.30
Не запускается Turbo Delphi 2006


6-1176925891
Dmitry_177
2007-04-18 23:51
2007.12.30
При изменении порта или ip-адреса нужно ли пересоздавать сокет?


15-1196317116
vasIZmax
2007-11-29 09:18
2007.12.30
Сбор файлов локалке