...на дворе 1992й год и
ещё молодой hdc увлечённо строчит
код очередной игры для "Специалиста".

Пора - решил я. Если информация ещё не потерялось, то скоро потеряется навсегда. Подключив 5-дюймовый дисковод к старенькому серверу, работающему под FreeBSD я попытался прочесть всё, что сохранилось на коллекции дискет. То, что по прошествии более 20 лет 5-дюймовые дискеты сохранили практически всё записанное вызвало немалое удивление. При помощи dd снял образы с более чем сотни дискет. На это дело ушло несколько дней. Было ощущение, что работаю с машиной времени ;)

На некоторых дискетах информация записана на "нечётных" дорожках. Был такой в своё время приём после появления 80-дорожечных дисководов. Как выудить информацию оттуда - задача открыта. Попытка подправить драйвер дисковода успеха не принесла, поэтому ищутся другие способы решения.

Тогда я занимался разработкой программного и аппаратного обеспечения для ПК "Специалист". Про аппаратную часть вкратце можно почитать здесь: http://hdc.fanstvo.com/Specialist/ . Может как-нибудь распишу более подробно.

Про программную часть ещё предстоит написать - чтобы хотя бы самому не забыть ;) Если вкратце - была своя дисковая операционная система, свой Wordstar-like текстовый редактор, свой компилятор ассемблера, позволяющий компилировать код из нескольких исходных файлов, был отладчик, аналогичный AFD... ну и какое-то количество игр.

Теперь собственно об играх. Я не слишком большой выдумщик игр. Поэтому просто занимался созданием клонов игр, имеющихся на известных компьютерах. Эта статья посвящается одной из этих игр.

Итак, Pac-Man в варианте для специалиста. Скачать его бинарный код в формате RKS (подходит для эмулятора Emu80) можно отсюда: http://hdc.fanstvo.com/Specialist/mpac/MEGAPAC.RKS.

В целом это самый обычный Pac-Man, но с небольшими расширениями.

Управление - стрелками. Пробел - остановиться.

В игре три лабиринта - вариации на тему классической игры.

В классическом варианте игры бонусы дают только дополнительные очки. Обычно это всякие вкусности - фрукты/ягоды. В моей версии Pac-Man бонусы служат инструментом, помогающим выжить.

Всего в игре 10 различных видов бонусов. На первом уровне доступен только один тип бонуса. На втором - два. И так далее.

Переключение между бонусами делается цифрами. 1 - выбрать первый бонус, 2 - выбрать второй бонус и т.д. Нажатие на Ввод - активирует выбранный бонус.

Бонусы и принципы их действия:

Ракетный ускоритель. Ускоряет перемещение раза в два. Помогает спасаться бегством.
Препятствие, через которое монстры не могут пройти. Можно остановить догоняющего монстра.
Шапка-невидимка. Если использовать этот бонус, монстры какое-то время не будут знать куда бежать.
Отрава. Если её бросить, то набежав на неё монстр превращается в духа.
Обычная таблетка - если её использовать, все монстры превратятся в духов.
Пуля. Ею можно расстрелять монстра, вставшего на пути.
Бомба. Взрывается через несколько секунд или после того, как на неё набежит монстр.
Злобный pac-man. Кидается на ближайшего монстра и... только глаза возвращаются в логово.
Телепорт. После того как установлен - в него можно моментально переместиться при нажатии кнопки Home.
Переход на следующий уровень. Работает не моментально, неспешно убирая точки из лабиринта.

Жизни даются редко - только за каждые 10000 очков. Самый эффективный, но и самый опасный способ заработать очки - дождаться когда все монстры вылезут из логова и сьесть таблетку (на каждом уровне их по 4 штуки). Тогда монстры превращаются в духов - за первого пойманного даётся 100 очков, за второго - 200, за третьего подряд пойманного - 400 и за четвёртого - 800.

Если хочется добавить себе проблем, то можно нажать точку запятой. На некоторых лабиринтах по нажатию на эту кнопку выбегает "ерундень", которая начинает расставлять точки в лабиринте. Её можно сьесть. Предполагалось, что она будет выбегать, если долго бегать по одному лабиринту, но должно же хоть-то быть в игре недоделанным ;)

А вот если нажать двоеточие, то в лабиринт может вылезти змий... собственно на нём разработка игры и прекратилась - что-то меня отвлекло... он недоделан - хвост движется криво и оставляет следы. Через какое-то время игра выскочит в монитор. Поэтому не надо нажимать эту кнопку в разгар игры. Предполагалось, что он тоже будет вылазить, если долго бегать по одному и тому же лабиринту.

Вообще попытки поиграть показывают, что играть тяжеловато.. посмотрим, может стоит игру сделать "полегче".

Что касается технической части игры. Стоит отметить графические образы с маской - в игре отсутствуют квадратные чёрные области вокруг движущихся объектов. Во-вторых я применил то, что сейчас называют double-buffering или теневое видео-ОЗУ. Изображение сначала формируется в копии видео-памяти, потом переносится в видимую часть. Таким образом в игре нет мерцания.

Вот собственно впопыхах и всё. Несколько запоздалый релиз игры получился. Как будет время - приведу в рабочий вид другие игрушки. Кое-что осталось на магнитофонных катушках - буду пытаться считать оттуда. Как что получится - дам знать.