16 просмотров

Cataclysm dda как сделать лодку

Cataclysm Dark Days Ahead, статический анализ и рогалики

Скорее всего, из названия статьи вы уже догадались, что в центре внимания ошибки в исходном коде. Но это вовсе не единственное, о чем пойдет речь в этой статье. Если кроме С++ и ошибок в чужом коде вас привлекают необычные игры и вам интересно узнать, что это такие за «рогалики» и с чем их едят, добро пожаловать под кат!

В своем поиске необычных игр я наткнулась на игру Cataclysm Dark Days Ahead, отличающуюся от других необычной графикой: она реализована с помощью разноцветных символов ASCII на черном фоне.

Что поражает в этой игре и ей подобных, это сколько всего в них реализовано. Конкретно в Cataclysm, например, даже для создания персонажа хочется поискать гайды, так как разных параметров, особенностей и начальных сюжетов десятки, не говоря уже о вариациях событий в самой игре.

Это игра с открытым исходным кодом, и, к тому же, написана на С++. Так что невозможно было пройти мимо и не прогнать этот проект через статический анализатор PVS-Studio, в разработке которого я сейчас принимаю активное участие. Сам проект удивил высоким качеством кода, однако, в нем все равно находятся некоторые недоработки и несколько из них я рассмотрю в этой статье.

К настоящему моменту с помощью PVS-Studio было проверено уже достаточно много игр. Например, вы можете ознакомиться с другой нашей статьей “Статический анализ в видеоигровой индустрии: топ-10 программных ошибок”.

Логика

Следующий пример представляет собой типичную ошибку копирования.

V501 There are identical sub-expressions to the left and to the right of the ‘||’ operator: rng(2, 7) (dur))’ to the left and to the right of the ‘&&’ operator. player_hardcoded_effects.cpp 547

V728 An excessive check can be simplified. The ‘(A && B) || (!A && !B)’ expression is equivalent to the ‘bool(A) == bool(B)’ expression. inventory_ui.cpp 199

Статья в тему:  Как вызвать подводную лодку в гта 5

Ошибки в условии нет, но оно излишне усложнено. Стоило бы сжалиться над тем, кому придется разбирать это условие, и написать проще if( left_fav == right_fav ).

  • V728 An excessive check can be simplified. The ‘(A && !B) || (!A && B)’ expression is equivalent to the ‘bool(A) != bool(B)’ expression. iuse_actor.cpp 2653

Отступление I

Для меня оказалось открытием, что игры, которые на сегодняшний день называют «рогаликами» — это лишь достаточно лайтовые последователи старого жанра roguelike игр. Началось все с культовой игры Rogue 1980 года, ставшей образцом для подражания и вдохновившей множество студентов и программистов на создание собственных игр. Полагаю, многое также привнесло сообщество настольной ролевой игры DnD и её вариаций.

Микрооптимизации

Следующая группа предупреждений анализатора указывает не на ошибку, а на возможность микрооптимизации кода программы.

V801 Decreased performance. It is better to redefine the second function argument as a reference. Consider replacing ‘const… type’ with ‘const… &type’. map.cpp 4644

Здесь за itype_id скрывается std::string. Так как аргумент все равно передается константным, что не позволит его изменить, быстрее было бы просто передать в функцию ссылку на переменную и не тратить ресурсы на копирование. И хотя, скорее всего, строка там будет совсем небольшая, но постоянное копирование без видимой на то причины излишне. Тем более, что эта функция вызывается из разных мест, многие из которых, в свою очередь, также получают type извне и копируют его.

  • V801 Decreased performance. It is better to redefine the third function argument as a reference. Consider replacing ‘const… evt_filter’ with ‘const… &evt_filter’. input.cpp 691
  • V801 Decreased performance. It is better to redefine the fifth function argument as a reference. Consider replacing ‘const… color’ with ‘const… &color’. output.h 207
  • В целом, анализатор выдал 32 таких предупреждения.
Статья в тему:  Когда нужно регистрировать надувную лодку

Пример 4:

V813 Decreased performance. The ‘str’ argument should probably be rendered as a constant reference. catacharset.cpp 256

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

Это предупреждение также было не единичным, всего таких случаев нашлось 26.

  • V813 Decreased performance. The ‘message’ argument should probably be rendered as a constant reference. json.cpp 1452
  • V813 Decreased performance. The ‘s’ argument should probably be rendered as a constant reference. catacharset.cpp 218
  • И так далее.

Отступление II

Некоторые из классических roguelike игр до сих пор активно развиваются. Если зайти в репозитории GitHub Cataclysm DDA или NetHack, то можно увидеть, что изменения активно вносятся каждый день. NetHack вообще является самой старой игрой, разработка которой идет до сих пор: её релиз произошел в июле 1987 года, а последняя версия датируется 2018 годом.

Одной из известных, однако, более поздних игр этого жанра является Dwarf Fortress, разрабатываемая с 2002 года и впервые выпущенная в 2006 году. «Losing is fun» («Проигрывать весело») — девиз игры, в точности отражающий её суть, так как победить в ней невозможно. Эта игра в 2007 году заслужила звание лучшей roguelike игры года в результате голосования, которое ежегодно проводится на сайте ASCII GAMES.

