User Tag List

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 72

Тема: Оптимизация игр под турбо.

  1. #11

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от djs Посмотреть сообщение
    Про IM2 я имел в виду визуальные эффекты, привязанные к началу отрисовки кадра, которые, наверно, слетят при изменении частоты IM2
    Как раз "частота IM2" (прерываний) не изменится =) Поменяется скорость проца, поэтому все мультиколоры и частично обычная графика (все, где учитывается ход луча) собьется.
    Для игр типа Элиты, не использующих подобных фишек, турба пойдет только на пользу. При корректной обработке возросшей скорости, о чем писал ранее.
    Мультиколоры же ориентировать на турбо смысла нет, т.к. каждая реализация турборежима на железной машине дает свой прирост, никакой совместимости не будет.

    Этот пользователь поблагодарил reddie за это полезное сообщение:

    djs(21.08.2021)

  2. #12

    Регистрация
    06.11.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    167
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    23 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

  3. #13

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Оказывается, частота прерываний остаётся прежней, но ускоряется процессор. Соответственно, можно поставить в игре проверку на турбо и патчить код по ситуации. Это уже хорошо
    reddie, я это узнал от автора Сизифа в личке, но тут прочитал ваше подтверждение. Спасибо!

    Я под "ход луча" в IM2 писал карту для Treachery, но, поскольку у меня была резинка 48к, то потом на Пентагоне графика была не идеал, т.е. "прицел" местами отображался не целиком. Эх, молодость.
    Последний раз редактировалось djs; 21.08.2021 в 17:00.
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

  4. #14

    Регистрация
    03.07.2021
    Адрес
    г. Кировск
    Сообщений
    922
    Спасибо Благодарностей отдано 
    87
    Спасибо Благодарностей получено 
    211
    Поблагодарили
    156 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от djs Посмотреть сообщение
    частота прерываний остаётся прежней, но ускоряется процессор
    Да, ведь музыка (AY) играется по прерываниям. Иначе получили бы кассету на перемотке =)

    Цитата Сообщение от djs Посмотреть сообщение
    поскольку у меня была резинка 48к, то потом на Пентагоне графика была не идеал, "прицел" местами отображался не целиком
    Да, в основном, это касается игр, не использующих два экрана, т.е. именно под 48-й режим, в котором вывод спрайтов учитывает ход луча.
    Софт, где сперва идет стирание, потом _до_ луча весь вывод, будет нормально работать и в турбо, а вот там, где происходят изменения "после луча" - возможны сюрпризы.

    Цитата Сообщение от djs Посмотреть сообщение
    можно поставить в игре проверку на турбо и патчить код по ситуации
    Не то, чтобы патчить... скорее, учитывать это при выводе и расчетах. Наиболее интересно применять турбо в RTS-игрушках. Причем сразу в двух направлениях:
    Вывод графики (карты) - это само собой, а второе - блок ИИ. Его работу можно значительно улучшить, задействовав появившиеся ресурсы.
    Скажем, вывод графики можно залочить на 16/25 FPS, а для обслуживания "теневых" процессов, типа ИИ, чем быстрее проц - тем "меньше пинг" юнитов.

  5. #15

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от djs Посмотреть сообщение
    Я понял, что тебя задели кавычки.
    нет, меня задел пренебрежительный тон в отношении программной оптимизации


    Цитата Сообщение от djs Посмотреть сообщение
    тебя ... тебя ... ты
    удивительно...
    djs Member Регистрация 03.05.2005

    а, нет, неудивительно...
    Цитата Сообщение от djs Посмотреть сообщение
    Будете проходить мимо, проходите мимо, как говорится.
    djs Member Регистрация 03.05.2005 Адрес Москва Сообщений 34
    от столь нечасто проходящих мимо - вдвойне бесценней
    Прихожу без разрешения, сею смерть и разрушение...

  6. #16

    Регистрация
    03.05.2005
    Адрес
    Москва
    Сообщений
    175
    Спасибо Благодарностей отдано 
    71
    Спасибо Благодарностей получено 
    45
    Поблагодарили
    22 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    нет, меня задел пренебрежительный тон в отношении программной оптимизации



    удивительно...



    а, нет, неудивительно...


    от столь нечасто проходящих мимо - вдвойне бесценней
    Я принёс извинения в личке относительно доработки Элиты и того, как я об этом высказался . Предлагаю в ветке продолжить обсуждение предложенной мной темы. Тем более, что тема, как я понял, новая. Я слишком СТАР, чтобы делать что-то сам, поэтому выложил challenge. Как мне кажется, дело стоит того, чтобы кто-то помоложе потратил своё время на это.

    - - - Добавлено - - -

    Мир, дружба, жевачка.
    PRINT #1;AT 1,0;" CRACKED BY DJSINFINIT LIVES(Y/N)"

  7. #16
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #17

    Регистрация
    06.11.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    167
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    23 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от djs Посмотреть сообщение
    challenge. Как мне кажется, дело стоит того, чтобы кто-то помоложе потратил своё время на это..
    Разве что именно как challenge, для прикола, как любопытная задачка. Практической составляющей в таком подходе вряд ли много.

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

    Да Boulder Dash, наконец, с кучей падающих булыжников. Knight Lore с 5ю движущимися объектами на экране. Квазатрон при скроллинге экрана.
    эйдолон
    Я вот про эйдолон слышал, но не играл, какой смысл условному мне лезть ковырять эйдолон? А игру Knight Lore настолько не представляю, что даже и не слышал о ней может быть - как я в принципе могу взяться за игру, если про ее существование даже не знаю.

    Допустим, переписали. Как тестировать на реале разных модификаций, у кого-то разве есть достаточный парк железяк? Я вот про Сизиф вообще впервые слышу.

    А все люди немолодые, если принять условно, что в 1990м году нашему среднему спектрумисту было лет 10, то сейчас уже лет 40. Времени нет.

    Уважаю людей, которые ковыряют код элиты. К сожалению, часто такие проекты так и не доходят до релизов потому что работа неподьёмная для одного человека. А в случае с турбо, мне бы вернуться на 30 лет, когда я ночами сидел в машинном коде, было бы наверно раз плюнуть адаптировать под турбо. Сейчас же память не та, глаза не те, работа, реальная жизнь.
    Вот именно, реальная жизнь. Такие хобби-проекты делаются в свободное время, ну и растягиваются на непонятные сроки. Решил заняться турбо-модификациями, тут хлоп и что-то произошло, и проект отправляется в долгий ящик. Условному вам, как игроку, не понравится лишний год ждать, когда условный я смогу выкроить время. А условному мне через год уже тоже сложновато будет вспомнить, что там да как в разбираемой игре было. Это вообще, если хоть какой-то интерес останется не только к той конкретной игре, но вообще к играм и к спеку, может ведь и такой поворот случиться.

    - - - Добавлено - - -

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

    - - - Добавлено - - -

    Цитата Сообщение от vlad-kras Посмотреть сообщение
    меньше квалификации в программировании ну и самое главное - гораздо меньше времени
    Хотя, кому-то может как раз не хватает опыта в программировании, а так, если задача станет достаточно простой, тогда этот человек возьмется не считаясь с затратами времени.

  9. #18

    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    810
    Спасибо Благодарностей отдано 
    11
    Спасибо Благодарностей получено 
    77
    Поблагодарили
    59 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Немного реальности во влажные мечтания.
    1 Игры которые синхрятся с лучом как правило не требуют ускорения, скорее оно им будет вредить. Это уже хорошо оптимизированые с хорошей скоростью продукты. Скорее всего есть исключения, но я их не знаю.
    2 Классическая игра первого типа. Прерывания разрешены, синхра с перебросом буфера либо есть либо нет не важно. Игровой цикл непостоянный, в случае турбы получаем в опу ужаленых в простых моментах и более менее живых в нагруженных. Такое лечится наиболее просто. Организуется пауза на минимальное чисто фреймов для следующего кадра. Фреймрейт становится постоянным, пипл счастлив.
    3 Игры в которых все очень медленно, рассчитаны на низкий фреймрейт. Для избалованных 60 фпсным киберпанком плохие новости, чтобы переделать такое придется написать игру заново и перерисовать заодно (где взять память вопрос другой)
    4 3Д и гонки момент сложный, тут казалось бы анимации без фиксированного шага и можно разогнать до 50 фпс в легкую. Но на самом деле не все так просто, тут либо исходить из определенной частоты, допустим для 14 мгц подбираем дискретность, либо делаем нормальный дельта тайминг чтобы работало на любой частоте. В первом случае с большой долей вероятности не хватит точности математики оригинала и на других частотах будет не совсем то что задумано, во втором придется переписать почти все.
    Я когда то переделывал 3д гейм макер по 2 варианту, результат ожидаемый, квазатроны и всякие филмейшаны прям то что надо.

    - - - Добавлено - - -

    По поводу подхода пошаманить на эмуле. То тут возможно для 2 и 4 вариантов что то сделать. Для этого игра должна делать переброс на экран по halt. Эмулятор может выставить завышенную частоту и для хальта вводить увеличенную паузу. Тоесть от хальта до следующего должно пройти минимум 4 фрейма. Как то так.

    - - - Добавлено - - -

    Да забыл про случай если прерывания запрещены. Тут либо переписывать и включать (черепахи 2 с музыкой) либо на эмуле для определенной игры прописывать точку основного цикла и синхрить по ней.

    - - - Добавлено - - -

    Да кстати во многих играх второй вариант уже есть, например R-Type, там лок на 3 фрейма если не изменяет память, но там и тормоза очень редки.

  10. #19

    Регистрация
    06.11.2020
    Адрес
    г. Санкт-Петербург
    Сообщений
    167
    Спасибо Благодарностей отдано 
    80
    Спасибо Благодарностей получено 
    30
    Поблагодарили
    23 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Я когда то переделывал 3д гейм макер по 2 варианту
    А сколько переделка по времени заняла?

  11. #20

    Регистрация
    19.11.2012
    Адрес
    г. Луганск
    Сообщений
    698
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    83
    Поблагодарили
    55 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от djs Посмотреть сообщение
    Я слишком СТАР, чтобы делать что-то сам, поэтому выложил challenge. Как мне кажется, дело стоит того, чтобы кто-то помоложе потратил своё время на это.
    Это одна из многочисленных тем, типа "у меня есть супер идея, но сам я делать не буду и денег у меня нет, но все равно сделайте и не благодарите".
    Хватит кого-то напрягать и распоряжаться чужим временем. Хотите делайте, не хотите нанимайте за деньги кто это сделает.
    А сама тема по мне выеденного яйца не стоит. Не надо ничего переделывать, Спектрум и так хорош в своей первозданности, чтобы спустя много лет запустить игру и поностальгировать.

Страница 2 из 8 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. УКНЦ - адаптация игр под магнитофон
    от newart в разделе ДВК, УКНЦ
    Ответов: 22
    Последнее: 09.04.2021, 22:14
  2. Оптимизация Амиги 1230/50 под мр3
    от Alex2 в разделе Amiga
    Ответов: 52
    Последнее: 10.01.2017, 01:23
  3. Разработка игр под две конфигурации
    от alone в разделе Программирование
    Ответов: 2
    Последнее: 05.05.2013, 14:03
  4. Ответов: 10
    Последнее: 17.08.2007, 21:51
  5. Ответов: 18
    Последнее: 09.03.2007, 01:08

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •