в игре ещё перепутано управление cursor/sinclair, но это легко исправляется
Вид для печати
Всегда мечтал увидеть 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 ----------
Вот эту болезнь как раз вылечить несложно будет! :)))))))))
Хоть какая-нибудь игра до Wolf 2004 поддерживает турбо нормально? :)
Очень тащуся по играм вроде "экшн-фатера" и "1942".
Но там надо постоянно драконить кнопку fire. На моём совковом джое это весьма утомительно.
Реально ли сделать аналог дендевских "turbo A/B" ?
На программном уровне разумеется.