Энтузиаст запустил 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 (подробнее »)
Об авторе
Наношу добро, причиняю пользу, благодарен за лайки и содержательные (дополняющие статьи) комментарии.

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

Новости

Публикации

Сколько на самом деле лет Вселенной? Как древние звезды чуть не оказались старше Большого взрыва

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

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

Долгое время астрофизика опиралась на упрощенные одномерные вычисления. Новые многомерные компьютерные симуляции наконец позволили заглянуть под фотосферу массивных звезд.

Барочный Гагарин и непривычный Леонов: интересное с выставки Космизм. Проект преображение

Есть на Руси добрые приметы: чем ближе День Космонавтики, тем больше появляется тематических проектов, связанных с темой Космоса. Один из ни - «Космизм. Проект...

В офис, в спортзал и на бизнес-встречу: обзор беспроводных наушников с QI HUAWEI FreeClip

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

Обзор карты памяти Silicon Power CFexpress Type B 512GB – разница между пиковыми и реальными скоростями

Появилась возможность провести тестирование Silicon Power CFexpress Type B 512GB. Прогнал синтетические тесты, затем последовательно записал крупный файл на 100 ГБ и папку с десятками тысяч мелких...