Передовица » Software » Игры » Алиса в стране чудес

Алиса в стране чудес

Скачать архив с диском. АГАТ-9. НГМД 840. + ReadMe.

Самый натуральный русифицированный квест для Агата. Бродим по игре, общаемся с персонажами, манипулируем предметами и т.п. В игре два крупных пространства: Страна чудес и Зазеркалье, перемещение по ним осуществляется как в аркаде.

Авторы адаптации и русификации (г.Москва 1992/93 год):

  • Сергей Дударев: DOS/RWTS, перенос на флоп 840 Кбайт.
  • Андрей Кобозев: утилиты для декодирования, перевода и упаковки текста.
  • Сергей Малявин: перевод текстов на русский язык.
  •  
  • Участники форума AgatComp (2018 ~).

* * *

Подробности о переводе:

Оригинал игры выпущен в 1985 году фирмой Windham Classics для Apple ][ и Commodore 64. В Apple версии игра занимает три диска формата 140Кб.

В 1992 году, программисты из клуба USN, объединили эти диски на одном, формата "АГАТ" (840Кб), и русифицировали первую половину игры. Вторая осталась нетронутой, поскольку исходный диск от Apple был с нечитаемым куском, который не позволял правильно декодировать англ. текст (к сожалению, копия, попавшая в СССР через Болгарию, была с некоторыми дефектами). Это не помешало игре завоевать поклонников, даже проходя первую половину, можно было потратить несколько недель времени и получить массу удовольствия.

В 2018 году, на нашем форуме появилась тема с воспоминаниями о игре: Как поиск квеста "Алиса в стране чудес" сам превратился в квест . На него откликнулся один из авторов перевода 1992 года (Dohtur Frag), и работа была возобновлена. Но уже на новом технологическом уровне (см. подробности ниже), и на основе дистрибутивного оригинала, купленного на ebay.

В Перевод текстов из "Алисы" включились форумчане; AlexBel, avivanov76, garnizon, Wierzbowsky. Благодаря этому, был выполнен полный перевод всех текстов из игры.

Что сделано на данный момент:

Важно, что изменения коснулись не только перевода текста. Были исправлены многие баги оригинала. По возможности улучшены характеристики, в т.ч. за счёт технических преимуществ Агата перед Apple][.

- Переведён полностью весь текст (750+ фраз), диалоги, загадки, песни и т.д. Расширенна система хранения текста - теперь в игре можно использовать ENG и RUS алфавиты.

- Управление переделано в соответствии с особенностью клавиатуры Агат.

- Все 3х140Кб диска оригинальной игры, размещены на одном 840Кб формата Агат.
Смены дисков во время игры в прошлом, теперь всё на одном диске, в т.ч. 8 ячеек для сохранений вместо 5.

Причем от простого эмулятора трех дисков на поверхности 840 отказались.
Информация разбита на файлы, таким образом используется весь объем дорожки (21 сектор вместо 16).

ALICE_GAME - главный блок, логика
ALICE_TEXT - массив с текстами
ALICE_TILES - тайлы для комнат
ALICE_ALICE - спрайты Алисы
-----
ALICE_NPC - спрайты персонажей игры
ALICE_ROOMS - описатели комнат

- Задействован Агатовский контроллер памяти.
Теперь игре предоставляется 128КБ (вместо 64 в версии Apple), что снижает кол-во обращений к диску.
При использовании ДОПОЗУ128 - дозагрузки не требуются совсем.

- Анализ оригинальной игры показал: изначально для обеих частей игры планировался один текстовый массив - 30кб. Но нехватка ОЗУ у Apple заставила авторов оригинала сделать следующий финт: на диске разместили две копии массива, потом в первой вычистили все фразы, которые нужны только в зазеркалье, а в второй вычистили все фразы которые нужны только в стране чудес, а общие фразы остались продублированы. Таким образом получилось два массива по 20Кб, загружаемые на одно и тоже место ОЗУ в зависимости от части игры.
Поскольку у Агата нет этих ограничений, мы провели работы по обратному сочленению кусков. Так что теперь не требуется обращение к диску при переходе между частями игры. Кроме того, тексты стали без повторов - проще контролировать при внесении изменений.

- Так же, из-за нехватки памяти, авторы оригинала применили "костыль", когда 11-й блок текста лежит на диске впереди 1-го. В Агатовской версии от этого избавились, теперь все лежит аккуратно.

Исправление фирменных багов игры:

- Переделана процедура ввода ответа на загадки. Оригинальной не возможно было нормально пользоваться из-за тройной ошибки авторов. Исправлено.

- Оригинальная игра, при попытке чтения из пустой (ранее не записанной) ячейки висла. Версия для агат, делает проверку, и если ячейка пуста то выводит соответствующее сообщение.

- Бага, пока Алиса не сделает хотя бы один прыжок - персонажи не станут говорить входную фразу. Исправлено.

- Игра зависала после 50 дней или в конце - исправлено.

- Иногда игра ждала повторного нажатия пробела при выходе из меню - исправлено.

- В конце каждой фразы присутствовали лишние один или два пробела. Один пробел это компенсация ошибки в РАСПАКОВЩИКЕ. Авторы оригинала руками добивали, ведь если последний символ фразы оказывается ровно в конце байта - распаковщик его проглатывает. Нет контроля на совпадение конца байта и количества распакованных бит. Второй пробел возникает автоматом(иногда) из-за ошибки в УПАКОВЩИКЕ. Исправлено.

- Процедура построения таблицы блоков не имела контроля перехода между адресами. В случае, если указатель конца блока ff,ff, оказывался на границе между bf00 и e300 - то процедура не находила конец блока. Попадание на границу крайне маловероятно, но это потенциальная бага. Исправлено.

По мелочи:

Звук теперь не просто выключается а переводится на разъем магнитофона.

! Переписаны селекторы песен и предметов, теперь можно перематывать в обе стороны и выйти в любой момент. Кроме того, перед выводом очередного названия - добавлена очистка строки, больше не будет мусора и заботы о пробелах.

 
Что пока не сделано:

- Чтоб игра сама определяла кол-во ОЗУ и в соответствии с этим производила загрузку.

- Оригинальная игра, не проверяет - заклеен ли диск от записи, и вообще - произошла ошибка записи, открыт дисковод... ей пофиг. Будет пытаться писать пока не запишет. Пока у Агатовской версии так же.

- Русские названия комнат в графике.

- Во время загрузки игры, включен текстовый экран, на котором появляется мусор. Вариант или включать текстовый режим где не будет мусора (например Т40 эпловский, можно даже что-то там написать) или сразу графическую страницу.

О главном:

Игра получилась реально хорошей, одно удовольствие играть но... В эмуляторе вообще всё прекрасно, а вот на реальной машине есть особенности:

Загрузка происходит достаточно долго и в этот момент головка ездит по поверхности туда-сюда очень ЛЮТО и МНОГО, пытаясь протереть диск насквозь :) Даже если файлы разложены подряд и не дефрагментированы. Дело в том, что при первом запуске происходит поиск нужных файлов и считываются t/s каждого. Таки да, каждого отдельно. Алиса обращается к системе с вопросом: "а есть такой файл на диске?", Система отвечает: "есть, вот первый t/s файла". Алиса берёт этот t/s и так с каждым файлом. Все t/s, алиса запоминает. И в дальнейшем, когда понадобится что-то подчитать, она берёт данные из этих t/s и обращается к rwts. Таким образом, к каталогу, система обращается только при старте алисы 5-6 раз(скока файлов).

Дальше, если ОЗУ 256кб, то больше обращения к диску не требуются, ну кроме записи состояния. Если ОЗУ стандартное, т.е. всего 128кб то еще есть особенности:

Спрайты с разными размерами алисы, спрайты персонажей и комнаты игра подгружает во время игры. Для первых двух пунктов может и найдется место в ОЗУ, а вот за каждой комнатой игра обращается к диску.

В переводе 92 года это решалось так: За один раз в ОЗУ загружается несколько комнат. Интересно что сама игра на этот счет не модифицировалась. Использовался оптимизированный для неё драйвер RWTS 840, c кешированием треков в старших сегментах виртуального ОЗУ Агат-9. Для каждого сегмета от 10 до 32 игровых экранов, а игра так и думала что получает всё от НГМД.

Теоретически читать в ОЗУ 5-10 экранов по времени тоже самое что лазать на диск за 1 экраном, а польза очевидна. Но в ОЗУ для этого нет места, поскольку часть пространства занимает ос "The Best", она нужна для организации RAM диска.

* * *

Использование материалов проекта agatcomp без получения предварительного письменного разрешения agatcomp запрещено.


Почта для обратной связи: mail@agatcomp.ru


Живое общение по теме Агата: Telegram группа Agatcomp.


Накопленные знания и проекты: тематический ФОРУМ.


© 2004-2024 agatcomp.su / agatcomp.ru

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *