Pac-Man в загрузочном секторе: мексиканский разработчик создал игру Pillman размером 512 байт

Мексиканский разработчик Оскар Толедо Гутьеррес (Óscar Toledo Gutiérrez), использующий псевдоним Nanochess, имеет необычное увлечение: он создаёт крохотные игры на C, Java, Javascript и в машинном коде x86. Благодаря своим работам, в том числе самым маленьким в мире шахматным видеоиграм на этих языках, он стал призёром нескольких конкурсов. На его счету пять наград престижного IOCCC (International Obfuscated C Code Contest), участники которого соревнуются в написании запутанного кода на языке Си. Недавно программист представил своё новое творение — аналог Pac-Man под названием Pillman, занимающий 512 байт и умещающийся в главную загрузочную запись. При желании его можно запустить на оригинальном компьютере IBM PC 1981 года.

Pillman очень похожа на культовую игру Namco, но в описании поедающий точки Пакман заменён на безымянного «жёлтого человечка», поглощающего «пилюли». Управление предельно простое — используются лишь клавиши со стрелками. Скачать её, а также исходный код предлагается на GitHub. Аркаду можно запустить как COM-файл или поместить в загрузочный сектор дискеты. Для ассемблирования потребуется Netwide Assembler, который можно скачать с официального сайта. Собрать игру позволят следующие команды:

nasm -f bin pillman.asm -Dcom_file=1 -o pillman.com
nasm -f bin pillman.asm -Dcom_file=0 -o pillman.img

Толедо тестировал Pillman на эмуляторах VirtualBox и DOSBox, но предполагает, что она также будет работать на QEMU. Приложение совместимо с 16-битным процессором Intel 8088, на базе которого работал оригинальный IBM PC, но стоит учесть, что для запуска на старом «железе» придётся найти видеокарту с разъёмом VGA и поддержкой восьмибитного цвета. 

Так выглядит игра, запущенная на эмуляторе (видео опубликовал сам автор):

В июне Толедо выложил в открытый доступ аналогичный 512-байтный клон ещё одной легендарной аркады — Space Invaders (он называется просто Invaders). В 2017 году мексиканец выпустил столь же компактную игру, основанную на Flappy Bird. Некоторые релизы программиста предназначены для консолей семидесятых–восьмидесятых (например, Atari 2600 и Intellivision). Энтузиаст не только «клонирует» классику, но и делает оригинальные проекты — к таким относятся Princess Quest и Mecha Eight для MSX. Оценить многообразие его игр можно на GitHub и личном сайте.

Толедо также создал эмулятор Intel 8080 (за него он получил один из своих призов IOCCC) и написал несколько обучающих книг, в том числе «Toledo Nanochess: The commented source code», посвящённую его знаменитой шахматной видеоигре, код которой состоит из 1 257 символов (не считая пробелов), и «Programming Games for Intellivision». В его копилке также множество призов конкурсов JS1K и MSXdev. Мексиканец даёт интервью прессе, консультирует игровых программистов и дизайнеров и читает лекции в университетах своей страны.

Источник:

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *