Grid Cache File

Поделись знанием:
(перенаправлено с «GCF»)
Перейти к: навигация, поиск

Game Cache File (.gcf) (файл игрового кэша) — формат хранения, используемый Valve Corporation в системе Steam для распространения компьютерных игр и официального игрового контента. Данный формат использует для размещения игровых файлов подобие виртуальной файловой системы. Каждый файл содержит часть файлов игры, а также информацию об их размере, контрольной сумме и таблицу размещения. Игры, распространяемые через Steam, не всегда находятся в одном GCF файле. Например, Team Fortress 2 использует три GCF файла для своего содержимого, плюс ещё восемь файлов движка Source. Каждый GCF-файл может использоваться в нескольких играх, преимущественно это файлы движка игры (например source engine.gcf) или файлы базовой игры, используемой в играх-аддонах (например файлы source materials.gcf, source models.gcf и source sounds.gcf, являющиеся файлами Half-Life 2, используются практически во всех играх Valve). GCF файлы хранятся в директории Steam, поддиректории «SteamApps».

Изначально GCF было сокращением от Grid Cache File[1] (Grid (Решётка) — раннее кодовое имя Steam) Теперь принято считать, что GCF — аббревиатура от Game Cache Files. Все игры на основе таких файлов не могут работать без Steam даже при полной распаковке содержимого GCF — использование их без Steam возможно только с применением эмуляторов.

Использование формата GCF решает несколько задач, но в то же время обладает рядом недостатков. В целом формат GCF удобен для автообновлений и восстановления данных, но только для сохранения оригинальной игры в том виде, в котором её создал разработчик — пользователь не может изменить непосредственно сами файлы игры и внедрить модификацию с изменением характеристик прямо внутрь игры. Также использование gcf-файлов требует распаковки файлов библиотек (dll) и приложений (exe), а также медиафайлов, что уменьшает свободное место на жёстком диске. Формат GCF основан на использовании модификаций при сохранении оригинальной игры, что упрощает её восстановление, но не даёт возможность изменить базовые файлы игры.

Ввиду невозможности использования контента из сторонней игры без распаковки её файлов, более длительного времени загрузки игры, основанной на GCF, по сравнению с распакованной игрой, а также ряда других недостатков компания Valve решила отказаться от использования формата в дальнейшем и перейти на систему распакованных файлов в своих играх. Для уменьшения количества файлов игры, а также предотвращения wallhack-читов в сетевых играх был создан специальный формат внутриигровых архивов - VPK. Первой игрой Valve, основанной на этой системе, стала Left 4 Dead. Тем не менее, моды к играм, выпущенным в формате GCF, также создаются в этом формате; неясной остаётся ситуация с форматом будущей Half-Life 2: Episode Three.



Программы для работы с содержимым GCF

  • [nemesis.thewavelength.net/index.php?p=26 GCFScape] - наиболее популярная утилита для просмотра и распаковки файлов. Создана программистом Ryan "Nemesis" Gregg на основе созданной им же библиотеке HLLib, позволяющей сторонним программам просматривать и распаковывать содержимое GCF. Данная библиотека используется в программах для открытия содержимого GCF, например в VTFEdit и VTF Explorer - редакторах текстур движка Source.
  • GCF Explorer - утилита для просмотра и распаковки GCF файлов.
  • CF Toolbox - программа для просмотра версии и процента обновлённости файлов. Позволяет создавать патчи для GCF более ранних версий и применять их к имеющимся файлам, а также загружать и обновлять доступные с Steam-аккаунта или не защищённые проверкой лицензии файлы.
  • Также есть плагин для WinRAR и Total Commander позволяющий просматривать и распаковывать кеш.

Напишите отзыв о статье "Grid Cache File"

Примечания

  1. [developer.valvesoftware.com/wiki/GCF GCF — Valve Developer Community] (англ.). О формате GCF на сайте разработчиков. Проверено 18 января 2009. [www.webcitation.org/5w5C6Fxt6 Архивировано из первоисточника 29 января 2011].

Ссылки

  • [developer.valvesoftware.com/wiki/GCF О GCF на Valve Wiki]
  • [supportwiki.steampowered.com/wiki/Game_cache_file_(GCF) GCF на сайте техподдержки]
  • [www.wunderboy.org/docs/gcfformat.php GCF на Wunderboy]: попытка энтузиастов распаковывать содержимое GCF файлов.
  • [nemesis.thewavelength.net/index.php?p=25 GCFScape by Nem]: Сторонняя утилита для просмотра и распаковки содержимого GCF файлов

Отрывок, характеризующий Grid Cache File

«Попробовать на счастие, или наверное?» подумал Ростов.
– Да и лучше не играй, – прибавил он, и треснув разорванной колодой, прибавил: – Банк, господа!
Придвинув вперед деньги, Долохов приготовился метать. Ростов сел подле него и сначала не играл. Долохов взглядывал на него.
– Что ж не играешь? – сказал Долохов. И странно, Николай почувствовал необходимость взять карту, поставить на нее незначительный куш и начать игру.
– Со мной денег нет, – сказал Ростов.
– Поверю!
Ростов поставил 5 рублей на карту и проиграл, поставил еще и опять проиграл. Долохов убил, т. е. выиграл десять карт сряду у Ростова.
– Господа, – сказал он, прометав несколько времени, – прошу класть деньги на карты, а то я могу спутаться в счетах.
Один из игроков сказал, что, он надеется, ему можно поверить.
– Поверить можно, но боюсь спутаться; прошу класть деньги на карты, – отвечал Долохов. – Ты не стесняйся, мы с тобой сочтемся, – прибавил он Ростову.
Игра продолжалась: лакей, не переставая, разносил шампанское.
Все карты Ростова бились, и на него было написано до 800 т рублей. Он надписал было над одной картой 800 т рублей, но в то время, как ему подавали шампанское, он раздумал и написал опять обыкновенный куш, двадцать рублей.
– Оставь, – сказал Долохов, хотя он, казалось, и не смотрел на Ростова, – скорее отыграешься. Другим даю, а тебе бью. Или ты меня боишься? – повторил он.
Ростов повиновался, оставил написанные 800 и поставил семерку червей с оторванным уголком, которую он поднял с земли. Он хорошо ее после помнил. Он поставил семерку червей, надписав над ней отломанным мелком 800, круглыми, прямыми цифрами; выпил поданный стакан согревшегося шампанского, улыбнулся на слова Долохова, и с замиранием сердца ожидая семерки, стал смотреть на руки Долохова, державшего колоду. Выигрыш или проигрыш этой семерки червей означал многое для Ростова. В Воскресенье на прошлой неделе граф Илья Андреич дал своему сыну 2 000 рублей, и он, никогда не любивший говорить о денежных затруднениях, сказал ему, что деньги эти были последние до мая, и что потому он просил сына быть на этот раз поэкономнее. Николай сказал, что ему и это слишком много, и что он дает честное слово не брать больше денег до весны. Теперь из этих денег оставалось 1 200 рублей. Стало быть, семерка червей означала не только проигрыш 1 600 рублей, но и необходимость изменения данному слову. Он с замиранием сердца смотрел на руки Долохова и думал: «Ну, скорей, дай мне эту карту, и я беру фуражку, уезжаю домой ужинать с Денисовым, Наташей и Соней, и уж верно никогда в руках моих не будет карты». В эту минуту домашняя жизнь его, шуточки с Петей, разговоры с Соней, дуэты с Наташей, пикет с отцом и даже спокойная постель в Поварском доме, с такою силою, ясностью и прелестью представились ему, как будто всё это было давно прошедшее, потерянное и неоцененное счастье. Он не мог допустить, чтобы глупая случайность, заставив семерку лечь прежде на право, чем на лево, могла бы лишить его всего этого вновь понятого, вновь освещенного счастья и повергнуть его в пучину еще неиспытанного и неопределенного несчастия. Это не могло быть, но он всё таки ожидал с замиранием движения рук Долохова. Ширококостые, красноватые руки эти с волосами, видневшимися из под рубашки, положили колоду карт, и взялись за подаваемый стакан и трубку.
– Так ты не боишься со мной играть? – повторил Долохов, и, как будто для того, чтобы рассказать веселую историю, он положил карты, опрокинулся на спинку стула и медлительно с улыбкой стал рассказывать:
– Да, господа, мне говорили, что в Москве распущен слух, будто я шулер, поэтому советую вам быть со мной осторожнее.
– Ну, мечи же! – сказал Ростов.
– Ох, московские тетушки! – сказал Долохов и с улыбкой взялся за карты.