[История] [Sokoban] [Лестница] [UFO] [Загрузка программ] [Ссылки]


История

Mercury software возникла весной 1995 года, когда я, Сергей Кононенко и Илья Чудиновских решили писать игры для компьютера БК-0010 на ассемблере.

Для тех, кто не знает - краткая информация о самом БК: первый советский бытовой компьютер, появился в 1985 году, модели БК-0010 и БК-0010.01 имели 16-разрядный процессор К1801ВМ1 на частоте 3 Мгц, 16 Кб оперативной памяти и 16 Кб видеопамяти, видеоконтроллер поддерживал разрешение экрана 256x256 в 4-х цветах (черный, красный, зеленый, синий), был аппаратный скроллинг, никаких ограничений на размещение точек различного цвета (как в Спектруме) не было. Позже появился контроллер дисковода с дополнительной памятью от 16 Кб и выше.

Модели БК11 и БК11М имели благодаря страничной организации 128 Кб общей оперативной памяти, из которой две страницы по 16 Кб служили видеопамятью (появилась возможность "переключать экраны", которая заметна сказалась на качестве игр), тот же процессор работал на частоте 5 Мгц, был внутренний таймер, контроллер дисковода входил в стандартную поставку. Позже появились схемы подключения музыкального процессора AY-3-8910(12), используемого в Спектруме и других компьютерах этого класса, а также COVOX-а.

К 1995 году я написал не одну игру на Бейсике, но возможностей этого языка мне довольно быстро стало не хватать. К тому времени на рынке БК-шных программ было много довольно качественных игр, многие из которых были переделками со Спектрума, некоторые превосходили оригиналы. Поэтому я решил перейти на ассемблер, так как только он позволял использовать возможности БК-шки на 100% и писать более-менее профессиональный программы. В нашей команде я занимался собственно программированием, а Илья графикой, звуком, сценариями и всем остальным. Почти сразу возник вопрос о названии. Бейсиковские игры выходили просто под маркой БК company, но по понятным причинам для участия на рынке такое название не годилось. В то время большинство команд игрописателей, часто состоящих из одного человека, именовались "корпорациями" и записывались как RDA corp., SSS corp., где само название чаще всего было инициалами этого человека. Но нас было двое и название из инициалов выглядело бы не очень привлекательно. Тогда слово software среди БК-шников использовалось довольно редко, и мы решили, что это будет оригинально, для Mercury были две причины: уже были Lunia corp., Terra soft. и Меркурий был бы логичным продолжением в этом ряду, кроме того он является планетой покровителем для меня и для Ильи.

Sokoban

Получилось так, что на БК к тому времени не было хорошей реализации классической игры Sokoban (Цель - толкая ящики в лабиринте, поставить их на указанные места). Мы решили восполнить пробел и принялись за написание этой игрушки. Ее реализация достаточно проста (из-за отсутствия реалтайма), что было важно для меня, так как я только учился ассемблеру. Поэтому основное время была затрачено не на игровой алгоритм (который тривиален), а на создание анимации при движении игрока и других эффектов. Работу осложняло то, что у меня не было дисковода (обычный БК-0010 с магнитофоном), поэтому компилировать программу после каждого внесения изменений не представлялось возможным, пришлось исправлять в отладчике машинный код. С связи с этим хочется сказать большое спасибо авторам отладчика Paradise, который был очень грамотно написан ( с поддержкой интерфейса внешних модулей) и был, IMHO, лучшим на БК-0010. В игре было около 30 лабиринтов: некоторые была взяты из классической PC-шной версии, но большинство были оригинальными, за что большое спасибо многим моим друзьям, которые их сделали. Кроме того, была возможность подгрузки дополнительных паков с лабиринтами. (наш Sokoban можно загрузить здесь).

Лестница

В то время авторы еще могли получать деньги за свои программы от фирм, занимавшихся их тиражированием, но наши первые попытки получить материальное вознаграждение за свой труд не увенчались успехом. Нас это не сильно расстроило и почти сразу (осенью 1995 года) мы принялись за новый проект. На сей раз была идея перенести довольно интересную игру Лестница с Радио-86РК на БК-шку, при этом значительно улучшив (прежде всего сделав графический интерфейс, которого на РК не было). Идея игры заключается в том, что персонаж в реальном времени должен перемещаться в лабиринте, прыгая и передвигаясь по лестницам, при этом уворачиваясь от камней, которые катятся сверху через весь зал, и не попадая в ловушки, собрать все предметы (в нашем варианте - это дискеты). На РК каждому элементу лабиринта соответствовал символ псевдографики и, таким образом, весь зал был виден на экране. Мы решили использовать спрайты большего размера, поэтому выводилась только часть зала в окне, которое смещалось по мере движения персонажа. У меня еще не было опыта написания реалтаймовых игр, поэтому, как оказалось позже, метод, когда окно перерисовывалось при смещении персонажа, оказался самым большим недостатком игры, так как БК-шка не "тянула" его с нормальной скоростью, что сказывалось на игре.

