Энтузиаст запустил cамый маленький в мире сервер Minecraft на микроконтроллере за 1$

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Новость | Игры

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

Minecraft-серверы известны своими высокими требованиями к ресурсам — для их стабильной работы необходимы гигагерцы процессорной частоты и гигабайты оперативной памяти. Однако программист-энтузиаст смог обойти эти ограничения, запустив игру на микроконтроллере ESP32-C3 с тактовой частотой 160 МГц и менее чем 300 килобайтами доступной памяти.

Автор: LeVK, post-apocalyptic (CC BY-SA 2.0) Источник: www.flickr.com

Секрет успеха кроется в том, что это не официальный сервер от Mojang. Автор проекта, известный энтузиаст в сфере экзотического моддинга видеоигр PortalRunner, написал собственную версию с нуля на языке программирования C, поставив во главу угла максимальную производительность и оптимизацию. Для достижения цели ему пришлось пойти на множество компромиссов и «срезать углы» практически во всех аспектах игры.

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

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

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

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

Кроме того, все изменения, внесённые игроками (построенные или разрушенные блоки), хранятся в специальном массиве. Его объём ограничен — на микроконтроллере можно сохранить около 25 тысяч изменений, что эквивалентно выкопанным полутора чанкам.

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

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

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

Источник: PortalRunner

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

0 комментариев

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

Сейчас на главной

Новости

Публикации

Хижина Маргариты: почему люди поднимаются на высоту 4554 метра ради одной ночи

В итальянских Альпах на горе Пунта-Гнифетти горной цепи Монте-Роза (Monte Rosa) стоит необычное место для ночлега, называемое «Хижиной Маргариты». Находится оно на высоте 4554 метра над уровнем...

Будущее защищённых смартфонов на российском рынке: планы и инновации бренда Ulefone

  • Статья
  • Ulefone
О планах Ulefone на российском рынке и особенностях новых защищённых гаджетов рассказал CEO компании, господин Сюн Синьань. Компания уже много лет выпускает защищённые смартфоны и продолжает...

Гравитация следует законам Ньютона и Эйнштейна на любых масштабах: доказывает ли это существование темной материи?

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

Обзор NAS TerraMaster F2-425 или как я пришел к покупке сетевого хранилища, после утраты более 10 000 фото

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

Моточасы вместо километров: зачем сельхозтехнике особый способ учёта пробега

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