Оффтоп - у меня навязчивая идея сделать гонки, где можно было бы проехать на машинах из одной старой игры трассу из другой старой игры :) Уже поковырялся в NFS1-NFS5, Carmageddon1-2, и вот, дойдя до TDR2000 решил, что пора как-то уже делиться с людьми своими наработками :)
Итак, заходим в папку игры, что мы имеем? папку Assets и папку Saves. Очевидно, данные в первой :)
А там уже есть и папка Tracks (локации) и папка Cars (тачки)!
Ну, ввиду того, что цель стоит в том, чтобы разобраться как всё устроено - начнём с Cars, там обычно меньше данных :))
Ткнём, ну, в electric_blue
файл *.h - это описание каких то нод, пока запомним про его наличие :)
*descriptor.txt - а вот это, похоже, важный файл, есть упоминания файлов, входящих в описание модели. Думаю, обязательно к нему вернёмся :)
*texturedescriptor.txt - наверняка описание использования текстур. к нему если и вернёмся, то на стадии текстурирования модели :)
Вот что и правда интересно, и не поддается анализу через супер-утилиту Блокнот (ахахах) - так это файл dir и файл pak.
Логично предположить (исходя из размера и названия) - dir это индекс, pak - это сами упакованные данные.
Вообще обычно в старых играх индекс и сами данные лежат в одном файле. А тут - отдельно. Ну, мне же проще. Открываем DIR в Hex-редакторе...
ан нет, не проще :))
Глаз цепляется за то, что каждый нечётный байт как будто бы содержит контент, а чётный - видимо какие то флаги.
Вообще, при расшифровке таких архивов важно получить следующие данные:
- Название файла - Смещение начала даннах - Размер данных
Вернёмся же к индексу.
В чётных байтах как будто записаны названия файлов.
Но названия (String) должны либо иметь длину в начале, либо заканчиваться нулём.
Здесь ни то ни то, но в байте флагов в конце строчки - всегда 08h!
Запомним-с. а лучше - запишем-с
А что идёт после названия? наверняка нужные нам указатели смещения и размера.
C9 7F 16 00 - хм. какое то большое значение для смещения первого элемента.
B6 02 00 00 - а вот это для размера норм. Но, как бы там ни было, смещение укладывается в размер файла PAK (1474505 внутри файла 1 475 199 байт) - и даже тот факт, что так близко к верхней границе, говорит о том, что мы близко к истине :) просто первый элемент в индексе не является первым в самом архиве.
Пора писать скрипт чтения архива!
Вот здесь я реально немного задолбался писать свои копания в архиве, скажу кратко - в DIR файле не просто индекс, он еще и "заархивирован" так, чтобы повторяющиеся части путей не писать повторно. В итоге файл делится на блоки - ноды.
вся суть в байте флагов (про который я говорил ранее)
исследование привело к следующим выводам:
- 08h - завершение строки. после него сразу идут смещение и размер данных в файле PAK
- 40h - у текущего символа есть "вложения" - нужно дальше искать ноды и присобачить текущий преффикс к ним перед тем, как возвращать имя этих записей
- 80h - ничего не делаем, просто читаем дальше имя записи.
Итак, вот у нас есть список имён файлов, их смещения и размеры внутри PAK.
Пробуем читать.
На первый взгляд всё ок - смещения, а так же смещения+размер - все укладываются в размер файла PAK.
Но, что то не так.
Файлы, которые называются .txt ведут на данные, которые не очень то похожи на текстовые.
Запакованы?
В те времена часто использовался zlib для упаковки, который можно проверить по наличию байтов компрессии (с просторов интернета):
78 01 - No Compression/low 78 5E - Fast Compression 78 9C - Default Compression 78 DA - Best Compression
И да, 78 DA частенькой находится в файле PAK
Единственное, что смущает - он не в начале данных конкретной записи файла идёт... значит, пишем алгоритм, который пропускает всё, что идёт до этих данных. А остальное скармливаем ZLib'у (использую Ionic.zlib). Как результат - теперь получаем пачку файлов с данными машины. А вот об этом уже дальше, если вдруг это и правда интересно :)
На CSV не смотрите, это следующий шаг анализа dcol-файлов :)
Если есть желающие тоже в этом покопаться - черканите, оформлю в реп то, что уже накодил.
И, если есть ссылки на уже готовые решения - тоже пишите, мало ли, я провафлил этот момент и изобретаю велосипед :)
🎯Дата выхода громкой Carmageddon: Rogue Shift наконец-то объявлена. Игра появится на всех платформах 6 февраля. Рассказываю, что еще интересного показали разработчики из принадлежащей Saber Interactive итальянской студии 34BigThings.
👉 Dessly стремится сделать ваш игровой опыт, а также пополнение Steam кошелька ещё более комфортным и увлекательным.
Сюжет и мир игры
🎯Действие игры происходит в мрачном постапокалиптическом мире. Улицы городов заполонили орды мутантов, которых называют «опустошенными». Ночью они особенно опасны, и людям приходится скрываться.
Но есть способ спастись — победить в смертельных гонках. Главный приз — место на последнем космическом корабле, который улетит с умирающей планеты. Ваша задача — пройти все испытания и выжить.
Геймплей и механики
1/5
🎯Вы начнете свой путь как простой гонщик на старой разбитой машине. Каждый заезд — это борьба не только с соперниками, но и с толпами мутантов. За победы вы получаете кредиты и уникальные детали для улучшения своего автомобиля. Всего в игре 15 машин, и каждая ведет себя по-разному. Разработчики уделили много внимания физике и управлению, чтобы каждая тачка чувствовалась уникально.
Особый интерес представляет система вооружения и улучшений. Для машин доступно 13 классов оружия и более 80 специальных перков. Вы можете собрать машину-танк, которая чинится от наносимого урона, или скоростной болид с ракетными залпами.
Противники тоже не станут медлить, поэтому важно находить баланс между скоростью, атакой и защитой. Вас ждут не только обычные гонки, но и битвы с мощными боссами.
Что такое «roguelite» в гонках?
🎯Ключевая особенность Carmageddon: Rogue Shift — это элементы жанра roguelite. Трассы каждый раз генерируются случайным образом, так что два заезда никогда не будут одинаковыми.
Если вы проиграли, то начинаете заново. Однако некоторые ваши постоянные улучшения сохранятся, что позволит с каждым разом продвигаться все дальше. Сложность в игре растет динамически, поддерживая интерес.
Откуда взялись зомби?
🎯История появления мутантов в игре довольно необычна. В мире Carmageddon корпорации создали пищевую добавку MiVis, чтобы победить массовый голод. Добавка работала, но имела страшный побочный эффект.
Длительный прием вызывал клеточные мутации, превращая людей в чудовищ. Чем больше человек потреблял MiVis, тем страшнее он становился. Корпорации скрывали правду, пока не стало слишком поздно.
Теперь самые ужасные мутанты, порожденные добавкой, охраняют путь к спасению.
Дата выхода и платформы
🎯Carmageddon: Rogue Shift выйдет 6 февраля на ПК, PlayStation 5, Xbox Series X|S и Nintendo Switch.
Для игроков из России и СНГ разработчики обещают полноценную текстовую локализацию на русский язык. Осталось совсем немного до начала этих безумных заездов.
Обещают 15 транспортных средств, 13 различных видов оружия, десятки уникальных улучшений, динамические смена дня и ночи, а также погода, плюс битвы с чудовищными боссами. Сами заезды будут происходить на случайно сгенерированной карте.
Есть игры, где прохождение возможно без единого удара — даже если против вас встают самые жестокие и безжалостные враги. Но существуют и такие проекты, где правила куда проще: вы вправе убрать с дороги абсолютно любого персонажа, без исключений.
Подобных игр на самом деле немало. Если рассматривать каждую серию как единое целое, то список легко переваливает за два десятка. Но для этой подборки мы остановились на десяти самых ярких примерах. А если у вас на примете есть другие проекты, где можно стереть с лица земли весь игровой мир, не стесняйтесь делиться ими в комментариях.
The Elder Scrolls 3: Morrowind (2002)
Ролевая игра, которая до сих пор считается одной из самых необычных в серии. В отличие от более поздних частей, здесь разработчики не ограничивали вас в том, кого можно убить. И хотя целью игры это не было, сама возможность открывала перед игроками совершенно иные сценарии прохождения.
Если вспомнить Skyrim, там можно было вырезать целые деревни, но ключевые персонажи оставались бессмертными. Чтобы убрать их с дороги, приходилось лезть в консоль или ставить моды, и процесс превращался в скучную рутину.
Oblivion пошел еще дальше: там даже императора можно было «спасти» от убийц только с помощью команды «kill». Иногда это приводило к забавным багам — например, Уриэль Септим мог внезапно телепортироваться на пляж. Автор однажды воскресил его и пытался поговорить, надеясь на особые реплики, но он продолжал вести себя так, будто вот-вот умрет. В итоге, чтобы не ломать атмосферу, пришлось самому довести дело до конца.
А вот Morrowind позволял действовать без ограничений. Bethesda тогда еще не придумала систему защиты важных NPC, и это порой оборачивалось курьезами. Особенно на повторных прохождениях: в первый раз случайное убийство могло полностью закрыть вам путь к финалу сюжета, если только вы не пользовались консолью или модами. Зато можно было устроить в Вварденфелле настоящий хаос — например, заселить его армией скелетов. В этом был и скрытый урок: каждое необдуманное действие игрока могло разрушить мир, и ответственность за это лежала только на нем.
В первых Fallout игрок оказывался в мире, где законы перестали существовать. Никто не мог ограничить ваши действия, и именно это открывало простор для выбора. Хотите быть благородным стрелком, который защищает слабых? Пожалуйста. Нравится образ роковой красавицы, спасающей людей от нищеты? Тоже вариант. Можно было примерить роль холодного и эгоистичного бойца, заботящегося только о себе, или превратиться в бродягу без цели. А если душа требовала хаоса — ничто не мешало стать безумцем, уничтожающим все вокруг.
Игра не делала различий между этими стилями поведения. Захотели вырезать целую деревню, даже если там оставались персонажи, связанные с заданиями? Никто не остановит. Решили избавиться от спутников? И это возможно. Более того, можно было прикончить собственного супруга, верного пса или даже странное существо с абсурдным запасом здоровья.
Разработчики сознательно оставили игрокам полную свободу, чтобы понять, какие действия окажутся самыми увлекательными. Интересно, что большинство геймеров не бросались в тотальное разрушение, а чаще предпочитали сотрудничать с NPC. Тем не менее Bethesda не отказалась от этой идеи и в третьей, и в четвертой части серии снова дала возможность убить практически любого персонажа. Почти любого — но об этом чуть позже.
Carmageddon (серия, с акцентом на версию 2015 года)
Carmageddon впервые появилась в 1997 году и сразу же вызвала бурю обсуждений. Причина была вовсе не в том, как устроена физика гонок — она была на уровне, но сама по себе вряд ли обеспечила бы проекту долгую жизнь. Настоящий интерес вызвал другой элемент: возможность давить прохожих, что для многих игроков стало своеобразным воплощением запретного желания, которое в реальности оставалось глубоко подавленным.
Европейские издатели пытались сгладить впечатление от происходящего на экране. В одних версиях кровь перекрашивали в зеленый цвет, в других заменяли людей на зомби, пришельцев или роботов, стараясь убрать из игры все, что напоминало о реальности. Но эти меры оказались бессмысленными: фанаты быстро находили способы вернуть оригинальный вид, создавая модификации. Более того, чем громче звучала критика, тем больше рос интерес к игре. В итоге разработчики сами выпустили обновление, которое сняло все ограничения и вернуло проекту его изначальный облик.
Среди поклонников серии нередко можно услышать мнение, что вершиной творчества студии стала Carmageddon: Reincarnation. Здесь машины были не только быстрыми, но и оснащенными оружием, позволяющим максимально эффективно продлевать время за счет новых «фрагов». Теоретически заезды можно было пройти и без жертв, но в этом случае терялся сам смысл происходящего — ведь именно на этом строилась вся концепция игры.
Несмотря на шероховатости в технической части, Arcanum до сих пор воспринимается как одна из самых ярких изометрических RPG начала двухтысячных. Для многих игроков это стало своеобразным финальным аккордом классической эпохи жанра. Здесь внимание притягивало буквально все: от запоминающейся скрипичной музыки и необычного мира, где магия соседствовала с паровыми машинами и дикой природой, до харизматичных спутников и сюжета, который держал в напряжении до самого финала.
Разработчики из Troika Games, конкурировавшие тогда с Black Isle, наполнили игру множеством пасхалок, сравнимых с культовыми постапокалиптическими сериями. Особенно выделялись диалоги с врагами или компаньонами, которых можно было сначала убить, а потом воскресить и продолжить общение. В реальной жизни такой способ завести друзей, конечно, не сработает, но в Arcanum это выглядело неожиданно органично.
Формально игра не ограничивала вас в убийстве NPC, но устроить резню в масштабах целого города было почти невозможно. В населенных пунктах хватало хорошо вооруженных противников, и они явно не собирались спокойно ждать своей очереди. К тому же большинство персонажей были связаны с квестами, так что, даже если вы решали пуститься во все тяжкие, рано или поздно приходилось либо возвращать их к жизни, либо смириться с тем, что часть заданий останется недоступной. Другого выхода просто не было.
На первый взгляд Dwarf Fortress может показаться чем‑то примитивным — графика напоминает Tibia, только еще беднее, а по духу игра отчасти перекликается с Minecraft. Но за этой оболочкой скрывается чудовищно сложная и безжалостная система, в которую не так просто вникнуть. Здесь есть три режима, и один из них скорее напоминает интерактивный календарь, чем полноценную игру. Перед стартом движок создает целый мир: материки, государства, народы, животных, ремесла, произведения искусства и даже хронологию правлений местных правителей.
В первом режиме вы управляете судьбой поселения гномов. Теоретически можно развивать его бесконечно, но на практике все рушится довольно быстро: жители склонны к бунтам, ресурсов почти всегда не хватает, а за пределами крепости поджидают угрозы — от диких зверей до мертвецов‑гномов, решивших вернуть себе старые земли.
Второй режим предлагает взглянуть на мир глазами одного персонажа — будь то человек или эльф. Здесь можно исследовать континенты, заводить союзы, помогать целым деревням процветать или, наоборот, вырезать все живое на своем пути.
Кстати, в режиме с поселением игрок волен расправляться и с теми, кто подрывает установленный порядок. Dwarf Fortress дает колоссальную свободу действий, но при этом не забывает о строгих правилах: любое бездумное решение может обернуться катастрофой. Если бы Ланнистеры из «Игры престолов» увлекались видеоиграми, то именно здесь они бы оттачивали свои политические интриги.
Игра, которая заслуживает самых теплых слов. Тоби Фокс сумел в одиночку собрать ролевую историю, которая по глубине и вниманию к выбору игрока легко соперничает с крупными блокбастерами. При этом он обошелся без дорогих технологий и зрелищной графики: несколько пикселей и выразительные образы персонажей оказались куда сильнее, чем любые спецэффекты.
Каждый герой здесь прописан так, что у него есть собственные мотивы, прошлое и характер. Называть их всех «монстрами» — примерно то же самое, что свести людей к слову «мясо». Это не отражает сути. Фокс играет с привычными клише жанра и показывает, что за ними скрывается куда большее.
Но означает ли это, что в Undertale никого нельзя убить? Совсем нет. Игрок волен уничтожить любого встречного — или, наоборот, пройти игру, не пролив ни капли крови. В отличие от Skyrim или Hitman, где выбор ограничен рамками механики, здесь обе крайности — от полного геноцида до абсолютного пацифизма — продуманы и сбалансированы. Именно в этом и проявляется настоящая свобода: вы сами решаете, каким будет ваш путь.
Агент 47 давно перестал колебаться и теперь действует максимально хладнокровно. В его арсенале появилось еще больше способов замаскировать убийство под несчастный случай. Электрический разряд, обрушившийся на ничего не подозревающего персонажа, выглядит как случайность, но на деле это тщательно рассчитанный шаг, продуманный до мелочей.
При этом киллер не ограничивается лишь целями по контракту. В любой момент он может отточить мастерство скрытных ликвидаций на случайных жителях. Да, за это не начисляют столько опыта, как за выполнение основных заданий, но трудно отрицать, что тихое устранение целого квартала способно подарить игроку особое удовольствие. Тем более что на карте всегда найдется достаточно мест, где можно спрятать тела.
Иногда, конечно, можно отбросить осторожность и пойти напролом. Такой «в лоб» подход позволяет завершить миссию быстрее, если повезет. Но есть и обратная сторона — свидетели, готовые поднять тревогу, становятся серьезной проблемой. Избавиться от них возможно, но куда надежнее остается классический вариант — действовать бесшумно и незаметно.
Hitman 3 стал настоящим полем для экспериментов у стримеров. Кто-то решает пройти игру, уничтожив абсолютно всех персонажей, и это уже само по себе зрелище. А вот RTGame Дэниел пошел дальше: он оглушил каждого NPC в Сапиенце и перетащил все тела в холодильник. На это ушло больше семи часов! Взрывчатки хватило лишь на несколько жертв, так что остальное пришлось делать вручную. Интересно, найдется ли когда-нибудь энтузиаст, который попробует инсценировать смерть каждого героя в игре? Любопытно, что бы сам Агент 47 сказал на подобные эксперименты.
Небольшая бельгийская команда сумела выдать такую масштабную RPG, что она зацепила игроков сильнее, чем Dragon Age: Inquisition, не оставила шансов неуклюжей Andromeda и даже превзошла Pillars of Eternity 2, которая сама по себе была очень крепким проектом. Секрет оказался в тонком балансе между увлекательным сюжетом, самоиронией и, главное, в продуманной системе классов. Она была настолько гибкой, что позволяла экспериментировать, но при этом не отказывалась от самой идеи классов — такого сочетания раньше просто не встречалось.
Без модификаций некоторые умения способны нанести урон не только врагам, но и вашим спутникам или случайным прохожим. Да, в игре есть возможность вернуть павших к жизни, но ощущение постоянного риска никуда не исчезает — каждое сражение балансирует на грани между победой и катастрофой.
К тому же здесь никто не мешает вам убить NPC, героев из прошлой части (правда, спустя несколько веков их осталось совсем немного) или даже мирных жителей. Признаемся, мы сами однажды пошли на это, когда отчаянно не хватало пары очков опыта, чтобы добраться до максимального уровня. И знаете что? Даже после этого нужного количества XP все равно не набралось.
В Dark Souls идея «убить почти любого встречного» звучит не как безумие, а как вполне рабочая стратегия. Отчасти потому, что чаще всего именно нас отправляют на тот свет. Даже те, кто изначально был к нам нейтрален, превращаются во врагов, стоит лишь случайно задеть их мечом.
Первая часть серии прославилась своей безжалостной сложностью. Настолько, что вокруг нее вырос целый поджанр — soulslike. Самые тяжелые испытания, конечно, связаны с боссами. Если вам удавалось одолеть кого-то из них с первой попытки — снимаем шляпу. Нам приходилось тратить десятки заходов. В начале игры у многих возникает внутренний барьер: не так-то просто решиться прикончить уродливое, но безобидное существо, особенно если оно не нападает первым. Но именно такие убийства часто становятся ключом к важным квестам.
Со временем, правда, это перестает удивлять. В Dark Souls проще принять правило: лучше атаковать первым, чем остаться в одиночестве и погибнуть. Хотя, конечно, есть исключения. Встречаются NPC, которые могут помочь или хотя бы не мешают. Но стоит случайно ударить их один раз — и они будут мстить до конца игры. К счастью, разработчики предусмотрели возможность искупить вину: в колокольне можно заплатить за прощение. Правда, до следующего необдуманного удара.
По атмосфере Dark Souls чем-то напоминает Vampire: The Masquerade – Bloodlines. Там тоже можно было расправиться почти с любым персонажем, и при этом сюжет не ломался: разработчики позаботились о том, чтобы смерть квестодателя не ставила крест на прохождении. Логика проста — никогда не знаешь, когда жажда крови возьмет верх.
Серия The Sims никогда не задумывалась как симулятор жестокости. Скорее уж это игра о том, как персонажи могут случайно погибнуть, и даже это легко предотвратить. Разработчики предусмотрели массу способов продлить жизнь симов: от эликсира бессмертия и превращения в растения до замедления старения или вампиризма.
Но, конечно, это не мешает тысячам игроков устраивать своим подопечным настоящие испытания. Когда-то достаточно было убрать лестницу из бассейна, теперь приходится проявлять больше фантазии: запереть героя в крошечной комнате без выхода и поджечь камин, стравить соседей в драке или настроить всех против одного несчастного.
Когда мы с сестрой играли во вторую часть, решили устроить что-то вроде собственного реалити-шоу. Никого специально не выделяли, но регулярно подкидывали хаос: пожары, аварии, ссоры. Через пару недель «победителем» оказался персонаж, созданный по образу нашего школьного знакомого. Сам он об этом, конечно, даже не догадывается.
А вы когда-нибудь устраивали в Sims подобные эксперименты над своими жителями?
Переходите на ggsel.net — торговую площадку, где вы найдете игры для ПК и консолей, DLC, сможете пополнить баланс популярных игровых и неигровых сервисов, купить и продать игровой аккаунт. И все это — по низким ценам!