Вот уж не думал, что кто-то сейчас помнит про "Vagabondo". Посмотрел странички про игру - есть признаки, показывающие, что это в самом деле она. Правда, у меня она точно не называлась Сталкер или Зона. На ДВК в оригинале её файл назывался просто VV - чтобы не набирать длинное название. А в program name стояло название на Эсперанто (Vagabondo = бродяга - по названию прототипа).При идею создания: я прочитал в журнале Scientific American о программе, которая играла в игру Rogue. Сама по себе Rogue была эпохальной игрой, но у нас её не было (до того я про неё даже не слышал). Тем более - на ДВК. В статье про саму игру говорилось мало, но мне очень захотелось в неё поиграть.
Игр у нас в то время был буквально десяток. Единственная игра, которую можно назвать приключенческой, была текстовой, с фиксированным сценарием. Она прямо так и называлась - Adventure. Тоже классика.
Вот я и начал писать игру сам. Заодно изучая Паскаль, ибо от института у меня сформировалось крайне смутное представление об этом языке - без какой-либо практики. Поскольку про оригинал мало что было известно, я просто наполнял игру тем, что мне нравилось.
Наверное, больше всего привлекла идея случайного мира - который не задан автором, а генерируется в начале игры. У меня он развёртывался из одного числа, которое получалось из числа, вводимого игроком, генератора случайных чисел и момента нажатия клавиши Ввод. Хмм, перечитал написанное - прямо-таки "вначале было слово", и слово было шестнадцать бит.
Вообще-то, я не особо задумывался над конкретными деталями, и многое явно можно было сделать лучше, но тогда даже сравнивать было не с чем. Делал для себя, не рассчитывая, что это ещё кого-то заинтересует. В оригинале игрок спускается в подземелье за сокровищами, но я решил добавить туда элементы "Пикника на обочине". Поэтому там и золотой шар, и ведьмин студень, и прочее. Отдельные комнаты, соединённые коридорами, я заменил на уровни одинакового размера, разделённые стенами - так ресурсы использовались эффективнее, а мир стал как-то более насыщенным. Содержание тоже появлялось естественно. Персонажу надо есть - значит, нужна еда. Мир волшебный - значит, нужны волшебные предметы. Символов в коде больше, чем можно нагрузить смыслом - значит, сделаем фоновые предметы, типа надписи "Здесь-то мы его и съели".
Был вариант, в котором после нахождения золотого шара и выхода на поверхность можно было пойти в подземелье заново. В этом случае всех предметов там было в два раза больше. Потом в три, и так далее. Ещё можно было при компиляции отключить проверку границ массивов, тогда исполняемый файл получался заметно меньше, но можно было залететь в страшное место, откуда не было выхода. Оно называлось "Array bounds error". Например, "зверь" сшибал всё на своём пути, и, если бежать от него вдоль стены, то он делал в стене дырки. Через такую дырку можно было пройти на соседний уровень не по лестнице, а прямо через стены, и какое-то время игра даже продолжала работать. А дальше уже был выход из области данных в область кода - "предметы" там были навалены кучей, но взаимодействие с ними портило уже сам код игры, и она быстро вылетала.
Позже, когда я аспирантом вёл занятия в университете, разговорились с лаборантами, и их настолько заинтересовала игра, что они были готовы набрать её вручную для УКНЦ. Кажется, проблема была в том, что на ДВК был 8-дюймовый дисковод, а на УКНЦ - 5-дюймовый, но факт в том, что они набрали всё целиком по распечатке. Причём, почему-то запустить её нам так и не удалось. На этом вроде бы, всё и закончилось.
Когда я начал работать в институте повышения квалификации работников образования, я с удивлением обнаружил, что моё "творение" разошлось по школам в пачке популярных игр.
Если эта информация кому-нибудь интересна - буду рад. Мне было приятно вспомнить.
С уважением, Сергей Вершинин