Как в Minecraft работает виртуальный компьютер
У него есть поддержка мультиплеера, кабели тоже на подходе.
Кстати, на сайте читать удобнее
В середине июня реддитор DeltaTwoForce выпустил для Minecraft модификацию, позволяющую прямо в игре собирать компьютеры и запускать на них настоящие операционные системы и игры. Компьютеры почти реальны — модификация использует виртуальную машину VirtualBox.
Мод DeltaTwoForce предназначен для Java-версии Minecraft и написан на этом же языке программирования. Исходный код VM Computers — так называется модификация — выложен на GitHub, мы рассказываем, как работают компьютеры в Minecraft.
По сути, DeltaTwoForce превратил Minecraft в альтернативный пользовательский интерфейс для VirtualBox. Во время сборки PC из доступных блоков игрок на самом деле конфигурирует виртуальную машину; игра обменивается данными с ней при помощи API.
Сперва, рассказывает реддитор, он надеялся использовать официальный SDK VirtualBox. Оказалось, что набор библиотек не кроссплатформенный; пришлось разрабатывать разные решения для Windows и Linux-версий Minecraft.
Стабильнее и быстрее всего VM Computers работает под Linux: это объясняется тем, что здесь игра и виртуальная машина взаимодействуют напрямую. Для работы под Windows реддитору пришлось связываться с VirtualBox через встроенный веб-сервис.
Технически все устроено так. Когда внутри Minecraft стартует компьютер, модификация связывается с веб-сервисом VirtualBox и дает команду запустить привязанную к этому компьютеру виртуальную машину. Изображение с экрана выводится в Minecraft очень просто: модификация транслирует в игру скриншоты виртуальной машины.
Все геймплейные ролики мода записывались под Linux, где модификация взаимодействует с VirtualBox напрямую и может обеспечить приемлемую частоту кадров на виртуальном мониторе. Под Windows частота кадров гораздо ниже, причем Windows 10 в таком режиме работает медленнее Windows 98.
Первая версия модификации не поддерживала мультиплеерный режим, но затем DeltaTwoForce его все-таки реализовал. Виртуальная машина по-прежнему работает на компьютере одного из игроков; мод отправляет на сервер изображение виртуального экрана, а тот рассылает его всем подключенным клиентам.
На разработку мода, рассказывал DeltaTwoForce, у него ушла большая часть года — со свободным временем помогла пандемия. В первом квартале 2020 года моддер сделал сборку PC в Minecraft, во втором реализовал взаимодействие с виртуальной машиной, а затем сделал заказ частей PC: в игре их привозит ракетный дрон.
В будущем реддитор планирует добавить поддержку QEMU, ускорив работу виртуальной машины, и реализовать кабели, с помощью которых будут соединяться детали компьютера в Minecraft.