Как построить базу в реальной жизни

Обновлено: 05.07.2024

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

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

Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.

Основы правил проектирования

Для проектирования схемы базы данных, нужно вспомнить 7 формальных правил и саму концепцию нормализации и денормализации. Они и лежат в основе всех правил проектирования.

Опишем более детально 7 формальных правил:

    отношение один к одному:

1.1) с обязательной связью:

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

Реализовать данную связь можно двумя способами:

1.1.1) в одной сущности (таблице):



Рис.1. Сущность Citizen

Здесь таблица Citizen представляет собой сущность гражданина, а атрибут (поле) PassportData содержит все паспортные данные гражданина и не может быть пустым (NOT NULL).

1.1.2) в двух разных сущностях (таблицах):



Рис.2. Отношение сущностей Citizen и PassportData

Здесь таблица Citizen представляет собой сущность гражданина, а таблица PassportData — сущность паспортных данных гражданина (самого паспорта). Сущность гражданина содержит атрибут (поле) PassportID, который ссылается на первичный ключ таблицы PassportData. В свою очередь сущность паспортных данных содержит атрибут (поле) CitizenID, которое ссылается на первичный ключ CitizenID таблицы Citizen. Поле PassportID таблицы Citizen не может быть пустым (NOT NULL). Также здесь важно поддерживать целостность поля CitizenID таблицы PassportData, чтобы обеспечить связь один к одному. Иными словами, поле PassportID таблицы Citizen и поле CitizenID таблицы PassportData должны ссылаться на одни и те же записи как если бы это была одна сущность (таблица), представленная в пункте 1.1.1.

1.2) с необязательной связью:

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

Реализовать данную связь можно двумя способами:

1.2.1) в одной сущности (таблице):



Рис.3. Сущность Person

Таблица Person представляет собой сущность человека, а атрибут (поле) PassportData содержит все его паспортные данные и может быть пустым (NULL).

1.2.2) в двух сущностях (таблицах):

2.1) с обязательной связью:

примером могут выступать родитель и его дети. У каждого родителя есть как минимум один ребенок.

Реализовать данную связь можно двумя способами:

2.1.1) в одной сущности (таблице):



Рис.5. Сущность Parent

Таблица Parent представляет сущность родителя, а атрибут (поле) ChildList содержит информацию о детях. Данное поле не может быть пустым (NOT NULL). Обычно типом поля ChildList выступают неполно структурированные данные (NoSQL) такие как XML, JSON и т д.

2.1.2) в двух сущностях (таблицах):



Рис.6. Отношение сущностей Parent и Child

Таблица Parent представляет сущность родителя, а таблица Child — сущность ребенка. У таблицы Child есть поле ParentID, ссылающееся на первичный ключ ParentID таблицы Parent. Поле ParentID таблицы Child не может быть пустым (NOT NULL).

2.2) с необязательной связью:

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

Реализовать данную связь можно двумя способами:

2.2.1) в одной сущности (таблице):



Рис.7. Сущность Person

Таблица Parent представляет сущность родителя, а атрибут (поле) ChildList содержит информацию о детях. Данное поле может быть пустым (NULL). Обычно типом поля ChildList выступают неполно структурированные данные (NoSQL) такие как XML, JSON и т д.

2.2.2) в двух сущностях (таблицах):



Рис.8. Отношение сущностей Person и Child

Таблица Parent представляет сущность родителя, а таблица Child — сущность ребенка. У таблицы Child есть поле ParentID, ссылающееся на первичный ключ ParentID таблицы Parent. Поле ParentID таблицы Child может быть пустым (NULL).

2.2.3) в одной сущности со ссылкой на саму себя при условии, что у сущностей (таблиц) родителя и ребенка будут одинаковые наборы атрибутов (полей) без учета ссылки на родителя:



Рис.9. Сущность Person со связью на саму себя

Сущность (таблица) Person содержит атрибут (поле) ParentID, который ссылается на первичный ключ PersonID этой же таблицы Person и может содержать пустое значение (NULL).

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

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



Рис.10. Отношение сущностей Person и RealEstate

Таблицы Person и RealEstate представляют соответственно сущности человека и недвижимости. Связываются данные сущности (таблицы) через сущность (таблицы) PersonRealEstate. Атрибуты (поля) PersonID и RealEstateID ссылаются на первичные ключи PersonID таблицы Person и RealEstateID таблицы RealEstate соответственно. Обратите внимание, что для таблицы PersonRealEstate пара (PersonID; RealEstateID) всегда является уникальной и потому может выступать первичный ключем для самой связующей сущности PersonRealEstate.

А где же семь формальных правил?

  1. п.1 (п.1.1 и п.1.2) — первое и второе формальные правила
  2. п.2 (п.2.1 и п.2.2) — третье и четвертое формальные правила
  3. п.3 (аналогично п.2) — пятое и шестое формальные правила
  4. п.4 — седьмое формальное правило

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

Обратным процессом нормализации называется денормализация. Это упрощение построения запросов доступа к данным за счет укрупнения и вложенности сущностей (например, как было показано выше в пунктах 2.1.1 и 2.2.1 с помощью неполно-структурированных данных (NoSQL)).

Вот и вся суть правил проектирования баз данных.

А вы уверены, что поняли отношения в семи формальных правилах? Именно поняли, а не узнали? Ведь знать и понимать — две совершенно разных концепции.

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

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

Также, эти отношения могут меняться, переходя из один к одному к одному ко многим, многие к одному или многие ко многим. Обязательность связи может меняться или остаться неизменной.

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

В свое время меня смущало то, что в ВУЗе я знал эти семь формальных правил, но на производственной практике (ВУЗ отправляет студентов в различные компании для приобретения профессионального опыта) очень долго строил модели баз для разных предметных областей. Я задумался и понял, что не понимаю этих отношений.

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

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

Вы проследили, какие отношения были между субъектами, и как менялись эти отношения?
Давайте присмотримся внимательнее.

  • Когда семья была полной, с несколькими детьми, отношение между родителями и детьми имело вид многие ко многим.
  • Когда остались мать и дети, отношение между родителем и детьми стало один ко многим с обязательной связью. Однако, в любой семье, где может и не быть детей, это отношение будет таким же, но уже с необязательной связью.
  • А вот со стороны детей отношение к родителю было как многие к одному с обязательной связью пока родителя не лишили родительских прав.
  • Когда дети оказались в детском доме — отношение изменилось на многие к одному с необязательной связью.
  • Когда у детей появились попечители, связь между ними стала многие ко многим: у каждого попечителя могут быть другие подопечные дети, а у каждого ребенка могут быть другие попечители (родители).

Надеюсь, теперь вы значительно приблизились к пониманию этих семи формальных правил.

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

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

Также вы увидите, что реализовать отношение можно разными способами, а сами отношения могут меняться. Модель (схема) базы данных — это «снимок» отношений между сущностями в определенный момент времени. Именно поэтому важно определить как сами сущности — образы объектов из реального мира или предметной области, так и их отношения между собой с учетом изменений в будущем.

Хорошо спроектированную модель базы данных с учетом изменения отношений в реальности или в предметной области не понадобится менять годами или даже десятилетия. Это особенно важно для хранилищ данных, где изменения влекут пересохранение больших объемов данных (от нескольких гигабайт до многих терабайт).

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

Проектирование схемы базы данных для поиска соискателей на работу

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

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

  1. Сотрудник (Employee)
  2. Компания (Company)
  3. Позиция (должность) (Position)
  4. Проект (Project)
  5. Навык (Skill)
  • Компании и сотрудники относятся как многие ко многим, так как сотрудник мог работать в нескольких компаниях, а в компании работают многие люди.
  • Аналогично относятся позиции и сотрудники: несколько сотрудников могут занимать одну позицию как в рамках как одной, так и нескольких компаний.
  • С другой стороны, сотрудник мог работать на разных позициях как в рамках одной, так разных компаний. Таким образом, отношение между позициями и компаниями — многие ко многим.
  • Аналогично и по проектам: проекты относятся ко всем выше рассмотренным сущностям как многие ко многим.
  • Для простоты будем считать, что в проекте сотрудник использует один набор навыков.
  • Тогда проекты и навык относятся как многие ко многим.



Рис.11. Схема базы данных для поиска соискателей на работу

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

Проекты и навыки относятся друг другу как многие ко многим и потому связываются между собой через сущность (таблицу) ProjectSkill.

Когда вы понимаете отношения между субъектами и между субъектами и объектами — уже упомянутые семь формальных правил — эту или схожую схему можно реализовать «на коленке»: на листке бумаги, мене чем за час. И это еще с учетом усталости после плодотворного рабочего дня.

Здесь можно было упростить схему добавления данных, если «навыки» вложить в сущность «проекты» через неполно структурированные данные (NoSQL) в виде XML, JSON или просто перечислять названия навыков через точку с запятой. Но это бы усложнило выборку с группировкой по навыкам и фильтрацию по отдельным навыкам.

Подобная модель лежит в основе базы данных проекта Geecko.

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

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

Немного лирики

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

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

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

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

Послесловие

Диаграммы для примеров были реализованы с помощью инструмента Database Diagram Tool for SQL Server. Однако, подобный функционал есть и в DBeaver.

Известный на зарубежном сегменте платформы Twitch стример CohhCarnage показал "мастер-класс" по постройке действительно крутой базы в Valheim. Он поделился секретами грамотной викингской стройки. Кстати, призываю вас поставить лайки его видео, чтобы поблагодарить за труд.

Справедливости ради, CohhCarnage не единственный, кто одарен божественными архитектурными навыками. Зайдите в сабреддит Вальхейма , и вы найдете уйму свежих гайдов, от богато украшенных башен волшебников до полномасштабного Тысячелетнего Сокола (корабль Хана Соло). При виде всех этих замысловатых строений, вам может показаться, что вам никогда не построить что-то подобное. Если это ваш случай, то CohhCarnage не только показал, но и рассказал, как построить действительно впечатляющую усадьбу.

Что нужно знать перед началом великой стройки

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

Одна из самых важных функций, по словам Касселя, - это особый бафф, который вы получаете от второго босса Вальхейма, Древнего. Сразив его, игроки получают доступ к способности, которая значительно увеличивает скорость рубки деревьев. "Бафф Древнего невероятно важен для любого владельца склада древесины", - говорит Бэн. "Также стоит помнить очевидный факт необходимости Каменного Века для того, чтобы вы могли возводить сооружения из каменной кладки".

Камень - необходимый ингредиент, если вы хотите построить что-то выше одного или двух этажей, объясняет Касселл, и это также просто классный способ добавить детали и разнообразие в ваш дом в Вальхейме. Это не так впечатляет, когда все сделано из дерева. Чтобы размещать каменные кирпичи, игроку нужно будет сначала заполучить железную руду, которая находится внутри затонувших склепов в болотах. Затем понадобится камнерез , чтобы обтесать кривые валуны в пригодные для размещения блоки.

Потратьте время, чтобы реально усвоить основы

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

В Вальхейме критически важно построение целостных, комплексных систем, НО инженерия в этой игре работает не так, как в реальной жизни . Как сказал CohhCarnage - "Я серьезно потратил целый час, пытаясь построить балочные системы, используя реальные инженерные методы, и думал: "почему это всё не работает? Да потому что в этой игре своя инженерия". Короче, забудьте всё, чему вас учили в университете 😂

Видео Касселла выше объясняет все это (правда, только на английском языке) , и главная суть в том, что системы зависимых элементов в Вальхейме совсем не похожи на то, как это работает в реальном мире. Если наклонная крыша ломается из-за недостатка опоры, например, установка контрфорса или продольной балки - не поможет. Учитывать здесь нужно непосредственную связь высотных элементов с землей. Иными словами, рушащуюся крышу спасет установка очень длинных столбов, установленных в "фундамент", но никак не распорки в стены.

Посказка от CohhCarnage - используйте в столбах длинные детали (показано в видео), чтобы столб состоял из меньшего количества деталей. Это сильно влияет на "несущую способность". Обращайте внимание на цвет. Нижняя чать столба обязана быть синей в режиме разметки.
Голубой столб в режиме разметки. Так и должна выглядеть нижняя часть столба. Голубой столб в режиме разметки. Так и должна выглядеть нижняя часть столба.