Кстати, тем, кто интересуется этой игрой, возможно будет интересна следующая новость. Dwarf Fortress выйдет в Steam с улучшенной 32-битной графикой. С обновлённой картинкой, над которой работают два опытных модера игры, премиум-версия Dwarf Fortress получит дополнительные музыкальные треки и поддержку Steam Workshop. Но если что, владельцы платной версии Dwarf Fortress смогут поменять обновлённую графику на прежний вид в ASCII. Подробнее.

Статья в тему:  Как называется маленькая парусная лодка

Переопределение оператора присваивания

Примеры 5, 6:

Также нашлась интересная пара сходных предупреждений.

V690 The ‘JsonObject’ class implements a copy constructor, but lacks the ‘=’ operator. It is dangerous to use such a class. json.h 647

Этот класс обладает конструктором копирования и деструктором, однако, для него отсутствует перегрузка оператора присваивания. Проблема здесь состоит в том, что автоматически сгенерированный оператор присваивания может лишь присвоить указатель к JsonIn. В результате оба объекта класса JsonObject указывают на один тот же JsonIn. Неизвестно, может ли где-то сейчас возникнуть такая ситуация, но, в любом случае, это — грабли, на которые рано или поздно кто-то наступит.

Аналогичная проблема присутствует в следующем классе.

V690 The ‘JsonArray’ class implements a copy constructor, but lacks the ‘=’ operator. It is dangerous to use such a class. json.h 820

Более подробно об опасности нехватки перегрузки оператора присваивания для сложного класса можно почитать в статье “The Law of The Big Two” (или в переводе этой статьи “CИ++: Закон Большой Двойки”).

Примеры 7, 8:

Еще один пример, связанный с перегруженным оператором присваивания, но на этот раз речь о его конкретной реализации.

V794 The assignment operator should be protected from the case of ‘this == &other’. mattack_common.h 49

Проблема в том, что данная реализация не защищена от присвоения объекта самому себе, что является небезопасной практикой. То есть, если этому оператору будет передана ссылка на *this, может произойти утечка памяти.

Схожий пример ошибочной перегрузки оператора присваивания с интересным побочным эффектом:

V794 The assignment operator should be protected from the case of ‘this == &rhs’. player_activity.cpp 38

В этом случае точно так же отсутствует проверка на присваивание объекта самому себе. Но в дополнение заполняется вектор. Если попытаться такой перегрузкой присвоить объект самому себе, то в поле targets получим удвоенный вектор, часть элементов которого испорчена. Однако здесь перед transform присутствует clear, что очистит вектор объекта и данные будут потеряны.

Статья в тему:  Когда можно будет ловить рыбу с лодки

Отступление III

В 2008 году рогалики даже обзавелись формальным определением, которое получило эпичное название «Берлинская интерпретация». Согласно этому определению, основными чертами таких игр являются:

  • Случайно сгенерированный мир, что увеличивает реиграбельность;
  • Permadeath: если ваш персонаж умирает — он умирает навсегда и все предметы теряются;
  • Пошаговость: изменения происходят только вместе с действием игрока, пока действие не произведено — время останавливается;
  • Выживание: ресурсы крайне ограничены.

Ну и самое главное: рогалики нацелены прежде всего на исследование и открытие мира, поиск новых способов использования предметов и прохождения подземелий.

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

Немаловажные детали

V1028 Possible overflow. Consider casting operands of the ‘start + larger’ operator to the ‘size_t’ type, not the result. worldfactory.cpp 638

Похоже, программист хотел избежать переполнения. Но приведение результата сложения в таком случае бессмысленно, так как переполнение возникнет уже при сложении чисел, и расширение типов произведется над бессмысленным результатом. Для того, чтобы избежать этой ситуации, необходимо привести лишь один из аргументов к большему типу: (static_cast (start) + larger).

V530 The return value of function ‘size’ is required to be utilized. worldfactory.cpp 1340

Для таких случаев существует небольшая хитрость. Если переменная оказывается неиспользованной, вместо того, чтобы пытаться вызвать какой-либо метод, можно просто написать (void)world_name для подавления предупреждения компилятора.

V812 Decreased performance. Ineffective use of the ‘count’ function. It can possibly be replaced by the call to the ‘find’ function. player.cpp 9600

Статья в тему:  Как из мотокосы сделать лодочный мотор

Судя по тому, что результат count сравнивается с нулем, идея в том, чтобы понять, есть ли хоть один требуемый элемент среди activity. Но count вынужден проходить по всему контейнеру, так как он считает все вхождения элемента. В этой ситуации будет быстрее использовать find, который останавливается после первого же найденного совпадения.

Следующая ошибка легко обнаруживается, если знать об одной тонкости.

V739 EOF should not be compared with a value of the ‘char’ type. The ‘ch’ should be of the ‘int’ type. json.cpp 762

