Category: История

06
Дек
2020

Продолжение начала начал

Мы разделили задачи – Женя начал писать редактор лабиринтов и движок принца, а я начал рисовать всю графику, которая была нужна для проекта. Рисовать приходилось вручную, поточечно. Никаких переносов графики – количество цветов и разрешение экрана не позволяли это сделать.
Как выглядело рисование в V003? Никаких тебе мышей – только клавиатура. Двигаешь курсор клавишами управления курсором, жмешь номер цвета 1, 2, 3 или 4. Ставится точка красного, зеленого, синего или черного цвета. И вот так рисуешь весь спрайт. Если ты где-то ошибся или вообще стер все – никаких Undo нет, рисуй заново. Если очистил буфер с запомненным спрайтом – тоже рисуй заново. Нарисовал спрайт, но оказалось, что надо сдвинуть его на одну точку влево-вправо для того, чтобы попал на границу байта? Ну, вы уже поняли…

Нарисовать спрайты это только полдела. Надо собрать из них движения. К примеру, принц прыгает через яму с места – это одно движение? Нет, это два движения: “начало прыжка и полет” и “приземление”. Почему именно два? Потому что итог прыжка может быть разный – если яма небольшая, то принц приземляется на ноги. Если яма большая – он может в конце прыжка провалиться и зацепиться руками за край плиты. Если очень большая – вообще рухнет вниз. Еще в процессе прыжка его может запилить пила, уколоть стражник, кирпич может внезапно остановить его, если принц решил прыгнуть лбом в стену. Т.е. финалы могут быть разные, хотя начало всегда одно. Все эти финалы должны органично пристыковаться к началу. Значит, надо найти такой момент в движении, где можно его разделить на начало и конец. Автор этим заморачивался глобально, но нам было проще – мы могли это просто вычислить, заставляя принца прыгать туда-сюда и нажимая заветный стоп-кадр.
После того, как все спрайты готовы и движение изучено, нужно подобрать все смещения между спрайтами при выводе. Сначала я делал это вручную, выводя спрайты и записывая в тетрадку кучи цифр. Когда меня забрали в армию и этим продолжил заниматься Женя, он написал для этого специальную утилиту ASSEM, куда можно было загрузить спрайты и двигать каждый из них, проигрывая движение снова и снова. Когда движение начинало выглядеть органично – выгружалась готовая таблица.

Были, конечно, ошибки. Вот недавно я обнаружил, что одно из самых первых движений ‘начало бега’ надо разделить на два, чтобы был возможен короткий пробег и сразу остановка. Такие ошибки обнаруживались регулярно и приходилось все спрайты этого движения собирать заново в ДВА движения. Занятие весьма нудное. Но когда я пару лет назад прочитал книгу Jordan Mechner “The Making of Prince of Persia”, я понял, что у него это был вообще глобальный треш))

Я нарисовал все спрайты обстановки, а Женя написал редактор лабиринтов. Потом я сделал почти все спрайты принца и поступил в институт. За отличную учебу меня забрали в армию, так что Женя пару лет занимался принцем один. За это время он собрал из нарисованных мной спрайтов движения и запустил принца в лабиринт. Когда я в мае или июне 94 года приехал в отпуск, он продемонстрировал мне принца, который бегал по лабиринту, прыгал, падал в ямы. Им можно было управлять, это не был мультик. Принц реагировал на команды и на обстановку. Это было офигенно. Нам показалось, что дело почти сделано, что это почти готовая игра)) Сейчас 2020 год, принц до сих пор не готов и вспоминать это смешно.

05
Дек
2020

Начало начал

С Евгением Пашигоровым я познакомился еще когда заканчивал школу. Я тогда писал первые программы на Бейсике, а он уже ваял на ассемблере. Он делал игру ‘Жизнь’ для БК0010. БКшка у него была с пленочной клавиатурой, я впервые такую увидел. У меня сначала БКшки своей не было, приходилось писать проги в кабинете информатики. Потом БК 0010-01 появилась и у нас с братом, благодаря родителям.

Какое-то время мы, конечно, рубились в игры. Но практически сразу начали писать программы, это было страшно интересно. Упершись в быстродействие Бейсика, начали учить ассемблер. Писали всякие каталогизаторы кассет, какие-то простые игрушки. Женя Пашигоров писал язык ЛОГО и всякие навороченные копировщики с повышенной скоростью записи.

Женя тогда работал инженером-электронщиком и легко разрабатывал всякие примочки для БК, тут же воплощая их в жизнь. Он подключил к БК телетайп, т.к. принтеров тогда доступных не было, а телетайпов у него на работе было море)) Так мы получили вывод текстов на печать. Оцифровка звука, модемы для обмена данными по телефонной линии, плата видеозахвата – чего он только не делал. И оно, что характерно, работало! Мне он напоминает Дока из трилогии “Назад в будущее”, в том плане, что может сделать машину времени на транзисторах КТ315, наверное, а если добыть детали покруче… Он такой же седой, как Док)) Но Док слегка не в себе, а Женя всегда спокоен как танк, крутит ус и размышляет. Ему уже было лет 30, семья и дети, а я только закончил школу, работал оператором ЭВМ и носился с безумными идеями.

Одна такая идея (написать принца для БК) появилась после перехода на БК 11М и полного прохождения PC-версии этой игры. Я тогда даже и не подозревал, что Принц изначально был написан для Apple 2. Если бы знал – гораздо быстрее убедил бы Женю начать делать Принца для БК.
В версии для PC при нажатии клавиши ESC игра становится на паузу. Это очень удобно для изучения фаз анимации. Для начала я срисовал в тетрадку все фазы горящего факела. Потом нарисовал все эти фазы в БКшном графредакторе V003. Вообще-то он называется GRED, но на кассете исполняемый файл графредактора назывался V003, так и прижилось это название.
Я нарисовал фазы пламени, сделал из них демку горящего факела и увидел, что это хорошо. Потом добавил второй факел. Два факела горели отлично, но на пустом черном фоне смотрелись как-то странно. Показал эту демку Евгению. Особого впечатления на него это не произвело, по-моему.

Я решил дорисовать обстановку для “интерьера”. Срисовал в тетрадку плиту, арку, кирпич, набрал их на БК. Попытался этими спрайтами нарисовать один экран подземелья и увидел, что все получается сплюснутым по вертикали. Разрешение экрана на БК другое и это сказалось. Пришлось спрайты изменить: сжать по горизонтали и растянуть по вертикали. Но автоматически сделать это не вышло – на плите получился кривой орнамент. Пришлось нарисовать элементы самостоятельно, но с сохранением похожести.

Теперь факелы горели в родной обстановке и смотрелось это интересней. Женя посмотрел, покрутил ус, как обычно, сказал что-то типа “ну, прикольно, но где принц?”. Я решил срисовать какое-то движение принца и вставить его в эту демку. С помощью волшебной кнопки ESC фазы бега принца были срисованы в тетрадку и набраны в V003. В итоге в демке появился принц, который пробегал через экран слева направо. И был он тоже сплюснутым. Пришлось вручную исправлять все фазы принца, чтобы он не выглядел мультяшным героем, пострадавшим от промышленного пресса.

Таким образом, я срисовывал все новые движения (прыжок с места, висение на плите с качанием и залезанием наверх), делал из них демки и показывал Жене. Сначала он говорил, что я маньяк и смеялся. Потом крутил свой ус все более задумчиво и в какой-то момент критическая масса сработала – он прикинул объем спрайтов принца,  которые я уже сделал, и увидел, что в память БК 11М их не так уж нереально вместить. Тут уже пошло активное обсуждение как можно сэкономить память, как можно реализовать вывод на экран немигающих спрайтов… И лед тронулся!

20
Ноя
2020

Обработка препятствий

Самая страшная подпрограмма в принце – обработка препятствий. Изначально написал ее Евгений, когда обучал принца бегать по лабиринту. Сначала бегать, потом прыгать, потом слезать-залезать и так далее. На каждом этапе добавлялось проверок на то, какие где расположены объекты, можно ли за них зацепиться и надо ли… Потом в эту подпрограмму (OBST) уже я начал добавлять всякие проверки. Потом вдруг выяснилось, что некоторые движения невозможно реализовать, так как они были изначально неправильно попилены на части. Пришлось пилить дополнительно. Добавлять проверок. Женя уже тогда называл все это не иначе чем “спагетти”. Да, страшное там дело в итоге получилось. И самое фиговое, что весь этот макаронный трешак вызывается на КАЖДОМ кадре игры, так как в любой момент принц может провалиться, напороться на стену и т.д. А значит, это все дает нихилый вклад в пожирание быстродействия. Пару раз я уже пытался оптимизировать OBSTacle, но там тронешь одно – рушится все )) Принц начинает сходить с ума, прыгать внутрь стен, проваливается в ПЗУ… Отвратительно себя ведет.

Но пришла мне в голову идея, как все это разом упростить и ускорить. Пока что идея мне нравится, посмотрим, что получится. А то бывает, что красивая идея на самом деле работает медленнее, чем миллион проверок, которые на самом деле срабатывают далеко не все и не всегда и в итоге работают быстрее 🙂

Для начала я решил нарисовать блок-схему имеющейся системы обработки препятствий. Рисовал часа два.

Вот что получилось:

Влезло почти все, что было в исходнике OBST1. Я порадовался. А потом вспомнил, что есть еще файл OBST2…. Рисовать его уже негде, так что придется обойтись тем, что есть.

Итак, завтра я полностью сломаю Принца 🙂 Если заработает новая версия и она будет быстрая, это будет круто. Если же круто не будет – придется вернуть старые спагетти.

 

16
Ноя
2020

Архивные записи

Разгребаю тут вывод решеток, по исходникам составил формат списков решеток, связей решеток и управляющих плит и т.д. Конечно это несложно, но приходится восстанавливать по памяти общий механизм работы всего этого. Удивляет отсутствие описаний этих таблиц в исходниках. Неужели было лень записать?

Попалась в столе еще одна старая распечатка принца. И что же я там увидел? А вот что:

Описания-то, оказывается, были! И весьма подробные. А почему же потом они исчезли? Все просто – текст исходника имел ограничения на длину и постепенно “лишнее” было выкинуто. Интересно, что на это описание массивов решеток я наткнулся именно сегодня. Вселенная, как всегда, развлекается.

Еще там обнаружились рисунки Евгения, в стиле Джордана Мекнера:

Ну, а тут просто рыбу заворачивали:

09
Ноя
2020

Комментарии

Помнится, Женя все время мне говорил “Пиши комментарии в коде! Потом ведь фиг разберешься!”, а я ему отвечал “Да и так все понятно, чего тут комментировать?”. И вот теперь:

 

 

 

Что, блин, за “случай МакФлай”?? Что это значит, еклмн? Вернуться бы в прошлое и дать себе подзатыльник!

P.S. Случай mcfly оказался ситуацией, когда одна падающая плита падает на другую “нестабильную” плиту.

 

07
Ноя
2020

Как я впервые прошел принца

Игрушка “Prince of Persia” появилась у нас в 1991 году, как раз когда я закончил школу и устроился на работу. Уже не помню, почему я сразу не пошел в институт, наверное хотел “год отдохнуть” или что-то типа этого. А может пропустил срок подачи документов. В общем, устроился я оператором ЭВМ в железнодорожную организацию. Задачи были стандартные для того времени – починка компов, установка всяких программ под DOS, как максимум начальство хотело, чтобы бухгалтерия перешла на расчет зарплаты на компах. Для таких вещей тогда было популярно писать программы на Foxbase, Foxpro, Clipper.

На работе мы, конечно, рубились в игры в свободные часы, но не могу сказать, что это было часто. Как ни странно, приходилось работать 🙂  Выглядело это примерно как в сериале It Crowd, реально ))

И вот однажды, начальство решило послать двоих из нас на “курсы программистов” в город Рязань. Преподнесено это было именно так, мы с Диманом сразу согласились. Странно было, почему именно Рязань, ну да фиг с ним, Рязань так Рязань. Мы оба только закончили школу в этом (1991) году и тут нас командируют на другой конец страны из Хабаровского края в Рязань.  Ни один из нас до этого не был в Москве, а добираться предстояло через нее. Приключение же, йяхуу!!

Интернета не было в природе, как попасть из Москвы в Рязань и вообще как перемещаться по этой Москве – неясно, ну да разберемся на месте. Получили командировочные удостоверения, билетные требования на самолеты-поезда и отправились. Приехали в Хабаровск, сели в самолет, прилетели в Москву. Приехали на Казанский вокзал, нашли поезд до Рязани, сели в поезд и капец…. В Москве 5 часов дня, а по нашему-то времени уже полночь. Пока мы доехали до Рязани, уже было почти 8 вечера, а по нашим часам уже третий час ночи. Засыпали на ходу, хотелось уже найти эту общагу, куда нас должны были заселить, и упасть. Хорошо, что она оказалась недалеко от вокзала. Заселились, упали, вырубились.

Когда мы явились собственно “на курсы”, вдруг выяснилось, что это вообще не курсы программистов. Просто железнодорожная организация, почти такая же, как наша, написала пакет программ бухгалтерского учета на этом самом FoxPro, а теперь продает его другим предприятиям жд. Ну и попутно обучает бухгалтеров работе в этих самых программах. Так как мы ни разу не бухгалтера, то все очень удивились, какого, собственно, фига, нас командировали аж на две недели в эту самую Рязань. Пару дней мы ковыряли эти программы, научились их инсталлировать,  поняли как вбивать данные в формы, снимать отчеты и т.д. Но работать в них, конечно, не зная всех этих кодов списаний и прочих бухгалтерских заморочек, мы не могли. Никто не знал, что с нами теперь делать две недели.

Тут выяснилось, что им пришла новая партия компов, штук 10 или больше PC с процами 486, вроде бы. Оказалось, что в этой организации принято новые компы перед вводом в эксплуатацию просто включать и гонять дней 10 на предмет выявления глюков. Компы все расставили на столы в отдельном помещении и решили нас туда загнать, чтобы не маячили перед глазами )) Дали нам ответственное поручение гонять любые игры на этих компах и на глаза не попадаться. Шикарные курсы.

Таким образом, остаток командировки мы с утра до вечера играли во что только нашли. Я лично рубился в Принца, отрываясь только на обед. Так как возможности записаться не было, приходилось снова и снова проходить все с начала. Постепенно первые лабиринты уже вообще на автомате проходились. Когда в 4-м лабиринте из зеркала выскочил Двойник, это было прям неожиданно. До этого игра была просто бродилкой, хоть и с офигенской анимацией. Тут вдруг появился какой-то интерес. В 5-м лабиринте Двойник появился снова и подло выпил кувшин с дополнительной жизнью. Начинал бесить. В 6-м я регулярно дох, уж больно этот толстый стражник хорошо фехтовал. Но со временем я выяснил, как его можно победить. И прошел дальше. А там в конце опять эта сволочь прозрачная. Да еще и закрыл передо мной решетку, гад. 7-й лабиринт – стражники уже сильнее, но после фехтования с толстяком это уже ерунда. А? Что? Выходные?? Блин, придется бросить играть на два дня.

В выходные мы бродили по Рязани, по старым районам с церквями, все было очень интересно. Была осень, красота в парках. Жаль, что не было у меня тогда фотика с собой. Локаций обалденных там куча. Все эти здоровенные дубы, кремль, Успенский собор – красотища, очень впечатлило. В местной звукозаписи добыл “новый” альбом Depeche Mode – 101 Live. На рынке (!) купил плакат с Depeche Mode. Что еще надо для счастья?

Снова “рабочая” неделя, вперед, к спасению Принцессы. В 8-м очень крутой стражник, много крови пролито. Много засад, бежишь сломя голову и не успеваешь к закрывающейся решетке, хоть убейся. Собственно, вариантов убиться по дороге тоже куча. И вот в очередной раз не успел и решетка закрылась. Стою, как будто я сам там стою у этой долбаной решетки и думаю “да елки-палки, ну невозможно уже быстрее! Вы издеваетесь??” и тут появляется…. Блин, автор реально умеет нагнать напряжения и погрузить игрока целиком в эти подземелья.

Дальше было круче, переворачивающий кувшин это вообще фишка, конечно )) Пришлось бродить вверх ногами и стало понятно, что эта игра первая, которая так захватила. Чего ждать дальше? Видимо, чего угодно)

12 лабиринт реально вызывал боязнь высоты при всех этих прыжках по обваливающимся плитам. Все казалось непроходимым, но в итоге было пройдено. И вот снова этот Двойник. Фехтует так себе, легко его забил. И помер сам. Да что за нафиг?? Вот тут я застрял надолго. Непонятно было: то ли что-то не нашел и надо обыскать все закоулки, то ли есть другой путь… А может, что-то надо было взять еще раньше?? Как всегда, все оказалось нестандартно и неожиданно. В очередной раз поразившись фантазии автора, прошел дальше. Финальный бой с Джафаром. Тоже попил крови этот дядя. Прохожу в следующий лабиринт, а там просто дорога без препятствий. Вбегаю в очередную комнату, а там принцесса бросается на шею! Это было прям как реальный финал какого-то фильма )) Принцесса обнимает, музыка играет… Титры появились… Блин, мы смотрели на это впервые и дочитали до конца эти титры. Прямо скажем, игра мощно захватила.

Командировка наша подошла к концу. Принц был пройден – можно было и домой лететь 🙂 Тут нас тоже поджидало приключение. За эти две недели наши финансы подошли к концу (вспоминается обжиралово в ресторане с живым оркестром). Оставалось у нас рублей 15, что ли. На еду в дороге должно было хватить. Билеты у нас были бесплатными. Спросили у народа как нам добраться до аэропорта, нам сообщили, что на наш рейс регистрируют в Центральном Аэровокзале, метро Аэропорт. А потом сразу в автобусе к трапу самолета везут, в Домодедово. Отлично!

Добираемся до Казанского вокзала из Рязани, Москву по-прежнему толком и не видели. Идем в метро, вроде все понятно, едем. Что-то долго едем и станции не те объявляют. Где тут карта? Ага, пилим не туда. Метро “Университет” это ваще не там, где надо. Посыпаем голову пеплом, пересаживаемся, едем, доехали, вышли почти рядом. Квест пока проходит успешно. Времени, правда, уже не так много – до самолета 2 часа,  а регистрация заканчивается за 45 минут. Где ж этот аэровокзал? Вроде одну остановку на трамвае надо проехать. Или на троллейбусе? Уже не помню. Садимся в трамвай/троллейбус, решаем проехать эту остановку зайцами, денег-то кот наплакал. Контролер, чтоб его. Отлично, нас штрафуют на 10 рублей. Сэкономили!

Так, аэровокзал нашли. Денег нет теперь вообще, но билеты же есть, а в  самолете кормят – прорвемся. Ищем табло рейсов, наш рейс 31, вот он на табло, все отлично. Ждем начала регистрации. Ждем. Ждем. Нифига. А время-то поджимает, до отлета час с небольшим. Идем в справочную, спрашиваем когда начнется регистрация на рейс 31? А рейс 31, говорят нам, регистрируют в Домодедово. Нннннннуууууууууу…….. Тэкс, это надо переварить. В Домодедово это, блин, значит видимо нифига мы не успеем на рейс. Некогда думать, надо пилить в Домодедово. Находим аэроэкспресс, как-то впихиваемся в него не смотря на очередь и едем. Едем. Судя по времени, регистрация уже закончилась. Едем. Хмм, самолет уже улетел, судя по времени. Что это означает? Это значит, что билеты наши бесплатные накрылись и улететь мы не сможем. Обратно в Рязань вернуться мы тоже не сможем – денег на поезд уже нет. Да и кто нас там ждет –  суббота, контора эта закрыта. Какие варианты? Звонить родителям и просить перевести денег на билет на самолет, т.к. в выходные и на нашей работе тоже нет никого. Звонить тоже стоит денег, и к тому же в то время сотовых не было, надо было заказывать межгород телеграммой. Да и как родители переведут деньги? Кредитных карт еще нет в природе. Денежный перевод до востребования на Главпочтамт? Где-то надо жить все это время и что-то есть…  Мелькает мысль, что вот так и становятся бомжами ))

Приезжаем в Домодедово, несемся в справочную. Рейс 31 улетел? НЕТ???? НЕЕТТТТ???? Почему не улетел? Самолет не прибыл из Хабаровска?? Боже, какое счастье! А когда прилетит? Хз когда? Ну, это отлично!

Итак, удача была с нами, наши билеты снова стали билетами, а не туалетной бумагой. А что это народу-то так, прям, много? Оказывается, не только наш рейс задержали, самолета не было и на предыдущий рейс (25) в Хабаровск. Все эти люди тоже ждали самолета и возникал вопрос, а как же пассажиров двух рейсов запихнут в один самолет? Впрочем, до вечера нас это не очень волновало. Когда стало негде сидеть и к ночи народ устраивался спать на своих баулах, это стало волновать больше.

И вот, самолет прибыл. Все замерли в ожидании. Объявляют посадку в один самолет на оба рейса – 25 и 31. И начался зомби-апокалипсис. Битва за ресурсы. Регистрация проходила, мягко говоря, шумно. Но у нас не было вариантов, мы должны были улететь, ни шагу назад. Пробившись к трапу, я вбежал на него первым, как оказалось. Навстречу мне вышла стюардесса и сказала: “Пойдем вниз, я хоть билет твой проверю”. Мы с ней шли вниз по трапу, а перед трапом бушевала толпа народу. Ночь, прожектора отражаются на мокром асфальте… Тоже шикарный кадр был бы 🙂

Самолет долго не выпускали из-за возмущающихся пассажиров. В итоге, мы вылетели с опозданием, но нам было пофиг. Было пофиг, пока мы не приземлились в Хабаровске с опозданием и до отхода поезда оказалось всего полчаса, а добираться до вокзала тоже полчаса, в лучшем случае. Квест не дает расслабиться. Прибежали на вокзал, суем в кассу свои командировочные удостоверения, а нам говорят, что билетов нет, только в общие вагоны. 18 часов в общем вагоне? Фигня какая, дайте два! Прыгаем в поезд на ходу.

Переход времени снова действует, хоть в самолете и удалось поспать. Общий вагон, все сидят, но сам вагон плацкартный, есть полки. Мужик напротив читает кучу газет. В сон меня клонит неимоверно. Спрашиваю его, нужны ли ему газеты, которые он уже прочел. Нет, говорит, вот возьмите, тут интересная статья…. Спасибо, беру газеты, стелю на верхнюю полку и заваливаюсь спать.

Такая вот была командировочка 🙂 Под впечатлением от пройденного Принца я начал думать, можно ли сделать ремейк этой игры на БК….

И начал подбивать на это Женю Пашигорова!

 

05
Ноя
2020

Море бумаги

В 90-е у нас не было дома PC, а на работе были, конечно. Разработка принца велась на БК, программа уже состояла из кучи файлов, так как на БК конечно есть ограничения на длину текста исходника. Чтобы вызвать подпрограмму из другого файла, надо было вспомнить какие там передаются параметры в каких регистрах или ячейках памяти, а также какие регистры эта подпрограмма может испортить. Запоминать все было тяжко, а загружать каждый раз другой файл, чтобы посмотреть как там вызывать подпрограмму – лениво.

Потому на работе я периодически печатал исходники принца, чтобы можно было просто посмотреть как там и что. Постепенно исходники стали большими и искать нужный кусок кода в печатном тексте приходилось долго. Чтобы ускорить процесс поиска, я  стал печатать оглавление из таблицы меток и это очень помогло. Потом еще для больших разделов начал печатать метки в виде жирной черной полоски на полях страницы, которые были видны сбоку, а на титульном листе – сноски на эти метки. Таким образом можно было мгновенно перейти к нужному разделу текста. Короче, как только не изголялись, извели кучу бумаги на работе. Судя по тем бумагам, что я нашел в шкафу, печатали мы и на рулонах, и на термобумаге какой-то и фиг пойми на чем еще )) Еще же и спрайты надо было распечатывать…. Бумаги на работе ушло море ))

На некоторых страницах есть комментарии Жени Пашигорова, которые мог читать только он, т.к. почерк его я разбирал с трудом.

03
Ноя
2020

Вывод звука на принтер

Вспоминаю, как мы делали звуки для БК, которые там в принце сейчас звучат на спикере. Я оригинального принца загнал в какой-то отладчик на PC, уж не помню какой, нашел там подпрограмму вывода звука на спикер. Вижу, что она пихает байты в какой-то порт (уж не помню какой). Я заменил номер порта на порт принтера, а потом включил на принтере (матричный Epson FX-1000 чтоли) режим, где он печатал дамп поступающих симоволов, а не сам текст. Потом бегал по лабринтам, ронял плиты, дрался со стражниками, стоял возле шипов и фрез, а звук весь печатался на принтере 🙂
Эти дампы потом вколотили на БК и Женя Пашигоров придумал как их вывести через динамик. И зазвучали они очень похоже 🙂

03
Ноя
2020

Как все начиналось

Начало истории описал в своей статье Евгений Пашигоров, вместе с которым мы и делали Принца с самого начала. Собственно, весь движок принца и был написан им, я занимался графикой и потом уже стал делать стражников, оживлять лабиринт с помощью решеток, фрез и прочего “действующего оборудования” лабиринтов. Он же и разработал все инструменты, с помощью которых стало возможно автоматически собирать все модули программы из кучи исходников и объектников, собирать из спрайтов движения, преобразовывать графику в объектные модули и многое другое. Без Жени никакого Принца никогда бы не было 🙂

А вот так выглядел “перенос графики” с PC на БК.

Я распечатывал на работе кучу скринов с фазами движения и потом рисовал их на БК по этим бумажкам, попутно преобразовывая размеры спрайтов под размеры экрана БК, т.к. если графику просто скопировать, то она будет выглядеть сжатой по вертикали. Из всех этих спрайтов потом еще надо было сделать движения, поделенные на логические части, чтобы можно было сменить бег на остановку, падение, разворот и все это выглядело бы органично. Та еще работка 🙂 Так что, пока Женя писал движок, я клепал все эти спрайты… Часто мы засиживались до 4х часов утра, офигенский был энтузиазм 🙂