Ну да, сперва подумалось что игра портирована тяп-ляп.... Но в сравнении с другими релизами ощущается крайне медленно. Возможно это было сделано для плавности картинки, через ожидание WAIT? Тогда на том же Специалист и Вектор по идее можно запустить в полную скорость. Что там у нас... Шарик - 8 байт, битка 24 (на вскидку) байта, посторонние объекты.. Есть подозрение на готовые спрайты 2*2 знакоместа, то есть 32 байта. Ну и выпадающие призы, но это мелочь. Полный расчет при этом только для мяча. + генератор псевдослучайных чисел для изменения движения посторонних объектов. Ну в любом случае мне кажется расчетов тут не очень много.... Есть над чем подумать. Просмотрел другие видео - та же суть. В общем создалось впечатление что процессор этого УКНЦ тормозился видеосистемой ничуть не меньше, чем на ZX и ему подобных.
Судя по ответам одного из разрабчиков игр ИТО (см комментарии к ролику th-cam.com/video/xtlXuecv4p0/w-d-xo.html), игры переносились с MSX на УКНЦ без дизассемблирования (по крайней мере, Road Fighter), то есть "на глазок", в том числе и графика не конвертировалась, а рисовалась заново по образцу с MSX. Причём главный баг MSX - ступенчатый скроллинг - они оставили и на УКНЦ, хотя наш ПК мог сдвигать экран плавно (что, возможно, говорит о некоторой неопытности программистов или неполном знании железа УКНЦ). К сожалению, у разработчиков, очевидно, были только монохромные мониторы (как и в подавляющем большинстве комплектов УКНЦ), поэтому цвета во всех портах некрасивые, неправильные. Впрочем, учитывая хитрую, запутанную архитектуру УКНЦ и полное отсутствие игр с продвинутой графикой, укорять разработчиков портов, наверное, нет оснований - эти игры (переделки с MSX и Apple II) и так самые лучшие по графике на этом ПК. Процессоры УКНЦ, безусловно, работали с очень сильным торможением, но, судя по тестам, ЦП был примерно в 2,5 раза быстрее, чем БК-0010/0011 (и раза в 1,5-2 быстрее Спектрума), а ПП - минимум в 1,5 раза, то есть в сумме УКНЦ был раза в 4 быстрее БК. А учитывая наличие на БК множества достаточно шустрых игр (то есть у него скорости процессора вполне хватало), вроде нет оснований для торможения любых игр на УКНЦ, тем более в среднем разрешении (320х288) и 4-мя цветами (видеобуфер примерно 16-20 Кбайт). Но это всё в теории, исходя из простейших тестов, но есть и другие данные, не такие оптимистичные - по тестам Бейсика (при использовании вильнюсских трансляторов с одинаковой точностью вычислений docs.google.com/spreadsheets/d/1g-p_yYqrqbPtUJRAFRY3VcrXPQy0l8oCTPPm6wDvAis/edit?usp=drivesdk) УКНЦ всего на 25-30% быстрее БК-0010. Так что, вполне вероятно, в играх производительность ограничивалась и процессором, и странностями архитектуры (к примеру, часть ресурсов ПК прямо доступны только периферийному процессору). Ну и ещё есть предположение, что авторы порта на УКНЦ пытались полностью сымитировать аппаратные спрайты для всех подвижных объектов - перемещение с точностью 1 пиксел, правильное наложение на сложный фон и другие спрайты, что, конечно, программным путем делается довольно медленно. Ну и могли просто торопиться, не отлаживая до конца скорость перемещения спрайтов. И ещё - для реализации режима скоростного перемещения шариков (он включается после взятия соответствующего "приза" или при ударе ракеткой по направлению движения шара) надо было иметь хороший запас по скорости, а при не очень быстрой работе программы максимальная скорость не такая большая, как в прототипе на MSX (или IBM, не знаю, откуда портировали игру), что, возможно, и вынудило снизить начальную скорость шара до черепашьей (тогда уже лучше уменьшили бы разницу между стандартной скоростью и повышенной). Да, советовать, конечно, легко, но в реальности есть разные технические и временнЫе ограничения, так что не всегда удаётся сделать всё идеально :).
Кстати, на Векторе тоже есть прерывания по кадровой развёртке, и они использовались в каждой программе - как минимум, для опроса клавиатуры и программирования палитры. Ну и привязка вывода графики к развёртке тоже использовалась, хотя, учитывая довольно большую скорость отображения графики на Векторе, не всегда это было так уж необходимо.
Ну да, сперва подумалось что игра портирована тяп-ляп.... Но в сравнении с другими релизами ощущается крайне медленно. Возможно это было сделано для плавности картинки, через ожидание WAIT? Тогда на том же Специалист и Вектор по идее можно запустить в полную скорость. Что там у нас... Шарик - 8 байт, битка 24 (на вскидку) байта, посторонние объекты.. Есть подозрение на готовые спрайты 2*2 знакоместа, то есть 32 байта. Ну и выпадающие призы, но это мелочь. Полный расчет при этом только для мяча. + генератор псевдослучайных чисел для изменения движения посторонних объектов. Ну в любом случае мне кажется расчетов тут не очень много.... Есть над чем подумать.
Просмотрел другие видео - та же суть. В общем создалось впечатление что процессор этого УКНЦ тормозился видеосистемой ничуть не меньше, чем на ZX и ему подобных.
Судя по ответам одного из разрабчиков игр ИТО (см комментарии к ролику th-cam.com/video/xtlXuecv4p0/w-d-xo.html), игры переносились с MSX на УКНЦ без дизассемблирования (по крайней мере, Road Fighter), то есть "на глазок", в том числе и графика не конвертировалась, а рисовалась заново по образцу с MSX. Причём главный баг MSX - ступенчатый скроллинг - они оставили и на УКНЦ, хотя наш ПК мог сдвигать экран плавно (что, возможно, говорит о некоторой неопытности программистов или неполном знании железа УКНЦ).
К сожалению, у разработчиков, очевидно, были только монохромные мониторы (как и в подавляющем большинстве комплектов УКНЦ), поэтому цвета во всех портах некрасивые, неправильные. Впрочем, учитывая хитрую, запутанную архитектуру УКНЦ и полное отсутствие игр с продвинутой графикой, укорять разработчиков портов, наверное, нет оснований - эти игры (переделки с MSX и Apple II) и так самые лучшие по графике на этом ПК.
Процессоры УКНЦ, безусловно, работали с очень сильным торможением, но, судя по тестам, ЦП был примерно в 2,5 раза быстрее, чем БК-0010/0011 (и раза в 1,5-2 быстрее Спектрума), а ПП - минимум в 1,5 раза, то есть в сумме УКНЦ был раза в 4 быстрее БК. А учитывая наличие на БК множества достаточно шустрых игр (то есть у него скорости процессора вполне хватало), вроде нет оснований для торможения любых игр на УКНЦ, тем более в среднем разрешении (320х288) и 4-мя цветами (видеобуфер примерно 16-20 Кбайт).
Но это всё в теории, исходя из простейших тестов, но есть и другие данные, не такие оптимистичные - по тестам Бейсика (при использовании вильнюсских трансляторов с одинаковой точностью вычислений docs.google.com/spreadsheets/d/1g-p_yYqrqbPtUJRAFRY3VcrXPQy0l8oCTPPm6wDvAis/edit?usp=drivesdk) УКНЦ всего на 25-30% быстрее БК-0010. Так что, вполне вероятно, в играх производительность ограничивалась и процессором, и странностями архитектуры (к примеру, часть ресурсов ПК прямо доступны только периферийному процессору).
Ну и ещё есть предположение, что авторы порта на УКНЦ пытались полностью сымитировать аппаратные спрайты для всех подвижных объектов - перемещение с точностью 1 пиксел, правильное наложение на сложный фон и другие спрайты, что, конечно, программным путем делается довольно медленно. Ну и могли просто торопиться, не отлаживая до конца скорость перемещения спрайтов.
И ещё - для реализации режима скоростного перемещения шариков (он включается после взятия соответствующего "приза" или при ударе ракеткой по направлению движения шара) надо было иметь хороший запас по скорости, а при не очень быстрой работе программы максимальная скорость не такая большая, как в прототипе на MSX (или IBM, не знаю, откуда портировали игру), что, возможно, и вынудило снизить начальную скорость шара до черепашьей (тогда уже лучше уменьшили бы разницу между стандартной скоростью и повышенной). Да, советовать, конечно, легко, но в реальности есть разные технические и временнЫе ограничения, так что не всегда удаётся сделать всё идеально :).
Кстати, на Векторе тоже есть прерывания по кадровой развёртке, и они использовались в каждой программе - как минимум, для опроса клавиатуры и программирования палитры. Ну и привязка вывода графики к развёртке тоже использовалась, хотя, учитывая довольно большую скорость отображения графики на Векторе, не всегда это было так уж необходимо.
Влад, почему в этой игре экран меняется?
Пукмэн, ахаха!
Это не смешно!