Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Игры (http://zx-pk.ru/forumdisplay.php?f=5)
-   -   Переделка игр в сторону играбельности. (http://zx-pk.ru/showthread.php?t=19571)

goodboy 5th May 2013 11:59

Quote:

Originally Posted by introspec (Post 598533)
Блиттер сделан на LDI и поэтому он, под влиянием задержек памяти, тратит больше фрейма. Т.е. у нас получается не 17fps, а около 12.5, примерно как в R-Type. Печалька!

а есть возможность максимально развернуть цикл (допустим на 128ой странице) ?

alone 5th May 2013 12:02

Quote:

Originally Posted by newart (Post 598539)
Много ли игр использует скролл по 4 пикселя?

Toi Acid Game
Silk Worm (одна из процедур сдвига спрайтов)

Quote:

Originally Posted by weiv (Post 525389)
Конечно, сложность (проходимость) вещь относительная, это очевидно. Но я говорю об играбельности - то есть, привлекательности игры для играющего, хотя она, конечно, зависит от сложности. Есть такие игры, в которые играть хочется - потому что сложность на уровне, привлекательном для преодоления. А есть такие, в которые из-за сложности пропадает желание играть.

Я вообще сразу бросаю игру, если за 5 минут не вижу продвижения.

introspec 5th May 2013 14:04

Quote:

Originally Posted by goodboy (Post 598560)
а есть возможность максимально развернуть цикл (допустим на 128ой странице) ?

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

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

jerri 5th May 2013 22:09

introspec, Target Renegade, Batman, Robocop

introspec 5th May 2013 22:52

Quote:

Originally Posted by jerri (Post 598704)
introspec, Target Renegade, Batman, Robocop

В Target Renegade и в Robocop уже нашёл, а в Batman не вижу. Который из бетменов имеется в виду, - тот, который изометрический толстый мужик в костюме (в нём не вижу), или тот, который сделан как следует, или тот, которого кодил Джаффа Смит?

ОК, нашёл в многосерийном. jerri, очень большой респект за список: в нём мало того, что всё в тему, так ещё и степень развёрнутости цикла (= требования к памяти) идёт по нарастающей. С такими знаниями нужно делать энциклопедию.

diver 5th May 2013 23:16

Quote:

Originally Posted by introspec (Post 598727)
В Target Renegade уже нашёл, а в Batman не вижу. Который из бетменов имеется в виду, - тот, который изометрический толстый мужик в костюме (в нём не вижу), или тот, который сделан как следует, или тот, которого кодил Джаффа Смит?

Batman The Movie. Скролл экрана вроде только в нем.

newart 5th May 2013 23:30

introspec, а как коллизии сделаны не смотрел?

(интересна даже не конкретная игра, а общий принцип)

---------- Post added at 22:30 ---------- Previous post was at 22:30 ----------

introspec, кстати, а можно корабль ГГ сделать с маской? Или хотя бы по OR?

introspec 5th May 2013 23:46

Скролл в хроносе, я думаю, уже больше не ускоришь; можно, конечно, развернуть цикл чуть больше, но без какой-то суперидеи там сейчас более-менее предел скорости. Newart знал что спрашивал; если придумать как быстро делать rld без rld есть шанс на ускорение. С ходу, таблицами, по-моему не выходит. Именно поэтому скролл в быстрых скроллерах никто собственно скроллом, насколько я знаю, не делает.

А мой вопрос был про второго по величине "слона" в хроносе - код для переброски теневого экрана на основной. Со скроллом это не связано. Теоретический предел такой переброски - около 13 тактов на байт, а схема в хроносе даёт более 16. Т.е. можно сберечь ещё где-то процентов 15% на переброске экрана, что даст дополнительное общее ускорение где-то процента на 3.

3% едва ли стоят возни сами по себе, но быструю переброску, если она по-настоящему быстрая, позволит отрисовать экран до луча (или за лучом), что позволит воткнуть halt и привязать движок хроноса к кадровому прерыванию. Это даст ту же скорость, что была в классической игре с багом, но уберёт мерцание и артефакты.

---------- Post added at 19:46 ---------- Previous post was at 19:37 ----------

Quote:

Originally Posted by newart (Post 598748)
introspec, а как коллизии сделаны не смотрел?

(интересна даже не конкретная игра, а общий принцип)

---------- Post added at 22:30 ---------- Previous post was at 22:30 ----------

introspec, кстати, а можно корабль ГГ сделать с маской? Или хотя бы по OR?

Коллизии специально не смотрел, но обыкновенно, общим принципом будет сначала "коробка", а потом, если коробки пересеклись, логическое И, напрямую или по маскам. Кронос, я заметил, делает эти операции в линейном буфере. Труба в нижних 7 строках экрана находится как бы "перед" буфером, корабль может лететь за трубой. Хронос скроллит экран за трубой, я хотел убрать этот скролл, чтобы сберечь тактов, но корабль начал сталкиваться с внешне невидимыми предметами в буфере - очевидно, следами несдвинутых спрайтов.

Наложить корабль по маске тривиально; непонятно, почему авторы это не сделали - у них была свободная память для экрана под кораблём; раз у них нет привязки к прерываниям, у них не было и ограничений по скорости. Но встроить это в движок мне будет нелегко, т.к. я не понимаю как следует порядок отрисовки. Без этого знания можно ткнуться наугад и обломиться.

introspec 6th May 2013 05:10

Quote:

Originally Posted by diver (Post 598741)
Batman The Movie. Скролл экрана вроде только в нем.

Бинго! оказалось действительно в нём, хотя шансы были у всех троих примерно равные.

Впрочем, нет, шансы у третьего Бэтмена были ниже, Джоффа не любил тратить такты на ненужную фигню...

introspec 7th May 2013 03:04

Quote:

Originally Posted by jerri (Post 598704)
introspec, Target Renegade, Batman, Robocop

Разобрался в правильной технике. Забавно, что это тоже, в своём роде, змейка. Увы, 13.5-14 тактов в Хроносе не выйдет, а разгадка одна - линейный буфер. Мне и раньше линейный буфер казался сомнительной идеей, а вот подоспел и пример, где на нём теряются тысячи тактов, исключительно ради сомнительного удобства программиста.


All times are GMT +4. The time now is 05:07.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.