А до 9 марта можно бесплатно играть, хотя кому будет время до городков 😂
Цель состоит в строительстве собственного города. Необходимо планировать зоны застройки, прокладывать дороги, организовывать работу городских служб и общественного транспорта. Игра получилась народной - статья о ней есть на Неолурке, а скриншоты вы могли видеть в постах про дизайн банкнот, воссоздании деревни, города Тольятти или в обычном меме.
Вы размещаете промышленные, жилые и коммерческие зоны, соединяете их дорогами, обеспечиваете электричеством, водой и канализацией, чтобы привлечь жителей и предоставить им рабочие места. В игре отсутствуют природные катастрофы (хотя реки могут выйти из берегов), можно переименовать здания, улицы и районы, на дорогах размещать будки для сборов, также реализована симуляция жизни внутри города. Например, показан приезд полиции на место преступления, а граждане ходят на работу.
Как и в классических градостроительных симуляторах, можно строить школы, больницы, пожарные депо, полицейские участки, медицинские учреждения и т.д. Контролировать отходы, налоговый сбор, реализовывать различные экономические меры, типа поддержки малого бизнеса.
Помимо обычного общественного транспорта, в игре представлен экзотический: паром, монорельс и даже дирижабль. Также будет доступно метро. На определённом этапе развития мегаполиса игра может показаться однообразной, но ситуацию спасает множество модов, вплоть до воссоздания целых городов из других игр. Рекомендуется не менее 16 гигабайт ОЗУ.
Игра разработана финской студией Colossal Order, издателем выступили Paradox Interactive.
Cвязанные с ачивками DLC и количество дополнительных достижений:
Mass Transit (14), Natural Disasters (12), Parklife (8), Snowfall (8), Sunset Harbor (7), Industries (7), Campus (7), Green Cities (6), Financial Districts (5), Airports (5), Plazas and Promenades (3), After Dark (4), Hotels & Retreats (3).
Прокладка мостов очень проста. Выбираешь точку начала/конца и мост автоматически ставит опоры.
Ферменный мост. Мосты можно копировать и сохранять в чертежи
Что бы построить мост для начала вам скорее всего придется подготовить подходящую площадку на другом берегу с помощью плавучих экскаваторов
Старый абзетцер(Будет удален позже) и новая башня абзетцер
Новая карта архипелаг что бы было где строить мосты. Обещают снова расширить площадь карты. Ранее самой большой был хвост дракона. Правда некоторые умельцы уже отредактировали код игры напрямую и сделали карту 8х8 км.
В игру добавлен режим песочницы из главного меню. В песочницу можно будет превратить любое сохранение с помощью консольной команды. Но безвозвратно. Сохранение навсегда останется помеченным как песочница.
Игрокам дали команду на ускорение скорости игры(в интерфейсе она ограничена х3 для того что бы не вызывать фризов). Очень кстати, ведь у нас больше не будет мода Extended. Его разработчик ушел из моддинга игры.
В 4 версии появился интерфейс управления модами и файлы манифестов
Благодаря этим изменениям игроки смогут сами выбирать, когда загружать тот или иной мод, а разработчики — предоставлять больше информации и настраивать зависимости.
Чтобы еще больше расширить поддержку модов, мы также вводим функцию настройки модов на основе JSON. Это позволяет настраивать моды перед запуском игры, не требуя от модов каких-либо дополнительных настроек. Еще одним большим преимуществом является то, что моды, которые не добавляют контент, но требуют настройки, можно безопасно удалить из игры. До сих пор это было невозможно.
Теперь мы также отображаем список изменений мода в пользовательском интерфейсе. Если у мода есть файл changelog.txt в корневой папке, мы показываем его игроку в окне сведений.
CoI Hub с разделом модов все еще не готов. В прошлом году мы задержались с внедрением инструмента для перевода, потому что переводы необходимы нашему международному сообществу, а предыдущий инструмент ухудшал качество перевода. Мы определенно собираемся работать над CoI Hub в этом году, особенно теперь, когда мы представили манифесты. Недавно мы также наняли дополнительного сотрудника для работы над дизайном как для игры, так и для CoI Hub.
Разработчики игры выложили дорожную карту Но предупредили что не собираются строго придерживаться последовательности разработки в ней
Сохранения 4 версии будут совместимы с 3, а так же добавилена возможность загрузки 3 версии игры через стим для возможности игры с модом Extended., который не будет переписан на 4 версию.
Карта игрока joe8353 поставившая мировой рекорд глубины карьера - 4 км
Для достижения этой отметки пришлось ждать 82594 игровых лет. На скорости х3 это 5506 реальных часов.
Заходите в русское сообщество по игре в Telegram что бы оперативно узнавать новости по игре и познакомится с ней подробнее Если у кого то ТГ уже заблокирован - ищите сообщество вк.
О чём же подумать перед наступлением года нового? О Римской империи, конечно. Захотелось написать пост на пару плюсиков о стимовской демо-версии одной игры.
Итак, инди-студия Lion Shield Studios, известная по "Kingdoms and Castles" (2017), с помощью издателя Hooded Horse в конце января 2026 года планирует выпустить стратегию "NOVA ROMA".
Начну с графики. Да, у нас тут минимализм. Кого-то это может оттолкнуть.
Впрочем, у студии явно нет бюджетов создателей "Anno 117: Pax Romana". И как будто недавно вышедшая в раннем доступе Pompeii: The Legacy выглядит красивее, хоть и кое-где всё же олдскульно. Но игра — совокупность игровых механик, интерфейса, музыки, а не только графики. И прежде всего нас интересует геймплей. Для меня эталоном стратегии о Риме является "CivCity: Rome" (2006), но это отдельная история.
Итак, демка ограничивает игрока размерами карты, параметрами сложности. А что самое печальное — не всё дерево технологий доступно.
Создатели решили ввести довольно интересную систему. Нет, для открытия очков технологий нужна не наука или деньги. Для этого нужно выполнять волю богов. То есть выполнять задания на постройку/ достижение определённого количества населения и пожертвования в виде ресурсов.
Пока что в демке взаимодействовал с четырьмя богами. Если долго не строишь храм в честь кого-то, бог гневается. Также каждый бог отвечает за своё благословение для соседних зданий.
Зевс — довольство жилых зданий. Церера — усиление ферм.
Теперь о ресурсах и постройках. Изначально, после постройки аванпоста, нам доступна горстка бомжей. Их посылаем добывать камни и рубить дерево. Это основные строительные материалы. По желанию строим дороги, которые ускоряют передвижения. Ах да, дороги увеличивают нашу строительную зону. Но вот отдельных слоёв с информацией, чтоб включить когда захочешь, пока не хватает.
Чтобы наши подопечные не подохли с голоду, создаём фермы на плодородных квадратах. Чуть позже будут доступны виноградники, яблоневые сады и домики рыбака
Я совершил небольшую ошибку и построил город не у реки, а на широкой равнине. Впрочем, поселение всё равно выжило.
Признаюсь, река просто потерялась за деревьями. Кстати, во время осмотра острова возникла первая претензия: на кой делать приближение (масштабирование) прокруткой колёсика мыши назад? Да, для того, чтобы вернуть, как было, есть галочка в меню. Но зачем выдумывать велосипед?
В копилку претензий и набор стартовых зданий с точки зрения геймдизайна. Колодец и склад открываются позже храма римским богам. Почему бы такую базу не дать с самого начала — не ясно. Более того, был доступен форум. Чтобы построить форум, нужны золотые монеты, а их получаешь с налогов. Вот только здание, собирающее налоги, откроется позднее. Короче, какая-то альтернативная логика. Да, на тот момент я недоумевал, но потом втянулся по полной.
Наши работяги должны где-то жить, поэтому строим им лачуги. Количество население, свободные места в домах и сачкующие граждане Нового Рима показаны на индикаторах справа.
Новых граждан привозят корабли с поселенцами. Но часть из них может отказаться селиться на острове. А вот естественная убыль существует. В первую зиму многие перемёрзнут, если не успеете открыть здание по добыче угля. Плюс, иногда кого-то давит камнями или кто-то падает в колодец. Вот такой чёрный юмор у авторов. А ещё ваших граждан могут поубивать враги, эдакие морские пираты.
Иногда здания горят. Тушат их обычные люди, но можно открыть эдакую пожарную бригаду, которая существовала в римской цивилизации. После пожара здания чуть ветшают. Но для латания дыр существует "гильдия" каменщиков.
Но пожарная бригада требует жалования.
Карта обеспечения водой
Кстати, чуть позже можно будет проводить акведуки и строить бани. Какой же римский город без бань?
Постепенно город растёт.
Итак, расскажу про задания богов, которые приносят нам эдакие очки технологий. Например, для божества надо пожертвовать 65 единиц вина и получить 5 очков.
Задачи в демке без таймера. Но ресурса требуют серьёзного. Логично, что не стоит опустошать запасы угля перед зимой или отдавать всю пшеницу, если нет альтернативного источника пищи. Короче, задания выполнимые и бросают вызов.
А как же торговля? Когда откроете и построите док, к вам будут приплывать торговцы. помимо провизии, которую вы пока не умеете выращивать или ресурсов, которые не открыты на древе, они ещё могут скупать некоторые ваши ресурсы. Например, древесину, которой ой как много накопится. Но, увы, мало. Пришлось потом ставить меньше лесорубов в панели "Работа". А то склады забиваются.
Древесина ещё нужна для строительства частокола. Надо же как-то защищаться. При нападении на город нажимаем на аванпост и набираем ополчение. Главное — не забыть потом всех вернуть на работы.
Ещё город защищает сторожевая башня с определённым радиусом атаки. Но и стражам необходимо жалования. Единственный момент, который я так и не проверил — а смогут ли варвары напасть со стороны хижины рыбака, если весь город будет закрыт по периметру. Но атаки так и не дождался.
Мой город без интерфейса
Экран постройки акведуков
Несмотря на первоначальный скепсис, в игру залип. За 2 часа неторопливой игры открыл все доступные в демо здания. И даже не всё построил.
С одной стороны, хочется пощупать полную версию и верить, что на релизе это будет очередной неплохой градострой. С другой стороны, сильно очаровываться пока не хочется. Сеттинг уже исхоженный. Кроме того, в той же "CivCity: Rome" от Firefly Studios и Firaxis Games, помимо песочницы, была эдакая сюжетная компания с разными задачами и ограничениями. Насколько тут всё будет интересно с наполнением, пока судить сложно.
COIExtended.CoreMain Расширение игрового контента, новый уровень исследований, новые руды, новый уровень техники и.т.д COIExtended.Automation Сортировщик с приоритетами и сортировщики 2х4 3х3 COIExtended.Cheats Читы + максимальная скорость игры до х15 COIExtended.Difficulty Расширение настроек сложности COIExtended.ItemSink Еще одни читы COIExtended.Sanitizer Позволяет загружать сейвы игнорируя мод-лист сейва(можно продолжить ванильный сейв с модами) COIExtended.StoragePlus Расширенные настройки складов COIExtended.Tweaks Свободная камера, отключение тумана, инструменты посадки деревьев и прочие визуальные настройки
Инструкция по установке там же К сожалению доступен пока только на английском языке и техническая возможность перевода отсутствует(но сообщество активно требует, так что вероятно это будет первый переведенный мод)
Некоторые фичи мода:
Рыбная промышленность
На большинстве производств теперь есть ползунок позволяющий регулировать скорость производства и затраты на него
Здравствуйте и добро пожаловать на 52-ю страницу «Капитанского дневника». Я капитан Марек, и на этой неделе я поделюсь некоторыми подробностями о своей недавней работе по оптимизации транспортных средств и симуляции океана. Это немного более техническая тема, поэтому вкратце скажу, что из-за проблем с амфибийными транспортными средствами мы оптимизировали транспортные средства и симуляцию океана, и теперь вы сможете наслаждаться игрой с частотой кадров на 10–15 % выше! Читайте дальше, если хотите узнать, как были достигнуты эти успехи и какое отношение это имеет к амфибийной технике.
Рендеринг транспортных средств
Транспортные средства в Captain of Industry смоделированы в 2D. Для этого есть много причин, в основном связанных с производительностью и сложностью реализации (поиск пути в 3D становится очень сложным и происходит очень быстро). Однако игра выполнена в 3D, поэтому для каждого кадра необходимо вычислять высоту и 3D-ориентацию всех транспортных средств на основе их 2D-положения.
Расчёт положения транспортного средства не представляет особой сложности:
Вычислите двумерные координаты четырёх «угловых точек» транспортного средства на основе его двумерной позы (положения и поворота). Эти четыре точки обычно находятся там, где расположены колёса или где заканчиваются гусеницы.
Преобразуйте эти двумерные точки в трёхмерные, вычислив высоту рельефа в каждой точке. При этом учитываются такие исключения, как пандусы для транспортных средств, где транспорт движется по альтернативной поверхности, а не по рельефу.
Проведите трёхмерную плоскость через эти точки.
Вычислите трёхмерную позу (положение и поворот) на основе полученной трёхмерной плоскости.
Проблема с амфибийными транспортными средствами
Когда мы разрабатывали машины-амфибии, одним из препятствий, очевидно, был океан! Я имею в виду возможность того, что машины будут плавать по волнам. Дело в том, что наш океан полностью смоделирован на графическом процессоре (подробнее об этом в выпуске № 35), и центральный процессор вообще ничего не знает о поверхности океана.
На столе лежали два решения:
Загружайте сгенерированные текстуры океанских волн из памяти графического процессора в каждом кадре и заставляйте центральный процессор вычислять высоту океанских волн в четырёх угловых точках каждого транспортного средства. Это довольно просто реализовать, но передача данных из графического процессора в центральный требует немалых затрат, а работа центрального процессора, необходимая для вычисления высоты волн, значительна (сотни инструкций).
Пусть графический процессор вычисляет высоту океанских волн в точках расположения транспортных средств. Центральный процессор загружает в графический процессор список двумерных точек интереса, а вычислительный шейдер эффективно вычисляет соответствующую высоту океанских волн. Это будет значительно быстрее, чем предыдущее решение.
Зная, что первое решение приведёт к значительной дополнительной нагрузке на процессор, мы выбрали второе решение, и я за него взялся.
Когда я писал вычислительный шейдер для оценки высоты волн, мне пришло в голову, что у нас уже есть текстура высоты рельефа на графическом процессоре для рендеринга рельефа. Почему бы не использовать её? И почему бы не создать ещё одну текстуру высоты для специальной поверхности транспортного средства и не использовать её? Это позволило бы нам полностью отказаться от выборки высоты транспортного средства на центральном процессоре.
И это, друзья мои, то, что мы часто называем «кроличьей норой». Из задачи, на которую отводился один день, внезапно вырастает проект, на который уходит целая неделя!
Но прежде чем я прыгнул в эту кроличью нору, я выполнил домашнее задание и проанализировал производительность вычисления положения транспортного средства на центральном процессоре. Я подумал, что если на это уходит менее 1 % времени обновления симуляции, то оптимизировать это не стоит. Я провёл анализ и, держитесь крепче, вычисление положения транспортного средства заняло около 10 % времени симуляции!
Снимок экрана из инструмента профилирования, показывающий, что обновление 217 грузовиков заняло 1 мс, а всех транспортных средств — 1,4 мс, что составляет около 14 % от общего времени моделирования.
Увидев этот результат, я понял, что оптимизация этого кода определённо стоит дополнительных усилий. Поэтому я написал код, который позволяет эффективно хранить текстуру поверхности транспортного средства на графическом процессоре и использовать её вместе с текстурами океана и ландшафта для полного преобразования 2D-поз транспортных средств в 3D на графическом процессоре. Последний вычислительный шейдер принимает 2D-позы и смещения углов транспортных средств для всех транспортных средств и вычисляет окончательные 3D-позы.
Тестирование показало, что вычисление положения 270 транспортных средств занимало около 1 мс, а теперь на центральном процессоре это происходит практически мгновенно (требуется лишь скопировать в память небольшой массив).
Снимок экрана инструмента профилирования, показывающий, что оптимизация вычисления положения транспортного средства сократила время обновления транспортного средства с 1,4 мс до 0,4 мс
И самое приятное то, что вычисление 200 поз на графическом процессоре требует так мало ресурсов, что мы можем вычислять в 10 раз больше обновлений транспортных средств без замедления работы, в то время как центральный процессор будет линейно замедляться с каждым дополнительным транспортным средством.
Возможно, вам интересно, почему процессор работает так «медленно». Дело в том, что каждое транспортное средство выбирает четыре точки, а для интерполяции каждой точки требуется четыре значения высоты, то есть 16 значений для каждого транспортного средства. Поверхность транспортного средства хранится в словаре, поэтому добавьте к этому 16 обращений к словарю и множество операторов if и вызовов методов. Кроме того, используются тригонометрические функции и множество арифметических операций. Для более чем 200 транспортных средств это даёт значительный результат. Очевидной неэффективности не было, просто много обращений к памяти и математических вычислений (я почти уверен, что узким местом была память).
Стоит отметить, что из-за задержек при передаче данных с центрального процессора на графический транспортные средства теперь отстают на несколько тактов моделирования. Я написал интеллектуальную систему минимизации задержек, поэтому, если ваш компьютер обрабатывает результаты достаточно быстро, задержка может составлять всего один такт, а в худшем случае — до четырёх тактов.
Оптимизация океана
Транспортные средства-амфибии создавали ещё одну проблему, связанную с океаном. Теперь, когда мы можем моделировать транспортные средства, «парящие над волнами», в настройках рендеринга появилась возможность отключить реалистичную симуляцию океана и просто использовать плоскость с анимированными текстурами. Проблема в том, что, хотя анимированные текстуры придают низкодетализированному океану некоторую глубину, трёхмерная сетка представляет собой просто плоскую поверхность. Как только вы размещаете на ней транспортные средства, иллюзия глубины исчезает, и она выглядит как плоская поверхность.
Плавучие средства на старой и плоской версии океана.
Итак, у нас было два варианта:
Просто смиритесь с этим, в любом случае это низкокачественный вариант. Добавьте возможность полностью отказаться от вычисления волн в вычислительном шейдере, который оценивает положение транспортного средства.
Попробуйте оптимизировать смоделированный океан и убрать из игры опцию «плоский океан».
Вам это не напоминает кроличью нору? Проблему с потенциально высокой сложностью и неопределёнными результатами? Да, и что мы делаем перед тем, как нырнуть в кроличью нору? Анализируем! Я хотел узнать, насколько медленнее работает смоделированный океан.
Согласно моим тестам, на рендеринг смоделированного океана уходило в 10 раз больше времени, а на менее мощных графических процессорах этот показатель мог быть ещё выше.
Когда я представил свои выводы на совещании и сказал, что, по моему мнению, стоит стремиться к более высоким показателям, Джереми мягко напомнил мне, что мою реализацию симуляции океана, безусловно, можно оптимизировать, и дал мне несколько советов. Так что все за работу, мы выбираем второй вариант!
Я не хочу вдаваться в технические подробности, но должен упомянуть, что наш океан использует так называемое обратное быстрое преобразование Фурье (ОБПФ) для эффективного моделирования и суммирования сотен синусоидальных волн различной частоты и амплитуды. Кстати, эту же технологию используют в кино и так называемых «ААА»-играх.
IFFT должен выполняться в несколько этапов, в нашем случае 8, и моя первоначальная реализация вызывала вычислительный шейдер для каждого этапа. Это естественная вещь, поскольку каждый этап должен завершиться до начала следующего. Однако, как указал Джереми, эти этапы могут быть “объединены” в один вызов вычислительного шейдера. Это возможно благодаря функции GroupMemoryBarrierWithGroupSync , которая позволяет всем потокам в группе потоков ожидать друг друга, чтобы их промежуточные результаты могли быть повторно использованы на следующем этапе. Как вы можете себе представить, синхронизация групп потоков выполняется намного быстрее, чем вызов нового вычислительного шейдера.
Скриншоты из профилировщика графического процессора
Объединённые ядра IFFT позволили нам ускорить работу в 4–5 раз, но я чувствовал, что можно добиться большего. Моей второй целью было сократить объём работы на кадр. Мы по-прежнему выполняли четыре IFFT на кадр, а это большой объём работы. Я хотел реже выполнять фактическое моделирование и просто использовать линейную интерполяцию между кадрами — по сути, то же самое, что мы делаем для моделирования игры, но для океанских волн.
Я не буду вдаваться в технические подробности, но отмечу, что я решил моделировать океан 10 раз в секунду и просто интерполировать промежуточные значения. С точки зрения реализации мы храним три набора данных: два интерполируемых и один вычисляемый, и они чередуются циклически. Организовать всё это было непросто, но и не так сложно, как может показаться.
Самым большим преимуществом этого метода является то, что отдельные вычисления IFFT могут быть вызваны в разных кадрах, что дополнительно снижает нагрузку на каждый кадр в 3-4 раза. Что еще более удивительно, так это то, что чем больше кадров в секунду вы получите, тем меньше будет нагрузка на каждый кадр. Для систем, которые запускают COI со скоростью 40 + кадров в секунду, будут кадры, в которых IFFT даже не выполняется на графическом процессоре.
Вот окончательные результаты тестирования. Если рассматривать только нагрузку на вычислительное ядро графического процессора, то старое IFFT занимало 0,8 мс на кадр, а после всех оптимизаций — 0,05 мс на кадр. Это ускорение в 16 раз!
Снимок экрана из профилировщика графического процессора, на котором показана итоговая нагрузка на вычислительные шейдеры океана (фиолетовые прямоугольники) за кадр — около 0,05 мс.
Я протестировал это на пустой карте Нью-Хейвена, и старый плоский океан выдавал 352 кадра в секунду, старый причудливый океан — 301 кадр в секунду, а тот же океан после оптимизации — 343 кадра в секунду. Таким образом, новый океан не такой дешёвый, как старый, но разница невелика, поэтому мы решили убрать старую опцию из игры.
Окончательный ориентир
Подводя итог, можно сказать, что для того, чтобы машины-амфибии заработали, мы оптимизировали расчёт положения транспортных средств и рендеринг океана. В конце игры на McRib с 270 транспортными средствами общий FPS вырос с 54,8 до 61,5, то есть на 12%! Вот более подробные цифры:
Результаты тестирования: время синхронизации сократилось с 3,29 до 3,03 мс (на 8 % быстрее), время обновления симуляции — с 11,5 до 9,65 мс (на 16 % быстрее), а время обновления рендеринга — с 3,58 до 3,14 мс (на 12 % быстрее).
Путевые точки поездов
В обновлении 4 появятся облегчённые железнодорожные станции, также известные как путевые точки! Мы учли ваши отзывы о том, что зоны ожидания и вспомогательные станции, не требующие погрузочных модулей, занимают слишком много места.
Зал ожидания с продуманным расположением станций для экономии места. Тем не менее более 50 % пространства не используется.
Путевая точка поезда работает точно так же, как станция, с точки зрения расписания поездов, но к ней нельзя прикрепить модули. Однако для неё не нужно больше места, чем для самого железнодорожного пути, поэтому её можно построить на параллельных путях без дополнительного пространства. Более того, путевые точки можно размещать даже на эстакадах. Путевая точка будет доступна в базовой игре.
Зона ожидания с точками маршрута поезда позволяет более эффективно использовать пространство.
Атомный локомотив
В последнем выпуске «Капитанского дневника» я вкратце упомянул, что в грядущем дополнении «Поезда» появятся новые локомотивы, и многие обсуждали самый необычный из них — ядерный локомотив. Я видел много предположений о том, насколько он будет большим и будет ли ему нужно топливо или вода, поэтому позвольте мне прояснить ситуацию.
Атомный локомотив состоит из трёх частей: служебного вагона (часть A), вагона с ядерным реактором и турбиной (часть B) и вагона-конденсатора (часть C). Длина всего локомотива составляет 25 плиток (50 метров), что эквивалентно пяти тепловозам первого уровня.
Атомный локомотив, трёхсекционный гигант. Он очень тяжёлый, очень мощный и очень редко нуждается в дозаправке.
В блоке A находится экипаж из двух человек. В блоке B расположен защищённый ядерный реактор и паровая турбина, которая вырабатывает электричество для всех ведущих осей. Чтобы локомотив был автономным и не нуждался в дозаправке водой, в блоке C происходит конденсация отработанного пара с возвратом воды в реактор.
Поскольку вода циркулирует по замкнутому контуру, единственное, что нужно дозаправлять, — это ядерное топливо. Для этого необходимо заменить весь реактор. Самое интересное, что реактор нужно менять только раз в 100 лет!
А если по какой-то причине вам недостаточно локомотива, состоящего из трёх секций, можно присоединить несколько пар секций B-C к одной секции A.