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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.008 c
15-1196529516
@!!ex
2007-12-01 20:18
2007.12.30
Как переделать lib в dll?


9-1164757810
_Andru_
2006-11-29 02:50
2007.12.30
Кому-то нужны сырцы двигла?=)


15-1196024180
FearG0
2007-11-25 23:56
2007.12.30
Portable Delphi


6-1177047641
tytus
2007-04-20 09:40
2007.12.30
Indy 10 - Как узнать, что клиент отключился? (клиент - в dll)


8-1171298890
Zvezda
2007-02-12 19:48
2007.12.30
Движение





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский