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

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

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

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

Новости

Публикации

Чтобы рисовать, как ребенок, надо повзрослеть, или прогулка по «Бумажному саду» Сергея Макарова

Примерно раз в месяц галереи Винзавода обновляют экспозиции, и до 24 мая Totibadze Gallery будет демонстрировать серию работ «Бумажный сад» современного художника Сергея Макарова.

Для чего в горлышке бутылки подсолнечного масла есть прорези

Если внимательно посмотреть внутрь бутылки с подсолнечным маслом, можно заметить странные пластиковые «лепестки» или прорези в горлышке. Многие воспринимают их как элемент дизайна или думают, что...

Откуда берутся звездопады: как Солнце разрушает астероиды и формирует новые метеорные потоки на пути Земли

Наблюдая за ночным небом, люди часто видят метеоры — яркие вспышки, возникающие при сгорании космических частиц в атмосфере Земли. Астрономия связывает происхождение большинства...

Почему на некоторых зарядных кабелях есть утолщение

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

Вулкан, который работает как насос: как Этна выкачивает магму с 80-километровой глубины

Вулкан Этна, расположенный на восточном побережье Сицилии, остается одним из самых сложных объектов для геологического моделирования. Будучи самым активным вулканом Европы, он демонстрирует...

Шондонг: как нашли целую экосистему в сводах самой большой пещеры мира

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