С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Всегда мечтал увидеть Total Eclipse, Hard Drivin' и Чёрного Ворона с нормальной поддержкой турбо-режима, то есть чтобы fps поднимался, но игровой процесс не ускорялся. Кстати, какая первая игра нормально поддерживает турбо?
Те, которые железно 25 фпс или 50 фпс, не считаются - они от турбо не выигрывают![]()
introspec, расскажи про движок.
На глаз ощущение что дискретность скрола 4 пикселя.
Корабль ГГ зачем-то накладывается по XOR, а не по OR.
Экран рвется по середине...
Ну вот Zynaps иногда подтормаживает, а с турбо - уже не будет (не помню, как там сделана задержка чтобы оказаться за лучом, т.е. могут быть артефакты, мерцание и пропадающие спрайты). Можно ещё писать спрайтовые движки по принципу "сколько успеешь пока не началось". Но, по-моему, только код привязанный к прерываниям может адекватно адаптироваться к серьёзным вариациям скорости машины. Иначе это всё подгонка получится.
Я совсем в детали лезть не хотел, расскажу что видел. Движок к прерываниям не привязан. Всё рисуется в 4Кб буфер в верхней памяти (т.е. 2/3 экрана). Отрисовка довольно быстрая (смотрел только по общим тактам), но с всплесками, в 3 такта они бы точно не уложились (я видел от 200 до 220 тыс. тактов за цикл игры). 3/5 всего времени программа скроллит буфер, тупо, rld : dec hl, (даже dec l не отпимизировали, хотя там на минуту задуматься нужно было). Ну и баг, после каждой rld вставлен nop (похоже, что rld настолько никому не нужная команда, что ребята словили баг в ассемблере).
Поскольку кол-во тактов не постоянно и ни к чему не привязано, экран будет рваться где угодно, на что, в принципе, и весь расчёт. В принципе, с новым скроллом, стоит попробовать привязать движок к прерываниям, как раз в три фрейма всё должно сейчас уложиться.
Я начал делать нормальную сборку пропатченной игры, но что-то завяз с каким-то глупым багом. Сейчас отловлю его, и попробую сделать плавную версию. Ну, настолько плавную, насколько можно с 4 пикселями каждые 3 фрейма!Вообще, если правильно сделать, может получиться очень неплохо, т.к. версия с багом как раз была очень близка по скорости к 3 фреймам.
ВНИМАНИЕ, ПОПРАВКА. При более подробном рассмотрении оказались, что я прозевал такты перебрасывальщика теневого экрана на основной. С учётом этого, мы говорим не о 3 фреймах, а о 4. Не о 200 тыс тактов на цикл, а о 270 тыс. тактов на цикл.
---------- Post added at 17:50 ---------- Previous post was at 17:49 ----------
Вот эту болезнь как раз вылечить несложно будет!))))))))
Последний раз редактировалось introspec; 05.05.2013 в 14:48. Причина: Добавил исправление.
Хоть какая-нибудь игра до Wolf 2004 поддерживает турбо нормально?![]()
Очень тащуся по играм вроде "экшн-фатера" и "1942".
Но там надо постоянно драконить кнопку fire. На моём совковом джое это весьма утомительно.
Реально ли сделать аналог дендевских "turbo A/B" ?
На программном уровне разумеется.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)