Другая важная вещь - терраформирование . Местность в Вальхейме редко бывает ровной, поэтому вам придется использовать мотыгу и кирку, чтобы сформировать местность согласно своему архитектурному проекту. База Касселла построена на плоской каменной плите, выступающей в океан, которую он сделал своими руками. Но поднимать фундамент из воды сантиметр за сантиметром стоило ему просто чудовищного количества камня. "Я буквально прошел через тысячи и тысячи камней", - говорит CohhCarnage.

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

Стройте изнутри наружу

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

Решение? Сначала размести всё внутреннее убранство, и лишь потом займись стенами и крышей. "Когда я делал мастерскую, я точно планировал, сколько места мне понадобится для всего оборудования, с учетом того, чтобы я ещё мог легко ходить. Затем уже я как бы закрывал всё это стенами. Всё сводилось к тому, что я шел изнутри наружу, а не снаружи внутрь. Этот метод позволит создать продуманное пространство с гармонией свободы, вместо того, чтобы строить структуру, а затем пытаться впихнуть в нее невпихуемое ."

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

Еще один классный трюк, который Касселл использовал, чтобы разметить план помещений, состоял в том, чтобы разместить деревянные балки прямо на земле, чтобы прочертить контуры будущих строений и переходов. Это помогает не только при расчете внутреннего пространства здания, но и при планировании общей системы из нескольких отдельных строений 📐

Не беспокойтесь о том, где построить свою базу слишком много

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

Но это далеко не такая большая проблема, как вы могли бы подумать: "Есть только две вещи, которые следует учитывать при строительстве вашей базы, и по сути 95% всех биомов вполне пригодны для стройки. И единственные две вещи, которые следует учитывать, будут:

1) Если вы сделаете свою базу на локациях meadows и mountai n (луга и горы) - то вам будет легче доставить животных (особенно кабанов и волков) на свою базу. Да, в игре можно их приручить", - объясняет Касселл. 🐗

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

"Самое прекрасное в Valheim - это то, что ваша база будет именно вашей, она будет выражением того, что вы хотите в игре ", - добавляет Касселл. "В этой игре ваши крепости имеют больше возможности отражать ваше видение, нежели банально угождать игровой механике".

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

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

Используя такую маленькую хитрость, вы можете быстро переместиться, а затем просто уничтожить лодку, забрать обратно детали и продолжить путь ⛵

Экспериментируйте, повторяйте, экспериментируйте еще

Работать с детальным планом - это разумно, но вы не должны настолько погружаться в мелкие детали, чтобы это мешало вам фактически что-то построить. Хоть крепость Бэна и выглядит идеально продуманной, он рассказал, что многие элементы являются результатами экспериментов и повторений снова и снова.

"Одна прекрасная вещь в Valheim, у которой, я думаю, другие игры на выживание действительно могли бы поучиться, - это тот факт, что Valheim позволяет вам получить все ресурсы обратно из разрушенных построек ", - говорит он. "Если вы поставили стену, и вам она не нравится, вы просто щелкаете средним щелчком и сносите ее к чертям, получая всё обратно. Это благодатная почва для развития творческих идей и реализации диких задумок. Было много случаев, когда я что-то строил, а потом такой - знаете что, мне это не нравится, - и просто мгновенно разбирал всё, собирал упавшие ресурсы и пробовал что-то другое. На самом деле я сделал это, вероятно, 50 с лишним раз".

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

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

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

Появляются даже "казуальные" альтернативные реальности, наподобие нашумевшей недавно Animal Crossing. С виду абсолютно детская игра, которая на самом деле таит в себе глубокие механики, метафоричность которых порой реально пугает 😬

Не стоит обманываться "детской" графикой. В игре даже есть работорговля и секты (с легкой руки игроков, конечно же) Не стоит обманываться "детской" графикой. В игре даже есть работорговля и секты (с легкой руки игроков, конечно же)

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

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

Посмотрите, какая милота. Игра Rust (не влезла в статью). Посмотрите, какая милота. Игра Rust (не влезла в статью).

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

Игры расположены в случайном порядке, чтобы отбросить субъективность оценок. Все игры в списке по своему прекрасны.

10 - The Sims 4 | Дом, в котором я буду жить

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

Особенность Симс в том, что мы, как правило, строим именно современный дом, где будут проживать современные люди. Если вы хотите построить практичный дом, где ваши жильцы будут жить "человеческую жизнь" - Sims 4 отлично для этого подойдёт.

9 - Rimworld | Дом, в котором я буду выживать

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

Источники вдохновения этой игры -это дух космического вестерна Firefly , глубокая проработка Dwarf Fortress и эпические Dune и Warhammer 40 000 .

А уж если решите моддить эту игруху - то сотни часов колонизаторства вам обеспечены.

8 - Cities: Skylines | Город, в котором все будут счастливы (если повезет)

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

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

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

7 - Red Dead Redemption 2 | Дом, который построил Джон

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

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

Про то, что РДР2 сама по себе великолепная игра, в которую обязаны сыграть все - я даже не упоминаю. Это факт.

6 - Prison Architect | Знаешь, что делают в тюрячке?

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

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

5 - Minecraft | Игра о строительстве.. ВСЕГО

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

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

Игра готова предоставить вам ровно столько возможностей для строительства, сколько вам нужно (конечно же, с модами и расширениями). Забудьте о постройке повседневного жилища: здесь можно по кирпичикам создать настоящие города (в масштабе) и гигантские королевства. Возможности в Майнкрафте безграничны. Но не забывайте, что здесь всё полагается на вашу фантазию. Без неё в Майне делать нечего.

Связанная статья: Игрок создал монструозную станцию в NoMansSky | Движок игры даже не может показать её целиком

3 - The Forest | Лес, которым управляют

Форест - это игра ужасов и выживания во всех смыслах этих слов. Вы - выживший в авиакатастрофе человек, ищущий пропавшего сына. Оказались вы, как можно догадаться, в лесу. И вы здесь не одни 😱

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

2 - Fallout 4 | Своя дача на выжженной пустоши

Игроки, впервые попробовавшие Фоллаут 4 были приятно удивлены тем, что серия, которая фокусировалась на рпг-беготне по разрушенным городам в постапокалиптическом сеттинге, теперь предлагает геймерам принять непосредственное участие в создании дивного нового мира на руинах прошлого.

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

1 - Terraria | Своя пиксельная крепость

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

Игроки, полюбившие Террарию проводят в ней тысячи часов, и всегда находят чем заняться в очередном прохождении. Тем более, что боевая система в игре - отнюдь не бесполезный придаток, а хорошее испытание ваших навыков, с интересными боссами. Строить и воевать здесь одинаково приятно.

Домик в лесу - как построить идеальное убежище для выживания

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

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

Всё, что нужно знать про удалённое скрытое убежище для выживания

Советы по выбору месторасположения

1. Безопасность и скрытность

Домик в лесу - как построить идеальное убежище для выживания

Ваше убежище обязательно должно быть скрыто. Хороший вариант – подземный схрон, бункер или хорошо оборудованная землянка. Если же это не ваш вариант, то нужно сделать так, чтобы дом был скрыт, скажем, среди деревьев, но, чтобы вы видели, что происходит вокруг. А также всё, что приближается. Это также позволит лучше охранять и защищать выбранное место.

2. Удалённость

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

3. Доступный источник воды

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

4. Маскировка

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

5. Санитарно-гигиеническая безопасность

Домик в лесу - как построить идеальное убежище для выживания

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

6. Климатические и природные угрозы

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

И забудьте, конечно же, про местности, известные как «горячие точки» природных бедствий. Гавайи могут привлечь своим солнышком и морем, но там также весьма высокая вулканическая активность. А побережье Чили, например, регулярно трусят землетрясения и «посещают» ураганы. Они же часто «посещают» и другие приятные места – например, американский штат Флорида.

7. Источники еды и потенциал её продукции

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

8. Лучшие места для выживания

Украина
  • Полесье: Житомирская и Ровенская области. Огромные леса, где много километров вокруг отсутствует любая человеческая жизнь – здесь это норма. К тому же, к ним относительно несложно доехать на электричке: здесь есть станции буквально посреди леса.
  • Карпаты: Львовская и Ивано-Франковская области. Горы, заросшие лесами. Здесь множество родников с чистой водой, а также плодородной земли. В Карпатах немало сёл, население которых, чаще всего, дружелюбное и приятное, однако увы – с каждым годом здесь всё больше и больше туристов со всего мира. Однако и тут есть места, вдали от любых маршрутов – просто расположитесь подальше от самых высоких гор, вроде Говерлы.
Россия
  • Дальний Восток – идеальное место чтобы уехать от любых признаков цивилизации и обосноваться там. Но только не стоит выбирать северные области! Места в районах Владивостока и Хабаровска всё так же малонаселённые, стоит лишь отъехать на сотню километров от местного облцентра. Особенно хорошо море, в котором здесь полно рыбы и других съедобных существ.
  • Южная Сибирь – огромные лесные массивы, где почти не ступала нога человека. Температура зимой здесь около -20 градусов, что, конечно, немало, но это не -40 – -50 северных участков Сибири. Строить убежище для выживания нужно летом и заранее его утеплять. В некоторых областях можно наткнуться на представителей местных коренных народов, что может стать как проблемой, так и благоприятной возможностью.

9. Худшие места для выживания

И – такой же список худших мест по нашим странам. Без ложки дёгтя, как говорится…

Украина
  • Практически все области юго-востока Украины – очень неудобные по разным причинам. Во-первых, степной климат, с открытыми местностями и сухим воздухом. Во-вторых, значительное социальное напряжение, а на востоке – так и вовсе военные действия.
  • Киевская область – густонаселённая. Да, в области есть леса, но для постоянного поселения намного лучше выехать хотя бы до Житомирской области, где людей во много раз меньше.
Россия
  • Московская и Ленинградская области, да и, по сути, вся европейская часть России – также столичные регионы и очень густонаселённые места. К тому же, если вас обнаружат, местные власти вполне могут придраться к вам за поселение на «государственной земле». В районах Урала и восточнее, такое намного менее вероятно. А в случае Подмосковья, так и вовсе есть риск нарваться на чью-то частную собственность.
  • Северные области России, от Мурманска до Чукотки. Могут привлечь малым количеством народа, обширными просторами неосвоенных земель, но – по климату там просто ад. Выезжать туда на ПМЖ возможно лишь при наличии огромной физической подготовки и практических знаний местности, а также – знаний о травничестве, охоте и не только. Более-менее комфортно, как уже было указано, поселиться можно на юге Сибири.
  • Курильские острова и Сахалин – также могут показаться уютным местом вдали от людей, однако там часто бывают землетрясения и извержения вулканов.

Советы по строительству убежища

1.Используйте СИП-панели в конструкции убежища

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

2. Закройте фронтоны крыши

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

3. Минимизируйте и прикройте окна и вентиляцию

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

4. Запечатайте стропильную систему

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

5. Закрепите края металлической крыши

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

6. Установите дымоход недалеко от конька крыши

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

7. Запечатайте погреб

Подвалы под полом убежища могут также быть точкой входа для животных. Мало того, там могут завестись мыши, или, что куда хуже, змеи! Запечатайте всё, что находится под полом, с помощью стальной сетки или цельных листов металла.

8. Используйте прессованную древесину

Домик в лесу - как построить идеальное убежище для выживания

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

9. Обезопасьте постройку

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

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

10. Соорудите скрытые хранилища

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

11. Установите защиту на крышу

12. Используйте жёсткие болты

13. Соорудите большой погреб

14. Добавьте замки

Против вышеупомянутых воришек, да и просто «мимокрокодилов», очевидно, хорошо сработают замки, которые можно купить в любом специальном магазине и установить самому. Лучше всего использовать засовы и висячие замки.

15. Долгосрочное планирование

Домик в лесу - как построить идеальное убежище для выживания

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

Советуем также посмотреть видео от Drop Forged Survival о том, как на практике строится такой домик:

Хорошо спланированный и успешно построенный «домик в лесу» может помочь вам, вашей семье и близким друзьям пережить многие напасти современного мира, а возможно и любой БП.

Надеемся, вышеперечисленные пункты помогут вам соорудить подобное убежище для выживания так скоро, как вы захотите – хотя перед этим желательно почитать побольше про строительство в целом. Советуем заняться этим, ведь кто знает, что нас ждёт!

Читайте также: