Ssylka

Minecraft в QR-коде: вызов программированию

Уместить игру Minecraft в один QR-код оказалось возможным благодаря кропотливой работе и использованию нестандартных подходов. Изначальная Java-версия Minecraft4k, выпущенная в 2009 году, весила 2581 байт, но требовала Java Applets, что ограничивало её использование. Современная реализация размером всего 2952 байта умещается в QR-коде максимальной версии и запускается под Linux.
Minecraft в QR-коде: вызов программированию
Изображение носит иллюстративный характер

Процесс разработки включал обратную разработку оригинальной Java-версии, портирование на C++, а затем на C. Использовались различные техники, такие как генерация текстур на основе алгоритмов, маршевый метод трассировки лучей и оптимизация кода, для сокращения размера. Для дополнительного уменьшения размера применялись сжатие gzip, ShaderMinifier, удаление отладочной информации и нестандартное использование функции _start. Кроме того, были реализованы собственные функции sin и cos, а также загрузка функций OpenGL через dlopen и dlsym.

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


Новое на сайте

18321Что может рассказать пепел сгоревшей таверны XIX века? 18320Возможно ли создать универсальный донорский орган, изменив его группу крови? 18319Какие пять уязвимостей от Oracle до Apple стали оружием в руках хакеров? 18318Что может рассказать забытый соперник Рима о его истинном облике? 18317Почему оптическая иллюзия обманывает рыб, но не горлиц? 18316Эффект домино в облаке: как один сбой Amazon парализовал интернет 18315Непреодолимый энергетический барьер человеческого тела 18314Воздушный перегон в Бэдлендс: как вертолеты сохраняют популяцию бизонов 18313Бразильская спам-империя в магазине Google Chrome 18312Чистка рая: война Лос-Анджелеса против белых безработных 18311Архитектура страха: научное объяснение призраков и проклятых мест 18310Может ли копирование кода с веб-страницы обойти все ваши системы защиты? 18309Выжившие из Помпеи: как историк отследил беженцев Везувия 18308Куда исчезли тысячи жителей Помпей и Геркуланума? 18307Глобальный коллапс из-за сбоя в облаке Amazon