Геймер построил 4-битный компьютер в Cities: Skylines при помощи канализации и электричества

Cities: Skylines — один из лучших градостроительных симуляторов нынешнего десятилетия, обладающий достаточной комплексностью, чтобы попытаться создать внутри игры логические вентили. При помощи таких универсальных вентилей можно построить полноценную машину для вычислений. Проще говоря, если вы видели компьютеры в Minecraft, то в Cities: Skylines возможно приблизительно то же. Это не значит, что полноценный компьютер будет просто реализовать, но если говорить о 4-битном сумматоре, то задача значительно упрощается.

Один геймер, проделал как раз такую работу. Дэниел Бали опубликовал блог, в котором представил процесс создания сумматора на основе базовой версии Cities: Skylines — никаких модов или аддонов.

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

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

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

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

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

Строительство всей цепи было проблематичным и автору пришлось несколько раз начинать снова из-за некорректных вычислений. Одна из проблем — пересекающиеся силовые линии. К счастью, ее удалось решить просто меняя высоту линий. 

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

В качестве демонстрации, что машина для сложения работает автор записал несколько видео. В первом он установил вход подключив провода к сети, которая всегда включена. С левой стороны он указал вход на 1001 (9 в 10-значной системе), а в середине 1110 (14). После установки входов он ускорил игру и выход на всех правых линиях переключился на единицы. После долгого ожидания финальные цифры стабилизировались на 10111 (23).

Все сработало!

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

Стоит учесть, что подобная структура представляет собой невероятно медленный компьютер. Одно 4-битное вычисление заняло примерно 15 внутриигровых месяцев или 20 минут реального времени. Также есть проблема с размером. Из-за специфики работы электроэнергии в игре компоненты должны располагаться на расстоянии друг от друга. В результате 4-битный сумматор занял значительную часть от тех 9 клеток карты, доступных в обычной игре, хотя если оптимизировать, то можно сократить масштаб. С модами количество клеток может достигать до 25, так что гипотетически, можно сделать еще более комплексную систему. 

Больше статей на Shazoo
Тэги: