Category: Блог

29
Окт
2021

Второй вариант анимации ходьбы

Добавил маски и поправил спрайты. Вывод спрайта одновременно с маской, для этого спрайт сразу смешан с маской «по методу Manwe» 🙂 Все-таки захват видео из эмулятора bandicam делает прерывисто, на самом деле спрайт двигается очень плавно, поточечно.

22
Окт
2021

READY PLAYER ONE

 

Я добавил в Принца пасхалку от себя. Найти ее легальным путем будет непросто, я думаю. Если просто пройти игру от начала до конца, пасхалка не обнаружится. Но это не какая-то незаметная фигнюшка, а очень даже наоборот. Просто тут нужно применить фантазию.

Пока что табло пустует 🙂

 

22
Окт
2021

Релиз обновлен

Новый релиз, содержит фиксы и фичи:

  • BUG: по АР2+R сбрасывалось заданное управление
  • BUG: ждать конца звука перед музыкой
  • BUG: можно было хитро спрыгнуть без потери жизни
  • BUG: иногда пролетал сквозь решетку

Фичи:

  • сделано обнаружение отсутствия SMK и вывод надписи об этом
  • добавлена возможность записи игры

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

Так я и реализовал ее:

  • запись доступна только начиная с 4 уровня
  • для записи нужно нажать клавиши АР2+W, при этом текущий лабиринт будет перезапущен
  • для чтения нужно во время начальной заставки нажать АР2+L, игра начнется с начала записанного уровня

 

17
Окт
2021

Да не 30 лет мы его писали!

Все почему-то думают, что Принца писали 30 (кто-то уже даже говорит «больше 30») лет. Ну конечно это не так. Что я, по-вашему, с 16 лет его пишу каждый день с утра до ночи? )) Специально прошерстил все исходники, по датам в них можно восстановить хронологию и сроки:

Самые ранние даты, которые мне попались:

; зеркальное копирование 8.4.92

; *** вывод спрайта *** 12.04.92 ;
; ANIMATOR

Само собой, это первые вещи, с которых все началось — без вывода спрайта никуда. Надо учитывать, что начал это все писать Женя, и случилось это после того, как я кучей демок типа «бегущий принц», «горящий факел» убедил его в том, что надо попробовать. Первой был факел, точно. Допустим, недели две я его этим мучал, потом он еще думал о том, с чего начать… значит март 1992 можно считать началом эпопеи.

Дальше видим такую метку:

; обработка клавиатуры 25.07.92 ;

Раз дошло дело до клавиатуры, значит потребовалось управление. Значит это тот период, когда Женя сделал демку с бегающим по экрану принцем. В это время я уже поступил в институт и участие в проекте принимать перестал. Но я нарисовал почти все спрайты, так что было с чем  работать. И дальше дат никаких нет до вот этой:

; таблица управления 01.94

Видимо, Женя решил отдохнуть, пока я учился в институте 🙂 Но через какое-то время отдыхать ему надоело и он взялся за дело (я уже был в армии в 1993-1994 годах). Дальше идут даты:

;редактор лабиринтов дизасс. 15.02.94
;22.02.94

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

Дальше дело пошло:

; определение препятствия 21.06.94 ;
;--------------------------------------11.07.94-;

Насколько я помню, где-то летом я как раз приезжал в отпуск и Женя показал мне, как принц бегает уже не по экрану, а по лабиринту, залезая и слезая во всякие ямы. Это уже было круто.

Потом был какой-то застой, видимо. В ноябре 94-го я вернулся из армии (знатно поучился в институте) и записи пошли кучно:

; GRF Обработка движущихся объектов 18.03.95
; GRF Вывод решеток в текущем положении 19.04.95
; GRF Вывод окна и инициализация массивов для обработки 10.05.95
; движущихся объектов 
; GRF Движение фрез 24.05.95 14:27
; GRF Считываем фон для видимых решеток 31.05
; GRF Дым на кувшинами 5.06.95 14:57
; GRF Нажатие плиты 8.06.95 16:56
; GRF Вывод двери в текущем положении 14.06.95 10:07
; GRF Составление списка видимых шипов 20.06.95 9:55
; GRF Считываем фон для видимых шипов 20.06.95 10:47
; GRF Движение шипов 20.06.95 13:55
; GRF конвертор лабиринтов 29.11.95
; GRF Взятие предмета 21.12.95 ;

Блоки мы помечали, чтобы видеть кто накосячил ))

Потом большой перерыв, аж на два года:

;==== управление стражником ========24.5.97===
; нач.14.02.97

;----------------------------------------------------;
;загрузчик 19.03.97 ;
;----------------------------------------------------;

Не помню, с чем это связано. Видимо как раз интерес к БК угас, появились у всех PC по домам. А в 97-м как раз получили письмо из Сочи, от Григория Останина. Оказывается, наша старая демка докатилась до Сочи. Он спрашивал, когда доделаем Принца. Вот тут энтузиазм снова появился и мы стали доделывать. И стало ясно, что памяти не хватит. Тут уже на одном энтузиазме продолжать было сложно. Я делал стражников и у меня не было места под код их АИ. Я видел, что еще надо научить стражников куче вещей — они должны сами бродить по лабиринту в погоне за Принцем, прыгать в неглубокие ямы и т.д., а не просто махать мечом в пределах одного экрана. Чтобы выбить место под код, приходилось оптимизировать уже написанное, как правило в убыток скорости. Нельзя было делать развернутые циклы, таблицы для скорости вычислений… Принц становился тормозным. Сделали мы и обмен на ходу в памяти неиспользуемых на данный момент спрайтов на другие, подгрузки всякие и при этом никакой музыки на AY еще и подавно не было, и звуков на AY тоже. Даже оцифровки для вывода звуков на спикер, которые мы сделали, влезли не все… В итоге снова все заглохло. Аж до 2016 года.

За это время Женя переехал в другой город и еще много чего произошло. В 2016 я достал старые исходники, еще немного их помучал, добился уже полного исчерпания памяти и снова бросил. Потом аж в 2018-19 я вернулся к Принцу уже с вариантом использования СМК, что позволило снять проблему памяти. Циклы развернулись, появились таблицы… В итоге Принц и был доделан.

Так что никаких 30 лет Принца никто не делал долгими вечерами.