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 12th July 2012 22:52

Quote:

Originally Posted by Bubel (Post 523782)
Раньше делали из 48К игры 128К версии?
То есть для хитовых игр которые были только 48К прикручивали музыку, звуки, каик-нибудь дополнительные фишки?

конечно делали, более того большинство игр попадало в страну допустим без музыки и титульной картинки - вот и фантазировали. кроме того музыку приделывали и в те игры где она не планировалась изначально. обычно если фирма указывала что игра 48/128/+3 это означало что игра пойдёт на этих машинах, а всякие дополнения совсем не обязательны.

TomCaT 13th July 2012 22:59

Quote:

Originally Posted by Bubel (Post 523394)
Было бы хорошо при "ремейках" добавлять сюжетные графические заставки которые бы рассказывали истории и погружали игрока в мир игры.
В играх Спекки их так не хватало...

Да, насколько богаче Fire&Ice хотя бы тем, что даже после каждого уровня каждый босс по разному аннигилирует - богаче, чем был бы, если бы таких вставок не было... Финал-кат мощный немало времени занимает при разработке, а такие вставки могут основываться даже на спрайтах самой игры!

Shadow Maker 13th July 2012 23:48

Quote:

Originally Posted by Bubel (Post 523782)
Раньше делали из 48К игры 128К версии?
То есть для хитовых игр которые были только 48К прикручивали музыку, звуки, каик-нибудь дополнительные фишки?

Сразу вспоминается Draconus, который вообще неслабо был расширен и дополнен в этой версии: http://vtrdos.ru/translat/DRAC128M.ZIP

TomCaT 14th July 2012 02:14

Полистал Quack-Shot!. Выходит, по адр. 26120 есть фактор времени - скорость его убывания. И, по видимому, на врагов тоже влияет - их проще убивать, хорошо, хоть ГГ будто не тормозится. Шестью словами, с такой, например, шкалой:
225 - невозможно (это в оригинале)
217 - очень сложно
208 - сложно
196 - нормально
180 - легко
161 - очень легко
на выбор в интро игра может стать намного занимательней. Осталось сделать релиз и какое-нибудь введение.

weiv 14th July 2012 02:59

Кстати, это вообще идея - делать в играх начальное меню с выбором уровня сложности.
(Как в Doom :
- I'm too young to die
- Hey, not too rough
- Hurt me plenty
- Ultraviolence
- Nightmare
:) )
Обычно такое меню на спеке только в стратегиях (точнее, даже не меню, а просто число - уровень сложности), а можно ведь и в аркадах. .

Barmaley_m 17th July 2012 05:44

К вопросу о проходимости игр: это вещь относительная. Раньше игры делали так, что для прохождения нужно было месяцами тренироваться. Сейчас тоже делают такие игры. Я несколько раз в своей жизни так плотно играл. Например, натренировался в Sea Dragon от Ace210, что мог проходить его на уровне Admiral. На ютубе много видео, как люди проходят, казалось бы, непроходимые игры. Просто не у всех есть столько времени на тренировку, а для некоторых игр даже не время решает, а талант, скорость реакции, координация движений...

Я слышал, что в 80е годы разработчики игр настраивали сложность по отзывам игроков, а среди них попадались такие фанаты, которые просили усложнять, а не упрощать игру. Ну, так же как я во время разработки Sea Dragon просил автора сделать игру труднее.

weiv 17th July 2012 15:05

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

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

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

Lethargeek 6th August 2012 19:25

Savage3 некогда прошел на реале с одной жизнью, не знавши кода
Незачем там что-то "настраивать", слишком просто будет, а игра без того короткая
Freddy Hardest сложно было только ориентироваться без карты во второй части
(карту рисовать было лень, да и все равно случайно прошел)))

А вот Cauldron действительно бесил нереально :mad:

gobuka 7th August 2012 00:19

Quote:

Originally Posted by Lethargeek (Post 530435)
Freddy Hardest сложно было только ориентироваться без карты во второй части
(карту рисовать было лень, да и все равно случайно прошел)))

Освоился в ней минут за 15 в свое время. Потом с друзьями проходили на время: кто быстрее

introspec 4th May 2013 05:56

1 Attachment(s)
Вот, подвернулся отличный пример для переделки. Тим Фоллин рассказал у себя на сайте байку, что когда Chronos вышел, программисты посмотрели на него и схватились за голову - игра оказалась в два раза замедленной из-за ошибки в ассемблере.

Я залез в кишки к Chronos'у и, кажется, понял о чём там идёт речь. Ассемблер навставлял нопов в самый "горячий" цикл в игре. Замедление там, конечно, не в два раза, а всего процентов на 7, но заметно, на самом деле (12.7fps с багом, 13.7fps с исправленным скроллом). Технич. подробности, если кому интересно - на WoS (англ.).

Исправленный образ прикладываю.

goodboy 4th May 2013 10:30

chronos
 
Quote:

Originally Posted by introspec (Post 598208)
Исправленный образ прикладываю.

в игре ещё перепутано управление cursor/sinclair, но это легко исправляется

alone 4th May 2013 21:15

Всегда мечтал увидеть Total Eclipse, Hard Drivin' и Чёрного Ворона с нормальной поддержкой турбо-режима, то есть чтобы fps поднимался, но игровой процесс не ускорялся. Кстати, какая первая игра нормально поддерживает турбо?

introspec 4th May 2013 21:24

Quote:

Originally Posted by alone (Post 598375)
Всегда мечтал увидеть Total Eclipse, Hard Drivin' и Чёрного Ворона с нормальной поддержкой турбо-режима, то есть чтобы fps поднимался, но игровой процесс не ускорялся. Кстати, какая первая игра нормально поддерживает турбо?

Почти любая привязанная к прерываниям, разве нет?
Или имеется в виду вопрос: какая игра была впервые привязана к прерываниям? Да, я бы тоже хотел это знать.

alone 4th May 2013 21:31

Те, которые железно 25 фпс или 50 фпс, не считаются - они от турбо не выигрывают :)

newart 4th May 2013 21:33

introspec, расскажи про движок.

На глаз ощущение что дискретность скрола 4 пикселя.
Корабль ГГ зачем-то накладывается по XOR, а не по OR.
Экран рвется по середине...

introspec 4th May 2013 21:36

Quote:

Originally Posted by alone (Post 598384)
Те, которые железно 25 фпс или 50 фпс, не считаются - они от турбо не выигрывают :)

Ну вот Zynaps иногда подтормаживает, а с турбо - уже не будет (не помню, как там сделана задержка чтобы оказаться за лучом, т.е. могут быть артефакты, мерцание и пропадающие спрайты). Можно ещё писать спрайтовые движки по принципу "сколько успеешь пока не началось". Но, по-моему, только код привязанный к прерываниям может адекватно адаптироваться к серьёзным вариациям скорости машины. Иначе это всё подгонка получится.

Blade 4th May 2013 21:41

Quote:

Originally Posted by introspec (Post 598388)
Ну вот Zynaps иногда подтормаживает, а с турбо - уже не будет

С турбо там 50 fps получается. Играть невозможно, все слишком быстро.

introspec 4th May 2013 21:50

Quote:

Originally Posted by newart (Post 598386)
introspec, расскажи про движок.
На глаз ощущение что дискретность скрола 4 пикселя.
Корабль ГГ зачем-то накладывается по XOR, а не по OR.
Экран рвется по середине...

Я совсем в детали лезть не хотел, расскажу что видел. Движок к прерываниям не привязан. Всё рисуется в 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 ----------

Quote:

Originally Posted by Blade (Post 598392)
С турбо там 50 fps получается. Играть невозможно, все слишком быстро.

Вот эту болезнь как раз вылечить несложно будет! :)))))))))

alone 4th May 2013 21:50

Хоть какая-нибудь игра до Wolf 2004 поддерживает турбо нормально? :)

ALKO 4th May 2013 21:53

Очень тащуся по играм вроде "экшн-фатера" и "1942".
Но там надо постоянно драконить кнопку fire. На моём совковом джое это весьма утомительно.
Реально ли сделать аналог дендевских "turbo A/B" ?
На программном уровне разумеется.

michellekg 4th May 2013 21:59

Quote:

Originally Posted by introspec (Post 598396)
Я начал делать нормальную сборку пропатченной игры, но что-то завяз с каким-то глупым багом. Сейчас отловлю его, и попробую сделать плавную версию. Ну, настолько плавную, насколько можно с 4 пикселями каждые 3 фрейма! :) Вообще, если правильно сделать, может получиться очень неплохо, т.к. версия с багом как раз была очень близка по скорости к 3 фреймам.

А можно для пущей играбельности сразу сделать, чтобы вместо M за стрельбу отвечала вся правая половина этого ряда (от B до Space)? Помнится, я сто лет назад копался в коде и ВРОДЕ БЫ это не сильно сложно.

introspec 4th May 2013 22:07

Quote:

Originally Posted by michellekg (Post 598405)
А можно для пущей играбельности сразу сделать, чтобы вместо M за стрельбу отвечала вся правая половина этого ряда (от B до Space)? Помнится, я сто лет назад копался в коде и ВРОДЕ БЫ это не сильно сложно.

Там же есть redefine, разве нет? или хочется, чтобы вот куда ни долбани - стреляет? :)

michellekg 4th May 2013 22:12

Quote:

Originally Posted by introspec (Post 598410)
Там же есть redefine, разве нет? или хочется, чтобы вот куда ни долбани - стреляет? :)

Да вроде нет там редифайна.

introspec 4th May 2013 22:14

Quote:

Originally Posted by michellekg (Post 598413)
Да вроде нет там редифайна.

А, да, не обратил внимания. Вот как раз его и нужно добавить.

michellekg 4th May 2013 22:15

Quote:

Originally Posted by introspec (Post 598414)
А, да, не обратил внимания. Вот как раз его и нужно добавить.

Ну, это вообще идеальный вариант.

goodboy 4th May 2013 23:01

Quote:

Originally Posted by ALKO (Post 598400)
Но там надо постоянно драконить кнопку fire. На моём совковом джое это весьма утомительно.
Реально ли сделать аналог дендевских "turbo A/B" ?
На программном уровне разумеется.

в хроносе есть фирменный чит который включает мегалазер

introspec 4th May 2013 23:04

Quote:

Originally Posted by goodboy (Post 598437)
в хроносе есть фирменный чит который включает мегалазер

Да, кстати, большое спасибо - я не пропустил замечание про джойстик, я как раз с него начал, и замотался с багом.

Вообще, такое ощущение, что у ребят на дебаггинг времени просто не было, были очень заняты - делали Easter Eggs, читы и приветы знакомым (одних только вариантов таблицы лучших результатов - 11 вариантов, т.е. почти 4кб текста!!! :) ).

introspec 5th May 2013 03:56

Newart, чёрт, я был неправ, счёт тактов по модулю в ZXSpin сбил меня с толку. Там выходит не 3 фрейма на цикл игры, а 4. Блиттер сделан на LDI и поэтому он, под влиянием задержек памяти, тратит больше фрейма. Т.е. у нас получается не 17fps, а около 12.5, примерно как в R-Type. Печалька!

newart 5th May 2013 08:17

introspec, интересно, что делали бы авторы, не будь у z80 команды RLD?

Много ли игр использует скролл по 4 пикселя?

jerri 5th May 2013 11:54

newart, dan darash etc

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.