В остальном, игра получилась неплохой, я сам с интересом проходил залы, написанные моими друзьями, и даже вдохновился сделать свой. По структуре и по размеру они были гораздо больше, чем в Sokoban-е, поэтому я написал редактор лабиринтов, который планировал включить в комплект поставки вместе с дополнительными паками залов. Лестница писалась с перерывами, поэтому работа над ней заняла довольно много времени, кроме того мы решили немного переделать интерфейс в Sokoban-е. В итоге в мае 1996 года мы предприняли новую попытку продать уже обе программы. Результат оказался неожиданным - Sokoban купили (причем за приличные, по крайней мере для нас, деньги), а Лестницу нет. К тому времени появились новые игры, которые заметно превосходили Лестницу и по динамизму и по качеству графику. Это стало понятно, когда мы трезво взглянули на свое "детище". И тогда было решено, что надо качественно менять наш уровень. (Лестницу можно загрузить здесь).

UFO

И перемены произошли, основной причиной которых стало то, что я купил БК11М с дисководом (тут весьма пригодились деньги, полученные за Sokoban). Лето я потратил на изучение новых возможностей, которые произвели на меня большое впечатление, особенно игры, многие из которых являлись аналогами уже не спектрумовских, а PC-шных. Осенью стали подумывать над идеей нового проекта. Мы сами тогда находились под влиянием PC-шных игр и решили сделать упрощенный аналог Star Control-а (только поединки). Но тут "подвернулась" UFO и после месяца увлеченной игры мы решили, что будем писать ее аналог (естественно упрощенный) на БК11М.

UFO по уровню сложности на порядок превосходила наши предыдущие проекты, поэтому пришлось совершенствовать стиль программирования, искать новые методы, изучать новую архитектуру (БК11М). Прежде всего встал вопрос о выборе операционной системы, в среде которой должна была работать игра. Из многих вариантов мы выбрали самарскую операционку CSIDOS, которая выгодно отличалась от других тем, что была создана специально для БК11М (на БК-0010 не работала) и использовала все его возможности. Остальные же для совместимости эмулировали среду БК10, в связи с чем возникала такая же ситуация, как с использованием XMS/EMS в MS-DOS-е. Кроме того, в ядре CSIDOS был GUI (похожий на простой Turbo Vision), что для БК было большим достижением. Тем не менее CSIDOS прекрасно умела запускать программы БК10, а вскоре появились основные инструменты (ассемблер, отладчик), работающие в среде CSIDOS. Благодаря дисководу у меня появилась возможность компилировать программу всякий раз после внесения изменений в исходный текст.

Осенью 1996 и в начале 1997 года работа продвигалась средними темпами, но потом замедлилась в связи с тем, что я и Илья заканчивали школу и готовились к поступлению в вузы. Тем не менее к лету была сделана приблизительно половина работы. Уже была возможность передвигаться по игровому ландшафту и перемещать персонажей. Отмечу сразу, что мы не пытались реализовать в БК-шной версии все, что было в оригинальной. Предполагалось сделать только тактическую часть, т.е. сражения с инопланетянами на каких-то конкретных территориях, без "глобуса", баз научных исследований и тому подобного.

Илья поступил в МГТУ имени Баумана и уехал в Москву, я остался в Симферополе и поступил в Симферопольский государственный университет (недавно переименованный в Таврический национальный университет). Перед отъездом Илья постарался сделать, что мог по своей части работы, тем не менее, нужно было нарисовать еще немало спрайтов и нужна была заставка. Вскоре эта проблема решилась. К проекту, как художник, подключился Андрей Боровик, который помогал нам еще при написании Sokoban-a и Лестницы. После поступления в университет свободного времени стало немного больше, поэтому осенью я с новыми силами взялся за работу над UFO. Андрей нарисовал оставшуюся часть графики, кроме спрайтов самих персонажей (их позаимствовали из спектрумовкого аналога игры, хотя некоторые пришлось доделывать самим). Большинство графики рисовалось на PC, а потом перегонялось на БК.

После того как "движок" игры был закончен, оставалось сделать заставку и игровые территории. Заставка опять была взята со Спектрума (там она в свою очередь позаимствована с оригинальной PC-шной версии). После чего мы с Андреем сделали музыку. К сожалению, того качества, на которое рассчитывали, достичь не удалось и оригинальные мелодии не всегда узнавались, но впервые на БК появился выбор звукового устройства, на котором воспроизводилась музыка: стандартный динамик, сопроцессор AY-3-8910(12), который я к тому времени поставил на свою БК-шку, и COVOX, сделанный еще для БК-0010. Саундтреки писались в разных музыкальных редакторах, поэтому музыка звучала по-разному не только из-за особенностей самих устройств. В последнюю очередь создавалось игровое меню, которое из-за нехватки времени (проект и так уже затянулся) писалось с использованием стандартного GUI CSIDOS. Кроме самой работы над игрой иногда приходилось заниматься усовершенствованием инструментов программиста, в частности я перенес из другой операционной системы в CSIDOS ассемблер, сделав для него интерфейс с системой меню.

В начале января 1998 года игра, наконец, была закончена. Но ситуация на рынке БК-шных программ заметно изменилось, и получить деньги за нашу программу уже не представлялось возможным, хотя мы сильно на это рассчитывали. UFO отвечала всем современным БК-шным требованиям (иногда превосходила их), и была единственной в своем роде (за исключением Inside Outing). Конечно, были и недостатки: например, довольно глупый алгоритм выбора пути персонажем, основанный на чем-то типа "правила левой руки" (о волновом алгоритме я тогда, к сожалению, не знал). Как и во всех больших программах были мелкие глюки, отловить которые было довольно сложно. В отличии от спектрумовской версии в нашей UFO не было стратегической части, зато тактическая часть была гораздо ближе к PC-шной, в чем вы можете убедиться, взглянув на скриншоты или на саму игру.





Таким образом за два с половиной года мы прошли путь от простого Sokoban-а до UFO, одной из лучших БК-шных игр (не совсем скромно, но ...) Тем временем, не смотря на слухи, а возможно реальную информацию, о том, что создаются модули расширения с EGA/VGA видеоадаптерами, 256 Кб памяти и так далее, рынок БК-шных программ стал умирать. Продолжала развиваться только демо-сцена, но эта область меня не сильно привлекала. Новые идеи не возникали, и на этом немного грустном моменте, Mercury software, можно сказать, прекратила свое существование.

Вскоре у меня появилсяPC, и первое время было не до написания игр, приходилось изучать новую архитектуру, возможности которой были на несколько порядков больше. Спустя некоторое время стали появляться идеи проектов PC-шных игр под маркой Mercury software, но они не получали развития. Позже я увлекся Linux-ом и переориентировался на сообщество открытых программ, где не принято выпускать продукты с подобными марками. Тем не менее, я надеюсь, что Mercury software останется в истории БК-шного движения и займет среди огромного числа команд не последнее место.

Загрузка программ

Кроме скриншотов, вы можете посмотреть на на наши игры в действии. Наличие БК-шки не является необходимым условием, так как за последнее время появилось немало эмуляторов этой платформы (смотрите ссылки). Все игры записаны на образе диска, который существует в двух вариатах (для разных эмуляторов):

Теперь немного о запуске игр. В случает bk11_eml cкопируйте файл mercury.img в каталог IMG, и пропишите его файле конфигурации эмулятора, как это описано в документации. В случае Elesim просто cкопируйте файл disk002.els в каталог addon, после чего запускайте сам эмулятор. В корневом каталоге БК-шного диска находятся все три игры. Думаю, что запуск UFO не вызовет затруднений (ufo.exe), кроме того к ней есть документация (ufo_doc.exe). C Лестницей несколько сложнее. Наберите в командной строке CSIDOS: BK10. В эмуляторе БК-0010 выполните следующие команды:

? P0
 
? M
ИМЯ?LADDER
 
? S 1000

Дальше все должно быть понятно. Для выхода из игры нажмите КТ (Esc).

К сожалению, восстановить Sokoban с кассеты в полном объеме не удалось, поэтому заставка и редактор лабиринтов отсутствуют. По аналогии с Лестницей запускайте SOKOBAN.OVL. Но после "S 1000" нажмите клавишу ВС (Gray Ins в bk11_eml и Gray "+" в Elesim). Это "секретная клавиша" позволяет запускать Sokoban без предварительной загрузки заставки.

Ссылки

Здесь размещены ссылки на сайты, которые могут быть полезны для тех, кто интересуется БК:

Если вы знаете интересные ресурсы интернета, связанные с БК, пишите и я добавлю ссылки к уже существующим.

Со всеми вопросам и предложениями, связанным с этой страницей, пишите мне, Сергею Кононенко.


Дизайн: Сергей Кононенко и Евгений Чепоров
Дата последней модификации: 7 июля 2000 года