Как сделать карту в satisfactory

Обновлено: 03.07.2024

Релиз игры: 08.06.2020
Игра через: Steam + аккаунт Epic Store
Информация по игре Satisfactory: Игра с видом от первого лица и открытым миром, в которой вам предстоит заниматься строительством заводов, а также исследовать и сражаться В составе компании FICSIT Incorporated вы станете первопроходцем на неизведанной планете: составляйте подробную карту, используйте ресурсы, сражайтесь с инопланетными формами жизни, стройте многоэтажные заводы, развивайте конвейерное производство, автоматизируйте технику и открывайте новые технологии.

Файлы для игры:

1. Скачиваем игру Satisfactory и распаковываем ее в любую папку

Как запускать:

1. Запускаем Steam, заходим в свой профиль.

2. Запускаем игру через FactoryGame.exe.

3. Во время запуска игры откроется ссылка в браузере, где вам нужно будет войти в свой аккаунт Epic Store и предоставить разрешения игре.

Join Game Подключаемся к другу.

New Game Настраиваем всё по своему желанию (Session Type ставим на Friends Only) и нажимаем Start Game Ожидаем подключения других игроков.

Информация о сетевых режимах:

  • Вы можете играть на официальных серверах.
    ?
    необходимые для запуска игр.

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

Скриншоты комьюнити/Ваши постройки

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

Если у вас есть интересная новость или же вы хотите поделиться своим творчеством, присылайте заявки в предложку группы - мы обязательно запостим самое интересное и креативное!

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


Консольные команды в Сатисфактори

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

Список консольных команд Satisfactory:

  • /c game.local_player.force.manual_mining_speed_modifier = ваше_число – скорость добычи ресурсов (по умолчанию равняется 1);
  • /c game.local_player.force.manual_crafting_speed_modifier = ваше_число – скорость крафта (по умолчанию равняется 1);
  • /c game.local_player.force.laboratory_speed_modifier = ваше_число – скорость исследований в лаборатории (по умолчанию равняется 1);
  • /c game.local_player.force.research_all_technologies() – заканчивает все активные исследования;
  • /c game.local_player.zoom = 0.ваше_число – меняет зум камеры;
  • /c game.local_player.insert – нужный предмет в нужном количестве появляется в инвентаре;
  • /c game.always_day = true – активирует режим вечного дня;
  • /c game.speed = ваше_число – меняется скорость игры. Параметр меняет абсолютно все игровые механики, в том числе и скорость передвижения персонажа (по умолчанию равняется 1).

Как открыть консоль в Сатисфактори

Отдельно включать или активировать консоль в Satisfactory не нужно – достаточно ее открыть. Это делается нажатием кнопки тильда (~) или обратного слеша (\).

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

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

В своём блоге на Gamasutra сетевой программист Coffee Stain Гафхар Даваллиус рассказал о том, как в студии оптимизировали сетевой код игры. Мы выбрали главное из материала.

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

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

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

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

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

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

Поэтому, после выбора модели неткода, перед разработчиками встали следующие задачи.

  • Минимализировать количество отправляемой информации. Это можно сделать, выяснив, какие данные наиболее важны в определённый промежуток времени. К примеру, не нужно отправлять то, что игроки не видят.
  • Уменьшить частоту отправления информации. Если какой-то объект не меняется часто или его поведение достаточно предсказуемо, данные о нём можно посылать реже.
  • Сжать и уменьшить количество сведений, необходимых для точного отображения состояния игры.

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

На двух примерах Даваллиус объяснил, что сделали в Coffee Stain. В первую очередь разработчики переработали систему инвентаря. В Satisfactory помимо игрока предметы могут хранить контейнеры и некоторые объекты фабрики: информация о них обновляется в реальном времени, так как все ресурсы поступают напрямую в хранилища.

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

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

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

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

Например — вместо того, чтобы отсылать данные про все 25 предметов на конвейере, мы отправляем лишь сведения о двух новых предметах, которые на нём появились, и об одном, который с него сошёл. То есть, мы используем только 12% всей информации.

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

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

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

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

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

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

Комментарий удален по просьбе пользователя

Да, лучше почитать дневники разрабов Factorio

Комментарий удален по просьбе пользователя

попить с этими чешскими чуваками баварского пива в Варшаве

Комментарий удален по просьбе пользователя

Адресок подскажи, а то в сл. месяце как раз там буду.

Комментарий удален по просьбе пользователя

А еще у них самая вкусная рулька.

Благодарю. Обязательно зайду.

Вельвет наливают в каждом втором приличном пабе европы.

Комментарий удален по просьбе пользователя

Просто пиво на азоте?

И не говори. "Чтобы уменьшить нагрузку на сеть, мы уменьшили объем отправляемых данных" - вот и вся статья.

Комментарий удален по просьбе пользователя

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

Первый — это полная синхронизация карты между всеми игровыми клиентами. В таком случае на компьютерах игроков бы воспроизводилась локальная симуляция. Так поведение всех объектов было бы на 100% предсказуемым — а вся информация бы обновлялась только тогда, когда происходят непредвиденные явления (например, действия игрока).
Тут мне кажется не хватает небольшого пояснения:
Синхронизация всех клиентов с сервером происходит на старте игры/при подключении клиента к серверу. Сервер пересылает клиенту актуальное состояние мира, после чего клиент может симулировать мир локально, без необходимости синхронизации с сервером несколько раз в секунду кроме случаев, когда игроки производят какие-то действия (но и даже так, можно было бы передавать только действия игроков, без необходимости передавать полный стейт игрового мира).
Но такой подход будет работать только при 100% детерминированной модели игрового мира, т.е. когда при одинаковых входных условиях мы всегда будем наблюдать абсолютно одинаковое развитие событий. К сожалению 100% детерминированности для сложной игры не добиться (по разным причинам, вплоть до разницы в вычислениях с плавающей запятой на разных архитектурах процессоров), о чём, собственно и идёт речь далее в статье.

А ещё первый вариант больше подвержен читерству (подмене данных клиента).

Путь до сохранений Satisfactory в Windows:

  • %LOCALAPPDATA%\FactoryGame\Saved\SaveGames\
  • C:\Users\[имя пользователя]\AppData\Local\FactoryGame\Saved\SaveGames\

Путь до скриншотов Satisfactory в Windows:

  • %USERPROFILE%\Documents\My Games\FactoryGame\Screenshots\
  • C:\Users\[имя пользователя]\Documents\My Games\FactoryGame\Screenshots\

Сохранения в Linux

Путь к сохранениям Satisfactory в STEAM на Linux:

  • [Папка со Steam]/steamapps/compatdata/526870/pfx/
  • ~/.steam/steam/userdata/[id пользователя]/526870/

Добавить комментарий Отменить ответ

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