Это одна из тех ошибок, которые бывает сложно заметить, если не знать, что EOF определен как -1. Соответственно, если пытаться сравнивать его с переменной типа signed char, условие почти всегда оказывается false. Единственное исключение, это если кодом символа будет 0xFF (255). При сравнении такой символ превратится в -1 и условие окажется верным.

Следующая небольшая ошибка однажды может стать критической. Не зря она есть в списке CWE как CWE-834. А их, кстати, было целых пять.

V663 Infinite loop is possible. The ‘cin.eof()’ condition is insufficient to break from the loop. Consider adding the ‘cin.fail()’ function call to the conditional expression. action.cpp 46

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

keymap_txt.clear() нужен для того, чтобы при ошибке считывания из файла убрать из потока состояние (флажок) ошибки, иначе дальше считать текст будет нельзя. keymap_txt.ignore с параметрами numeric_limits ::max() и управляющим символом перевода строки позволяет пропустить оставшуюся часть строки.

Есть и гораздо более простой способ остановки считывания:

Если использовать поток в контексте логики, он конвертирует себя в значение эквивалентное true, пока не будет достигнут EOF.

Статья в тему:  Когда можно ловить с лодки в воронежской области

Отступление IV

Сейчас наибольшую популярность имеют игры, которые сочетают в себе признаки roguelike игр и других жанров: платформеров, стратегий и др. Такие игры стали называть roguelike-like или roguelite. К таким играм относят такие известные тайтлы, как Don’t Starve, The Binding of Isaac, FTL:Faster Than Light, Darkest Dungeon и даже Diablo.

Хотя временами разница между roguelike и roguelite столь мала, что не понятно, к какому жанру отнести игру. Кто-то считает, что Dwarf Fortress уже не roguelike, а для кого-то и Diablo — классический рогалик.

Заключение

Хоть проект в целом и является примером качественного кода, и не удалось найти много серьёзных ошибок, это не значит, что использование статического анализа для него является избыточным. Суть не в разовых проверках, которые делаем с целью популяризации методологии статического анализа кода, а в регулярном использовании анализатора. Тогда многие ошибки можно выявить на самом раннем этапе и, следовательно, сократить стоимость их исправления. Пример расчётов.

Над рассмотренной игрой и сейчас ведется активная работа, и существует активное сообщество моддеров. Причем она портирована на множество платформ, в том числе iOS и Android. Так что, если вас заинтересовала эта игра, рекомендую попробовать!

ГАЙД/ОБЗОР мода “набор дополнений для машин” для Cataclysm DDA | Или как вырастить свой живой авто.

Показать панель управления

  • Опубликовано: 2 фев 2020
  • Подробный гайд/обзор на мод “набор дополнений для машин” для игры Cataclysm DDA. Я постарался максимально подробно рассказать как вырастить свой живой автомобиль, рассматривая разные аспекты игры, что бы и новички и более опытные игроки смогли что то для себя узнать новое.

*Официальный сайт игры: cataclysmdda.org/

*Скачать игру: cataclysmdda.ru/download/windows

*Вики по Cataclism: cataclysm-dda.fandom.com/ru/wiki

*Тайлсет DeadPeople: mega.nz/#!QNxwVA6a!3KUDUed3O4.

*Тайлсет UnDeadPeople: discourse.cataclysmdda.org/t/.

*CDDA-Билд 10266: github.com/CleverRaven/Catacl.

*CDDA-Билд 10266 (с моими настройками): cloud.mail.ru/public/2qj5/2Ff.

Статья в тему:  Как сделать летающую лодку в майнкрафте пе

  • Игры
  • Комментарии • 82

    Вернуть доступность мода Blazemod, он же – Vehicle Additions Pack, он же – Набор дополнений для машин:
    в файле modinfo.json в папке data/mods/blazemod/ изменить “obsolete”: true на “obsolete”: false.
    Для пользующихся ланчером – еще переименовать папку, чтобы при следующем обновлении он снова не “пропал”. Для остальных – сами знаете.

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

    Не подскажешь какую именно папку?

    какой же ты человешище , два дня мучился , СПАСИБО.

    @AlexxxMurkin а как сделать чтобы я мог обнавлять игру и не терять эти настройки

    @Tim Ivanov Android/data/com.cleverraven.cataclysmdda.experimental/files/data/mods/blazemod/modinfo.json

    Большое спасибо за такой хороший гайд, до этого всё откладывал постройку желемобиля но теперь думаю займусь его постройкой

    Спасибо за популяризацию чудесной игры.

    Было очень полезно, спасибо. Не знал что их можно выращивать на 2 грейда выше, и ломал голову как сделать свой мясоцикл лучше. 😀

    Пожалуйста! Рад что видео было полезно!)

    Отличный монтаж! Спасибо за видео.

    Не подскажешь, можно ли как-то расширить небольшую зону, откуда перс сам берёт вещи для крафта? И помогут ли разные стеллажи / контейнеры? Чтоб и влезало больше и выглядело прилично.

    Хорошо зашло. Продолжай, пожалуйста.

    Спасибо, рад что понравилось)!

    Спасибо за гайд! :3

    Спасибо за спасибо!)

    Рукалицо. Я перелопатил десятки улиточных гротов в поисках вихревых камней что бы собрать мало мальски жизнеспособный алмазный автомобиль а мог не страдать и вырастить тентаклю весьма простую в изготовлении. Но турельки вихревые жесть =)

    Как и движок с генератором)

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

    А эта машина будет в каком нибудь продолжение?

    Статья в тему:  Что значит сухой вес лодки

    Я так понимаю в прохождении? Если да то, то скорее всего не будет. Во первых я так понимаю этот мод выпилили и обновлений у него не будет (но это не точно), а актуальные прохождения хочется делать на свежих сборка. А если все таки про продолжение доктора Васари и его тентакле мобиль, то это был тестовый мир где я разбирался что и как работает в этом моде и хотел просто сделать какую то не стандартную машину для видео. И то что я построил, с практической точки зрения, очень сомнительно.

    Нужен гайд по поселениям и безобразиям внутри них!

    @Vasari TV Хотеть!.jpg )

    @Vasari TV согласен и понимаю, что монтажом заниматься не просто. Те обзоры в сериях видел и за них отдельная благодарность) Можно было бы поставить два лайка, я бы это сделал) Но тема поселений часто всплывает в группе в вк, а гайды все текстовые и устарели.. Тема так сказать горячая) А так можно и челендж намутить, типо создать город с максимальным населением нпс, застраивая домами его и улицами. Ну или сделать что-то наподобие военной базы, раздать всем нпс военную форму, обнести все забором с вышками и отправить роботизированные тюрели на охрану периметра, а дальше привести орду на штурм и проверить крепость обороны))

    Доделывая этот гайд, у меня как то подубавилось желание их вообще делать, так как игра супернишевая и смотреть её будут в любом случае очень мало, и плюс к этому ушло просо масса времени на создание. Но ката сама по себе мне очень интересна, а в описании канал я указал что это около игровой канал где я показываю что мне интересно) короче есть несколько аспектов в игре в которых мне хочется так же основательно разобрать как живые авто, и это в частности поселения и фермерство. Возможно ещё мутации и оружие рейндж и мили, но по этом категориям я уже делал некоторый разбор в прошлых сериях, да они не так оформлены и вышли в виде обычной серии, но тем не менее. Поэтому в будущем гайды по кате будут, но когда и по каким темам сказать сложно.

    Статья в тему:  Как лучше хранить лодку пвх

    Cataclysm: Dark Days Ahead

    Cataclysm: Dark Days Ahead (рус. Катаклизм: Впереди тёмные дни) – бесплатная компьютерная игра в жанре симулятора выживания с элементами рогалика. Игра предлагает взять под управление персонажа, самостоятельно созданного игроком в редакторе или выбранного игрой случайным образом, и попытаться выжить в сложном и опасном мире как можно дольше. В отличие от большинства других рогаликов, у игры нет конечной цели как таковой, выживание становится самоцелью, а цели каждый игрок выбирает себе самостоятельно. Кто-то может поставить себе задачу построить огромный «смертовоз» размером с особняк, который будет проезжать города насквозь, не замечая таких препятствий, как орды монстров или здания. Кто-то откроет в себе фермера и будет самостоятельно выращивать продукты питания и заведёт скотину. Кто-то задастся целью восстановить цивилизацию и начнёт строить множество коммун выживших.

    Содержание

    • 1 Сеттинг
    • 2 Модифицируемость
    • 3 Игровой процесс
    • 4 Отличительные черты
    • 5 Разработка
    • 6 Реакция, критика и срачи
    • 7 Тропы

    Сеттинг [ править ]

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

    Блоб (blob, «сгусток») — малоизученная форма жизни, внимание которой привлекли человеческие учёные в процессе более-менее успешных экспериментов по телепортации. Это невообразимое чужеродное чудовище посчитало Землю вполне подходящей для распространения, и очень быстро пропитало собой всю биосферу планеты. «Победить» блоб возможно не более, чем справиться с Азатотом — любой зомби для него не важнее клетки организма или того меньше, если даже и получится обратить на себя его внимание, человека он просто прихлопнет, так что остаётся только приспосабливаться к новым условиям и надеяться, что внимания он не обратит — что вполне согласуется с мнением самого блоба. Оно уже заняло Землю, и что дальше будет происходить на ней, ему глубоко фиолетово.

    Статья в тему:  Подводная лодка откуда родом

    Обычно при жизни концентрация блоба в тканях мала, и позволяет всего лишь мутировать (блоб неизвестным образом сохраняет «основной» фенотип, и позволяет направленно модифицировать его мутагенами с примесью блоба, сохранившего другой фенотип) и необычайно быстро заживлять раны, но насекомые мутируют в гигантских, а млекопитающие, включая людей, после смерти (а малый процент человеков — и при жизни, такие «одичавшие» — feral — людозомби сохраняют интеллект) становятся зомби — марионетками блоба, с типичными зомбяческими особенностями вроде шаркающей походки, ненависти ко всему живому и необходимости разнести труп в труху, чтобы он не встал обратно. Блоб по одному ему ведомым причинам иногда модифицирует своих «подопечных», и в результате спровоцированных им мутаций на выходе получаются самые разные вариации — кислотные зомби, дымные зомби, огромные зомби-халки, и даже скелеты — в ранних версиях буквально ходячие скелеты без плоти, в поздних, после пересмотра сеттинга, обросшие костяными пластинами зомби.

    На момент начала игры «по умолчанию» прошло 5 дней с момента Катаклизма — масштабного прорыва реальности, «благодаря» которому произошло вторжение блоба и проникновение на Землю всяческих более мелких чу-чу вроде шогготов и ми-го, триффидов и Микус, грибообразного коллективного разума, являющегося врагом как триффидов, так и блоба, и как последний способного к созданию марионеток-зомби и — в отличие от блоба, условно-добровольной — интеграции живых существ в себя , и к этому времени погибло (в результате войны, беспорядков, кислотных дождей и прочих причин) 99 % населения планеты, и успевшие заразиться блобом при жизни были зомбифицированы.

    Статья в тему:  Как вызвать подводную лодку в гта 5

    Действие игры происходит приблизительно в наше время (конец десятых — начало двадцатых годов), но в условиях альтернативной истории. В частности, это выражается в более успешном развитии науки и техники, что вылилось в успешное создание лазерного и плазменного оружия, нескольких видов силовой брони, а также компактного и мощного источника энергии (УБП, или универсального блока питания), благодаря которому и стало возможным изготавливать энергоёмкие виды оружия, брони, техники и прочих устройств как военного, так и гражданского назначения.

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

    Модифицируемость [ править ]

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

    Игровой процесс [ править ]

    При создании игрового мира можно выбрать стартовый сезон, количество монстров, количество предметов, количество неигровых персонажей и т.д.

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

    Статья в тему:  Как из мотокосы сделать лодочный мотор

    Профессия, которая была у персонажа на момент начала игры (к «профессиям» относятся не только какие-нибудь типичные «повар», «портной» или «полицейский», но и такие роды занятий, как «жертва душа», «малолетний преступник» или «бродяга»), может добавить (или укоротить) список мест, где может появиться игровой персонаж в начале игры – так, например, «заключённый» может стартовать в тюрьме, а «невольный мутант» – в лаборатории.

    Огромный список положительных, отрицательных и нейтральных «черт характера» позволяет тонко настроить характер, повадки и образ жизни игрового персонажа. Черты могут быть как практически бесполезными (например, отрицательная черта «уродливый» даёт штрафы при общении с неигровыми персонажами, но они не настолько велики, чтобы на них стоило обращать внимание, кроме того, уродливость можно компенсировать высокими навыками общения. А можно вообще свести всё общение к стрельбе на поражение, особенно если дополнить уродливость чертой «психопат». В итоге получается бесплатное очко, которое можно потратить на развитие других черт, навыков или характеристик), так и архиполезными (например, черта «ночное зрение» удваивает радиус видимости игрового персонажа ночью, что позволяет замечать монстров до того, как столкнёшься с ними нос к носу, и таким образом немало помогает выжить, особенно на начальных стадиях игры).

    В игре реализовано большое количество механик и возможных действий персонажа – есть возможность строить различные конструкции (дома, ограды, мебель).

    Отличительные черты [ править ]

    В разработке приоритет отдаётся максимальной реалистичности. Поскольку в первую очередь это – симулятор выживания, то в игре учитывается множество факторов, могущих повлиять на выживание: голод, жажда и усталость игрового персонажа, температура его тела (для каждой части тела – отдельно) и окружающего воздуха, погодные условия, мораль (боевой дух) и другие.

    Статья в тему:  Как называется маленькая парусная лодка

    Разработка [ править ]

    Разработку игры отличает просто ураганный её темп. В некоторые дни количество внесённых изменений оценивалось несколькими десятками. Среди них как добавление нового контента или фич, так и правка багов, а также различные улучшения производительности и внутренние, невидимые игроку, инфраструктурные изменения.

    Разработка ведётся на добровольной основе группой энтузиастов в своё свободное время (т.н. «контрибьюторов»). Люди из этой группы предлагают свои изменения на рассмотрение команде CleverRaven, куда входят разработчики с правами внесения рассмотренных изменений в саму игру. Состав контрибьюторов постоянно меняется, так как люди приходят и уходят, хотя среди них много ветеранов, заставших ещё оригинальный Cataclysm за авторством Whales.

    Бессменным лидером CleverRaven с 2013 года является Кевин kevingranade Гренейд, который обладает всей полнотой власти и принимает судьбоносные для проекта решения. Также он определяет, кому давать право вносить в игру предложенные другими изменения. Кевин сотоварищи сделал форк оригинального Cataclysm в 2013 году, когда его автор забросил своё творение.

    Разработка игры осуществляется в двух направлениях. Основной для разработчиков является «экспериментальная» версия, куда по умолчанию и вносятся все предлагаемые контрибьюторами изменения. Она может быть нестабильная, так как не все изменения бывают тщательно протестированы их авторами, и вызывать различные баги или даже вылеты игры. О таких проблемах неравнодушные к проекту игроки практически сразу после обнаружения сообщают на различных сайтах, посвященных игре, в первую очередь на платформе Github. Это позволяет в оперативном режиме реагировать на них и выпускать патчи. Однако именно в экспериментальной версии присутствуют самые последние и интересные фичи, расширяющие игровой контент.

    Основной же для большинства игроков является «стабильная» версия, выпускаемая командой разработчиков с некоторой периодичностью. Предполагается, что в ней устранены самые вопиющие баги, а фичи, добавленные в экспериментальных версиях, протестированы (на основе отзывов игроков), отлажены и отбалансированы. Эта версия рекомендуется всем игрокам, которые не хотят сталкиваться с потенциальными проблемами экспериментальной версии и/или быть её добровольными тестерами.

    Статья в тему:  Как лучше хранить лодку пвх

    По иронии судьбы стабильная версия может оказаться менее стабильной, чем экспериментальная, уже через несколько часов после выхода следующей экспериментальной версии, если в последней будет устранён какой-нибудь баг.

    Реакция, критика и срачи [ править ]

    Практически с самого начала разработки.

    Тропы [ править ]

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

    Cataclysm dda как сделать лодку

    Как помыть предметы?

    Мягкие предметы моются стиральной доской, твердые — тряпкой или губкой. Выбираем доску или тряпку, жмем a . Нужна вода и мыло/моющее средство.

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

    Как подготовить бионику, вырезанную из зомби, к установке?

    Помыть бионику, при необходимости — исправить статус дефект (выбрать бионику в инвентаре, нажать m ), упаковать в мешок автоклава(через активацию a мешка), положить упакованную бионику в автоклав, запустить автоклав.

    Для чего нужны canvas sack и canvas bag?

    Их можно использовать в качестве укреплений (наполнить песком), либо тупо порвать на тряпки.

    Чем согреть руки и рот?

    Для рта – шарф, а для рук перчатки или одежда с карманами (в описании должно быть прямым текстом написано о наличии карманов у одежды), в руках при этом ничего не должно быть.

    Ночью персонаж стал лучше видеть, ночного зрения и прочих мутаций нет. Как это объяснить?

    Возможно, на небе светит полная луна, поэтому так светло ночью.

    Как дубить шкуры/кожу (и шить вещи из кожи)?

    Необходимо для начала скрафтить tanning fur pelt/tanning leather hide пусть полежат несколько дней, потом разберите их через клавишу “а” – на выходе получите tanning pelt/tanning hide (и из tanning pelt/tanning hide уже можно шить вещи)

    Статья в тему:  Когда можно будет ловить рыбу с лодки

    Какой клавишей переключаться с активной бионики на пассивную?

    Что дают кабеля? Как ими пользоваться?

    Кабелями можно соединять разные “машины” (т.е. любые устройства, созданные через редактор транспортного средства). Например вы можете на улице поставить блок солнечных батарей, или дизельный генератор, а в доме поставить кухонный модуль, холодильник, освещение, а потом соединить эти два куска кабелем. Как же это работает? Кабель работает так: активируете кабель, тыкаете, например, в первую машину и идете ко второй, при этом счетчик в кабеле будет отсчитывать число шагов, т.е. длину, на которую вы кабель уже размотали. Доходите до второй машины и присоединяете кабель к ней.

    Новая система прицеливания/стрельбы. Устойчивость/стабильность и Уверенность

    Если нажать “.” – то это будет режим стрельбы “от бедра” (затратится не много времени на прицеливание – секунда или около того. Уверенность – это своего рода вероятность на успешный выстрел для вашего персонажа, т.е. знак “|” – указывает на вероятность обычного выстрела, “+” – на хороший выстрел, “*” – на вероятность хедшота; Стабильность/устойчивость – показатель того, насколько хорошо вы прицелились, в зависимости от вашего оружия и от удаления самой цели (как-то так). Нажатие клавиши “f” – это текущий уровень прицеливания (от бедра, скажем так) Нажатие клавиши “а”, “с” или “р” – это уже другие уровни прицеливания, достигнув которых персонаж совершит выстрел (это уже прицельные выстрелы и при использовании их будет тратиться немного времени на само прицеливание: “а” – это прицельный выстрел; “с” – тщательно прицелиться и выстрелить; “р” – точно прицелиться и выстрелить; + ко всему также учитываются значения устойчивости и уверенности).

    Как удалить установленную бионику?

    С помощью автодоков, которые можно найти в больницах, клиниках, военных бункерах, или хирурга, появляющегося на ранчо в ходе квеста Старой Гвардии. В обоих случаях потребуется найти или скрафтить анестезию.

    Статья в тему:  Что значит сухой вес лодки

    Как зарядить автомобильный аккумулятор?

    1. Если в бензиновом автомобиле рабочий генератор, то заведите двигатель, и аккумулятор постепенно зарядится. Но будет тратиться бензин. 2. Или же установите на автомобиль солнечную панель, а лучше несколько. В ясную погоду она будет заряжать аккумулятор. 3. Либо найдите другой аккумулятор и замените.

    Зачем нужен фокус?

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

    Как потушить костер?

    Огнетушителем. Или вылить на него воду.

    Как вылить воду на соседний тайл?

    “Разрядите” бутылку с водой. Когда игра спросит вас куда выливать содержимое, укажите на нужный тайл.

    Чем вскрыть сейф?

    Где взять тряпки?

    Активируйте что-нибудь режущее и укажите на одежду, занавески.

    Где взять нитки?

    Просто “разберите” тряпку. Заходим в инвентарь – выбираем тряпку и жмем клавишу “D”.

    Какой самый быстрый способ разбирать предметы?

    Клавиша “(” – затем выбрать желаемый предмет. Либо выбросить предмет на землю, встать на него и нажать клавишу, отвечающую за расчленение трупов (Shift+b).

    Чем прокачать механику с 0 хотя бы до 1?

    Чтением определенных книг. Но если книги под рукой нет, снимайте с транспорта ремни безопасности, а затем устанавливайте обратно.

    Есть ли кнопка для повтора крафта последнего сделанного рецепта?

    Клавиша “-” отвечает за крафт последнего сделанного рецепта. Для крафта предмета так долго, насколько это возможно (Craft for as long as possible), необходимо самостоятельно назначить желаемую клавишу в меню опций.

    Как повышать статы? Силу и прочее?

    В ванилле – только мутациями. Временно характеристики можно повысить наркотиками или алкоголем.

    Как снять модификации (глушители, прицелы и т.п.) с оружия?

    Статья в тему:  Когда нужно регистрировать надувную лодку

    “a”, затем выбрать оружие. Либо же, если оружие уже в руках, “A”.

    Как зашторить окна?

    Подойти вплотную к окну и нажать клавишу “с”, затем нажать клавишу направления движения в сторону окна.

    Как зарядить/задействовать турель на авто?

    Задействовать так: зарядить патронами и нажав (shift+6), выбрать “toggle turret fire mode”. Зарядить турель можно по аналогии с тем, как вы кладете вещи в багажник: просто встаньте на тайл с турелью и “выбросите” (клавиша d) патроны на нее.

    Как наполнить водой/горючим бак в машине?

    Перейдите в режим исследования автомобиля (клавиша “е”, затем клавиша направления движения в сторону автомобиля), с помощью курсора найдите нужный вам бак и нажмите затем соответствующую клавишу: – Для топливного бака и бака для воды: клавиша “f”

    Можно ли взять на буксир другой автомобиль или прицеп?

    Нет. Пока это не реализовано в игре.

    Как пользоваться воронкой для сбора воды?

    Необходимо бросить емкость для жидкости на землю. Затем активировать воронку (клавиша “а”) в том направлении, где находится емкость (чтобы она получилась над канистрой). Все! Ждите дождя! Внимание, кислотные осадки разъедают пластик и металл.

    Как заколотить окна/двери?

    Чтобы заколотить окно или дверь, понадобится:

    • hammer или sledge hammer или stone hammer или hatchet или nail gun
    • 4x two by four
    • 8x nails

    После того, как все “ингредиенты” будут собраны, нужно подойти вплотную к окну, перейти в меню строительства (клавиша *) -> выбрать там пункт “Board Up Window/Door” и нажать клавишу направления движения в сторону окна.

    Как переложить вещи в контейнер, например, в холодильник или шкаф?

    D – сброс предметов в указанную соседнюю клетку – Жмите клавишу D и клавишу направления движения (стрелочки на клавиатуре) – затем выбираете предметы, которые хотите переложить. / – альтернативный инвентарь ?1 – список кнопок, можно узнать много полезного

    Статья в тему:  Подводная лодка откуда родом

    Чем взломать металлическую дверь?

    Либо отбойным молотком, либо взрывчаткой.

    Как драться/стрелять?

    Чтобы драться в ближнем бою, достаточно нажать кнопку движения в сторону врага. Чтобы стрелять из оружия в руках – кнопка “f”. Перезарядка – клавиша “r”.

    Как развести огонь?

    Во-первых, нужно собрать какой-либо материал для разведения костра (это могут быть бумажки, тряпки, тела убитых зомби, доски, бревна и т.д.), скинуть их на землю рядом с собой, затем (а)ктивировать зажигалку/спички и нажать клавишу направления в сторону, где лежат материалы, собранные вами ранее. Чтобы персонаж не задыхался от дыма, разожгите костёр с помощью бумаги, сухих растений или досок (с досками придутся подождать немного, пока они прогорят), чтобы значок огня (4) был жёлтым, от него дыма почти нет.

    Как разобрать/сломать предмет или мебель?

    Чтобы сломать мебель, нажмите клавишу “s” и клавишу движения в сторону нужной мебели. Чтобы двигать мебель, нажмите * и выберите пункт “move furniture” (клавиша “f”). Для того, чтобы разобрать мебель, встаньте рядом с ней, нажмите клавишу “*” и в появившемся меню выберите пункт “Deconstruct furniture” (клавиша “F”) и нажмите кнопку движения в сторону мебели. Внимание, вы должны также иметь при себе hammer или stone hammer или hatchet или nail gun, а также отвертку (screwdriver) или интегрированный тулсет. Для того, чтобы разобрать предмет, необходимо зайти в инвентарь (клавиша “i”), выбрать интересующий Вас предмет и в появившемся меню нажать клавишу “D”.

    Как разделить предметы на кучки/Как выбросить определенное количество вещей?

    а) Можно выбросить все сразу, а потом воспользоваться менеджером окружающих предметов (клавиша “/”) и указать (набрать нужное число на цифровой клавиатуре вашего компьютера) необходимое количество патронов, которое нужно поднять; б) Нажатием клавиш “D” или “d” вызвать экран мультидропа, сразу же ввести (набрать нужное число на цифровой клавиатуре вашего компьютера) количество предметов в стеке, которое нужно выбросить, а затем выбрать сами патроны. То есть, выбросить нужно, например, 500 штук. Нажимаем “d”, затем на цифровой клавиатуре набираем 500, затем отмечаем патроны и жмем Enter.

    Статья в тему:  Когда можно ловить с лодки в воронежской области

    Как завести двигатель, включить/выключить фары/круизконтроль?

    Чтобы завести двигатель, необходимо сесть в машину со стороны водительского кресла и нажать клавишу “^” (чтобы выйти из автомобиля нажмите клавишу “^” и выберите пункт “Let go of controls”). Включение/выключение фар/круиз-контроля также привязано к клавише “^” – после её нажатия просто выберите нужный Вам пункт в появившемся меню.

    Как принудительно заставить персонажа перестать читать?

    Во время чтения достаточно нажать клавишу “.” (точка).

    Как вылить/набрать воду в бутылку или иной резервуар?

    Необходимо находиться вплотную к водоему, затем нажать клавишу “e” и клавишу движения в сторону воды -> откроется инвентарь, где нужно будет выбрать резервуар (бутылку, канистру и т.д.) для воды. Если же Вы просто закроете данное окно, то игра предложит Вам выпить воду из рук.

    Можно ли сливать топливо из автомобиля и как это сделать?

    Для этого потребуется резиновый шланг (rubber hose). Чтобы слить топливо (имея при себе резиновый шланг, конечно же) с автомобиля, нужно подойти вплотную к нему, нажать клавишу “е” и клавишу движения в сторону автомобиля и затем нажать клавишу “s” (siphon).

    Как ремонтировать/укреплять одежду?

    Для починки/укрепления одежды вам необходимо иметь при себе набор для шитья (sewing kit), либо иглу из кости (bone needle), тряпки (rag) и немного нитей (thread). Все, что нужно это (а)ктивировать набор для шитья (sewing kit), либо иглу из кости (bone needle) и затем выбрать поврежденную одежду. При низком уровне навыка tailoring возможно повреждение или уничтожение одежды, чем выше уровень, тем выше шанс на успех!

    Статья в тему:  Как сделать летающую лодку в майнкрафте пе

    Как ушить одежду?

    Чтобы “отрегулировать” одежду вам понадобятся тряпки (rags) швейный набор (sewing kit) или игла (bone needle): с помощью клавиши “а” выбираем швейный набор или иглу и применяем ее на одежду, которую хотите ушить. (Внимание, если одежда была повреждена, то вначале вам предложат “отремонтировать” ее.) Если все получилось, то напротив ушитой одежды появится тэг (fits), уменьшится также и обременение. Ушиваются только шерстяная, кожаная или одежда, сделанная из хлопка.

    Где посмотреть список изношенной одежды?

    Клавиша “+” на клавиатуре даст меню с расширенным управлением одеждой, надетой на персонаже. Градации износа обозначены цветовой схемой.

    Где в игре найти порох и свинец?

    Порох (gunpowder) и свинец (lead) можно добыть, разбирая патроны с помощью такой штуки, как kinetic bullet puller (при разборе патронов получается свинец и порох), найти эту штуковину можно в оружейных магазинах!

    Как узнать текущее время в игре?

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

    Как приручить собаку?

    Приручается применением собачьей еды (жмем клавишу “а” и выбираем собачью еду – dog food, жмем клавишу направления движения в сторону псины), которая крафится с >3 кулинарии. В бою толку от псины немного, но она на ура выносит всех белочек в округе.

    Как двигать мебель, тележки/транспорт?

    Клавиша G (жмете ее и далее указываете клавишами направления движения (стрелочки на клавиатуре) в сторону предмета, который желаете двигать).

    Как сложить/разложить складной велосипед?

    Для этого надо слезть с велосипеда. Выбрать управление техникой (кнопка “^”) на сидении велосипеда. В меню будет вариант сложить велосипед. Таким же образом можно включать фары у техники с соседней от руля клетки. Разложить его можно, нажав клавишу “a” и выбрав клавишу, соответствующую велосипеду.

    голоса
    Рейтинг статьи
    Ссылка на основную публикацию
    Статьи c упоминанием слов: