О Т К А З О Т Г А Р А Н Т И Й Игра распространяется "как есть" и автор не несёт никакой ответственности за возможные порчу/потерю информации и/или выход оборудования из строя, а так же за отклонение в здоровье пользователя, которые могут быть вызваны использованием этой игровой программы. +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Посвящается всем, кто провёл свои не самые плохие (я надеюсь) годы за компьютерами, отличными от архитектуры IBM-PC *************************** А Г А Т - Л А Б И Р И Н Т ************************** (Оригинальная игра называлась ЛАБИРИНТ, но её частенько называли TARAKAN, LABIRB и т.п.) Если вы никогда не играли на советских компьютерах "АГАТ", "БК-0010", "Специалист", "Вектор-06Ц", "Микроша/Радио-РК86", ДВК(-2М) <список, в принципе, можно продолжить> и знаете (а может быть и вообще не знаете) о них понаслышке, то скорее всего вы просто не поймёте, о чём тут пойдёт речь и вряд ли вас заинтересует эта игрушка (хотя, всё-таки, попробуйте - может быть "войдёте во вкус" :-) ) 1. В в е д е н и е. В последние годы наблюдается растущий интерес к "ремейкам" старых компьютерных игр. В Сети есть множество ресурсов, посвящённых этой тематике, даже проводятся конкурсы на лучшие реализации старых "игродельных" идей (в качестве спонсоров таких состязаний как правило выступают фирмы, выпускающие "креативный" софт или производители "железа"). Вот и меня потянуло создать что-нибудь в этом духе - всё-таки я прекрасно помню, во что мы играли 16-17 лет назад, и сладкая ностальгия периодически заливает душу... Краткая справка: АГАТ - первый действительно "персональный" компьютер, выпускаемый в СССР с 1984 года (вроде были релизы и в 1983 году, с неудачно эмулированным процессором на отечественной элементной базе). По сути был слизан с APPLE-][, но с изменённой архитектурой видеоконтроллера, делающей несовместимой "совейское" творение по выводу текста/графики с программным обеспечением популярной американской машины. Правда, в очень ограниченных кол-ва выпускалась так называемая "ячейка №121" - по сути отдельный APPLE-совместимый видеоконтроллер -с ним АГАТ превращался практически в APPLE-][. Позже вышла одноплатная реализация компьютера AГАТ-9, видеоконтроллер которой уже легко переключался между видеорежимами старого АГАТа и APPLE. Правда, поздновато AГАТ-9 попал в "массы"... 8-ми битный процессор 6502 работал на частоте 1Мгц, ОЗУ было 48 Кб (включая и видеопамять), 5,25'' дисковод мог хранить по 140Кб на каждой стороне дискеты (её надо было переворачивать вручную, позже появились дисководы DS/DD - 800Кб на дискете). В 1989 году АГАТ можно было купить в Волгоградских магазинах радиотоваров по цене 4170 рублей (тогдашняя зарплата инженера была в районе 250 рублей вроде). 2. И с т о р и я Итак, для этого компьютера в 1987 году в Москве, некто Бадер Роман (по-видимому, работавший на АГАТах во ВИПТШ МВД СССР) сваял чудненькую игрушку, незатейливо названную ЛАБИРИНТ. Фактически на дискете она выглядела как один бинарный файл объёмом чуть более 8 килобайт. Игра использовала алфавитно-цифровой видеорежим АГАТа, (так называемый "АЦР-32" - 32 строки по 32 символа), и соответственно всё игровое действо на экране разыгрывали не красиво графически-нарисованые персонажи, а цветные буковки "X" "O" и символы "@", "*" и т.п. Надо сказать, что обычно подобный вид отображения в игрушках применялся только если компьютер не имел графич. режима. Однако, несмотря на то, что АГАТ мог генерировать и графические изображения, ЛАБИРИНТ прекрасно смотрелся в таком "текстовом" режиме на цветных мониторах (зачастую это были телевизоры с диагональю 32см у которых был удален приёмный тракт). И будучи неплохо озвученной, игрушка являлась очень популярной - в школах и ВУЗах, где в конце 80х - начале 90х были оборудованы компьютерные классы, можно было частенько услышать знакомые звуки ЛАБИРИНТа и увидеть людей, "топчущих" клавиатуры потными пальцами... Вот, кстати, клавиатура и была "слабым звеном" играбельности этой игры. Конструктивно клавиатура АГАТа могла вырабатывать код клавиши только если перед нажатием оной остальные кнопки находились в не нажатом состоянии. Т.е. если вы нажали кнопку "влево" а потом захотели повернуть "вверх", то надо было обязательно отпустить кнопку "влево" и только после этого жать "вверх" - иначе ничего не сработает. (Мой ретро-релиз свободен от этого, и игра вышла на новый уровень играбельности :-) ) К сожалению, мне не известно, откуда Роман Бадер взял идею игры - скорее всего это его собственный замысел. Я пересмотрел сотни зарубежных игр для 8-ми битных компьютеров и приставок, но ничего близкого к ЛАБИРИНТУ не нашёл. Году, эдак, в 1991, я видел на PC-AT реализацию (Одесскую, кажется) этого же игрового замысла, но выполненную в EGA графике - там бегала мышка за сыром, а за ней удав. На БК-0010 была аналогичная ЛАБИРИНТУ игра под названием RUN AWAY - авторы Ширинский Ю.В. и Биткин В.М., г.Смоленск, 1988г. - но она была довольно упрощена. 3. М о я р е а л и з а ц и я. 3.1 С х о д с т в а. Я попытался сделать максимально приближенный вариант игры к АГАТовскому, как по игровому принципу, так и по оформлению (возможно, кто-то даже примет это за фетишизм). Графика - имитирует вывод алфавитно-цифровыми символами АГАТа. Вернее - спрайты игры лишь иммитируют АГАТовские символы, а вот текстовая информация выводится действительно родными шрифтами АГАТа. Цветовая палитра - сохранена, есть вариации цветов в тексте титульного экрана. Дизайн лабиринтов - взят из оригинального бинарного файла Бадера Романа. Последовательность уровней точно такая же, как в оригинале. Звук - все звуки сыммитированы максимально точно. Сохраны тональность и тембральный окрас динамика АГАТа. Управление - как и в оригинале, пять кнопок управления и четыре кнопки сервиса. Начисление очков - приближено к оригиналу. Временные интервалы (скорость игры, появления витаминов, задержка роста змеи и т.п.) - по возможности приближены к оригиналу. Переходные эффекты (скроллинг экранов, и т.п.) - точно как в оригинальной игре, только "плавнее" (в том числе эффект, происходящий при вызове смены управления во время игрового цикла). Инструкция к игре - абсолютно точный оригинальный текст, за исключением перечисления кнопок управления. 3.2 Р а з л и ч и я. Естественно, не обошлось и без отличий. В АГАТовской реализации у Бадера есть одна явная недоработка: когда змея переползает через своё тело вдоль или поперёк то тело начинает "рваться кусками" - это происходит из-за стирания последнего сегмента змеи для иммитации движения (всё тело не регенерируется на экране, а только добавляется один сегмент после головы и стирается один сегмент с хвоста). В моей реализации этой проблемы нет. Вывод текстовой инфы происходит в размере 30 строк по 45 символов - а не 32 строки по 32 символа. В информационной строке игры удалось разместить и вывод рекорда, так что всегда видно, на какой стадии относительно лучшего результата находится игрок ;-) Изменились также кнопки переходов между экранами с результатом и инструкцией. В оригинальной игре при проглатывании игроком "волшебного витаминчика" происходил довольно неприятный звук шумового характера - я заменил его на короткую мелодию, сделанную в духе других мелодий игры. При съедении "волшебного витаминчика" змеёй, в оригинале небыло никаких звуков - у меня звучит соответствующий произошедшему факту короткий музыкальный проигрыш. Звук сигнализирующий о наличии "волшебного витаминчика" в моём релизе изменяется на протяжении времени присутствия этого "артефакта", что делает возможным ориентироваться как скоро он исчезнет. Все звуки выводятся со стереопанорамированием - т.е. положение звучания в динамиках зависит от положения их относительно правого и левого краёв игрового поля. Изменены кнопки "пауза", "вкл/откл звука", "выход из игры", "вызов переназначения управления". Изменились также кнопки (и соотв.надписи) переходов между экранами с результатом и инструкцией, т.к. у АГАТа были клавиши, которых нет на клавиатуре PC, и наоборот. Также изменены первоначально назначенные кнопки управления. По завершению игры в оригинальной программе отображались счёт законченной игры, и лучший результат ("рекорд") - в моей реализации отображается ещё и уровень, на котором игра закончилась (и соотв. уровень, на котором закончилась "рекордная" игра). Лучший результат ("рекорд") сохраняется в файле на HDD (на АГАТе он был только в ОЗУ и соответственно не сохранялся при выходе из игры). Начиная с версии 1.30 введён "продвинутый" вариант игры (в оригинале ничего подобного небыло) - змея проглатывает не только волшебные витамины, но и простые, а также генерирует отходы жизнедеятельности, столкновение с которыми не приносят пользы игроку. При потере жизни лабиринт не обновляется, оставляя все объекты на прежнем месте, а игрок "возрождается" в одном из четырёх углов лабиринта, наиболее далеко отстоящего от головы змеи. Лучший результат для "продвинутой" и "стандартной" игры зписываются раздельно, т.к. сложность у этих вариантов разная. 3.3 Т р е б о в а н и я к с и с т е м е. Игра написана на гибриде BlitzPlus (www.blitzbasic.com), работает под управлением Win98se,WinME, W2K, WinXP требуется DirectX 7 и выше. используется режим 640х480х16bit, полноэкранный или оконный. Рекомендую процессор с частотой от 500МHz и выше, однако самый медленный компьютер в моём распоряжении, на котором игра была вполне играбельной - Celeron 300Mhz/TNT8mb. 4. В о з м о ж н ы е п р о б л е м ы в р а б о т е. В оконном режиме если глубина цвета "десктопа" установлена 24 бит, возможно сильное замедление работы, поэтому поставьте 16 или 32 бит (для медленных процессоров лучше ставить 16 бит, или пользоваться только полноэкранным режимом). Если вы играете в полноэкранном режиме, и, поставив игру на паузу "свернули" экран, то при возврате у вас будет не будет изображения (совсем). Снимите игру с паузы (клавиша ) и всё придёт в норму. Так как игра использует запись лучшего результата в файл, убедитесь, что на файлах с игрой не установлен атрибут "read only" (если вдруг будете копировать игру в разархивированном виде с CD-R/RW) 6. Б л а г о д а р н о с т и Автор выражает благодарность: Бадеру Роману - за его бессмертное АГАТовское творение! Вячеслау Казаринову и Олегу Воронову за хоть какие-то (пусть жутко глючные и недоделанные) эмуляторы АГАТа для PC ("agat_1_5" и "EMUL" - из них я взял таблицу знакогенератора АГАТа и собственно файл с оригинальной игрой ЛАБИРИНТ.) Ускову Ивану - за консультирование по глобальным переменным и ресурсам ;-) Добрице Михаилу - за альфа-тестирование и моральную поддержку проекта ;-) Фролову Сергею - за бетта-тестирование ;-) Чунину Роману (http://chunin.infpres.com) - за размещение "моего труда" на своей веб-страничке и за полезные рекомендации. 7. О б р а т н а я с в я з ь Автор будет безгранично рад любым отзывам и замечаниям. Пожелания, рекомендации, информацию об оригинале высылайте на vlad@pclub.ru c темой "АГАТ-ЛАБИРИНТ" ----------------------------------------------------------------------------------------------- Влад Кузеванов vlad@pclub.ru Россия, г.Волгоград. последние изменения 1 декабря 2004г. +++++++++++++++++++++++++++++++++++++++++++++++++++++ 8. И с т о р и я р е л и з о в . 01.12.2004 ver. 1.35 - исправлена ошибка в "продвинутом" варианте игры, связанная с ложным вторичным "съедении" витамина тараканом; - устранено запоздалое срабатывание выброса защиты после потери жизни (когда игрок нажал кнопку выброс защиты в момент гибели); - изменено (скажем так - "окультурено" :-) ) обращение к "сервисным" клавишам. 17.11.2004 ver. 1.33 - устранена проблема появления "мусора" и пропадания объектов при сворачивании и разворачивании полноэкранного режима игры; - при потере жизни в "продвинутом" варианте игры в случае если таракан был вляпан в кал, он возраждается "чистым" и нет замедления скорости его передвижения; - если файл в котором сохраняются опции игры (те, что выбираются из GUI)отсутствует, то он создаётся заново с установками "по умолчанию": тип игры - Классический, звук - Стерео, режим отображения - Полноэкранный; - при запуске игры теперь воспроизводится небольшая интродукция, которая помогает пользователю вспомнить, как выглядела работа на компьютере АГАТ :-) Интродукцию можно пропустить нажатием на ESC, ПРОБЕЛ или ENTER. 11.11.2004 ver. 1.31 - Усовершенствованный вариант игры ещё более усовершенствован :-) (при потере жизни теперь не происходит обновление уровня, а игрок "возрождается" в одном из четырёх углов лабиринта, наиболее далеком от головы змеи) - опции игры (те, что выбираются из GUI) теперь сохраняются на диске; - имя файла "ReadMe!.txt" отныне включает в себя номер версии программы ("ReadMe!_v131.txt") 10.11.2004 ver. 1.30 - Введён усовершенствованный вариант игры (со своей отдельной записью лучшего результата и дополнительной страницей "правил игры") - теперь змея проглатывает не только волшебные витамины, но и простые, а также генерирует отходы жизнедеятельности; - добавлены опции звука (моно/стерео/реверс стереоканалов) - изменён GUI выбора опций игры перед запуском; - изменён звук волшебного витамина - теперь повышение частоты происходит по логарифмической шкале; - дополнен файл ReadMe!. 29.10.2004 ver. 1.22 - ограничено максимальное количество "призовых жизней" - если раньше за каждый пройденый уровень начислялась доп. "жизнь" без ограничений, то теперь больше шести попыток (плюс одна текущая жизнь таракана) не будет. Это сделано для достижения корректного усложнения игры; - добавлена проверка при запуске наличия всех компонентов игры (файлов *.DAT). В случае, если любой из этих файлов не найден, (либо по какой-то причине не все файлы скопировны из дистрибутива, либо в ярлыке не указан правильный путь рабочего каталога) выдаётся соотв. сообщение и остановка программы -в предыдущих версиях в таких случаях игра вылетала без понятных объяснений. (спасибо Чунину Роману за совет); - дополнен файл ReadMe!. 21.10.2004 ver. 1.20 - улучшена "чувствительность" и добавлена "подзвучка" при переименовании кнопок управления; - в отображение результата по окончании игры введена индикация уровня, на котором окончилась игра, и теперь номер уровня заносится запись "рекорда" (вместе со счётом); - дополнен файл ReadMe!.txt 20.10.2004 ver. 1.12 - значтельно ускорена работа функции вывода шрифтов; - переписана процедура переназначения кнопок управления. 19.10.2004 ver. 1.10 - полностью переписан блок вывода графики, теперь игра должна хорошо работать на слабых машинах; - оптимизирована функция вывода шрифтов (хотя здесь ещё есть куда двигаться в плане быстродействия:)); - при выборе оконного режима глубина цвета устанавливается та же, что и у десктопа, так что не должно быть проблемм с сильным торможением на машинах, где цвет десктопа выставлен в 24 бит. - дополнен файл ReadMe!.txt 17.10.2004 ver. 1.02. - имена всех файлов игры приведены к виду "DATAx.DAT"; - сделан файл ReadMe!.txt 16.10.2004 ver. 1.01. первый полный релиз.