Просмотр полной версии : Горизонтальный Скроллинг
DenisGrachev
20.12.2011, 08:35
Всем привет!
В голове зреет новая игра для Speccy, и для неё здорово бы было сделать горизонтальный скроллинг уровня. Большого опыта у меня нет, написал всего 3 игры, так что ищу где что можно почитать. Буду признателен за любую информацию.
В идеале нужно скроллить окно 26х8 знакомест и уложиться в прерывание.За один шаг нужно двигать окно на 2 пикселя.
И чтобы под 48кб :)
Пока в голове 2 варианта: стандартными командами сдвига или каким-то хитрым образом заранее сдвинуть уровень и выводить фазы.
26*8 это не мелковато?
давай для начала определимся зачем тебе скролл в 1 фрейм на 2 пикселя
потом тебе надо ознакомится
1 с Sea Dragon (http://www.worldofspectrum.org/infoseekid.cgi?id=0025426) это 50 фпс попиксельно на почти экран
2 c Storm Lord (http://www.worldofspectrum.org/infoseekid.cgi?id=0004922)
здесь уже 17 фпс на 2 пикселя на 2/3 экрана
3 c Firefly (http://www.worldofspectrum.org/infoseekid.cgi?id=0001772) здесь уже 25 фпс на 2 пикселя тоже на 2/3
дальше - жанр игры и что именно скроллим
и это - ссылки давай на игры
null_device
20.12.2011, 09:22
Нужно знать больше "условий": с какой пиксельной линии (от верха экрана) и позиции по горизонтали будет располагаться "окно" скроллинга. А также направление скролла.
DenisGrachev
20.12.2011, 09:33
26*8 это не мелковато?
давай для начала определимся зачем тебе скролл в 1 фрейм на 2 пикселя
дальше - жанр игры и что именно скроллим
и это - ссылки давай на игры
Для той игры которую я планирую 26*8 вполне нормально, основной акцент на горизонтальном движении. Грубо говоря бежит герой слева направо. На самом деле герой стоит на месте и уровень двигается справо налево.
Нужен скролл на 2 пикселя, т.к. мне кажется на 1 пиксель будет медленно всё двигаться.Жанр игры - бегуший человек :)
Ссылки на игры? Собственно:
AlterEgo (http://zx.pk.ru/showthread.php?t=15977)
Join (http://zx.pk.ru/showthread.php?t=15562)
Нужно знать больше "условий": с какой пиксельной линии (от верха экрана) и позиции по горизонтали будет располагаться "окно" скроллинга. А также направление скролла.
Пиксельная линия? Допустим средняя часть экрана.Получается с 64 линии 64 линии :) По горизонтали окно выровнено по-центру, т.е если 26 знакомест, это 32-26=6\2=с 3-го знакоместа. Направление скролла справо налево.
Пока как-то так :)
DenisGrachev, с тремя предыдущими играми ознакомился?
какая из них ближе к твоей идее?
я имею ввиду - качество графики
примитивная как в sea dragon или firefly
или проработанная как в stormlord
это для организации скролла
DenisGrachev
20.12.2011, 10:16
DenisGrachev, с тремя предыдущими играми ознакомился?
какая из них ближе к твоей идее?
я имею ввиду - качество графики
примитивная как в sea dragon или firefly
или проработанная как в stormlord
это для организации скролла
Ближе всего StormLord, будет достаточно скролла в одну сторону.На крайний случай цветом можно будет пожертвовать.
26*8 это не мелковато?
давай для начала определимся зачем тебе скролл в 1 фрейм на 2 пикселя
потом тебе надо ознакомится
1 с Sea Dragon это 50 фпс попиксельно на почти экран
2 c Storm Lord
здесь уже 17 фпс на 2 пикселя на 2/3 экрана
3 c Firefly здесь уже 25 фпс на 2 пикселя тоже на 2/3
А где Worms от Alco? Не 48, но попиксельно и во фрейм с прозвольным шагом.
newart, какие ограничения у вормсы?
количество объектов, размер экрана
размер задействованной памяти
Простой скроллинг окна 26х8 знакомест на 2pix хотя и можно впихнуть в прерывание (навскидку), но ничего более не останется.
Более реальней вывод сдвинутых спрайтов, но может не хватить памяти при учете проработанной графики.
Так что надо мудрить, что-то конкретное под твои условия (спрайты, остаток инта на игровой процесс, цикличность скролла, 48/128 и т.д)
DenisGrachev
21.12.2011, 09:25
Появились кое-какие мысли, надо пробовать в коде. Если что, надеюсь с оптимизацией подскажите :)
Lethargeek
21.12.2011, 22:18
эээхх... держите меня семеро, а не то... :v2_dizzy_snowball:
Lethargeek, расслабься здесь не нужен именно скролл
здесь нужен вывод тайл массива до 2х пикселей или до 4х пикселей
Lethargeek, расслабься здесь не нужен именно скролл
здесь нужен вывод тайл массива до 2х пикселей или до 4х пикселей
См. Супер Марио от Gogin'a. Там правда 128к но и во весь экран.
newart, видел, короткая демка где все 128 к забиты раскранчеными спрайтами
а для скорпа например половину графики надо отключать. нормально работает только в турбо.
полной версии - нет и не будет
технически - неплохо
практически - бесполезно
---------- Post added at 09:56 ---------- Previous post was at 09:27 ----------
newart, ты случаем машинами не торгуешь?
-нам надо бюджетную ладу
-вот посмотрите замечательный Лексус в ВИП комплектации
-вот посмотрите замечательный Лексус в ВИП комплектации
погоди! но может у топикстартера спрайты будут маленькие как в марио и их будет совсем немного?
---------- Post added at 11:16 ---------- Previous post was at 11:14 ----------
а для скорпа например половину графики надо отключать
У тебя возможно амнезия.
Там отключаемы только звездочки, точнее включаемы для турборежима (и нафик не нужны).
Игра делалась на скорпе...
практически - бесполезно
Сорцы открыты. Так что куда полезнее R-TYPE и еще 10000 игр.
погоди! но может у топикстартера спрайты будут маленькие как в марио и их будет совсем немного?
---------- Post added at 11:16 ---------- Previous post was at 11:14 ----------
У тебя возможно амнезия.
Там отключаемы только звездочки, точнее включаемы для турборежима (и нафик не нужны).
Игра делалась на скорпе...
Сорцы открыты. Так что куда полезнее R-TYPE и еще 10000 игр.
1 да у автора будут мелкие спрайты
2 у меня нет амнезии, там были еще отключаемые элементы ближнего плана.
Скорп - Скорпу рознь
У Spider/WDG был скорп(кажется зеленый) с винтом - 216 тактов в строке и все мультиколоры работали на ура
На моем скорпе было 224 такта в строке в результате тормозило как на скорпе и скорповские мультики не работали.
Гогин игру не доделал - факт
3 От исходников проку мало, они написаны Гогином для Гогина
и без Гогина тут не разобраться.
3 От исходников проку мало, они написаны Гогином для Гогина
и без Гогина тут не разобраться.
Ну, хвала Синклеру, Гогин жив и пребывает в добром здравии.
Я думаю что принцип движка он мог бы и на пальцах обьяснить.
newart, правда? а где он? вот я здесь. А Гогина я не вижу.
вот к кому может обратиться тот же Destr? или Andrew?
newart, и ему интересен спектрум? правда правда?
Врагов десяток, плюс куча частиц, 2 игрока...
А Gogin, где его искать, на мыло он молчит.
Да и в Dizzy, там не совсем то о чем я говорю.
было же такое? :)
newart, и ему интересен спектрум? правда правда?
Да. Он всегда с теплотой о нем вспоминает. У него даже реал есть.
newart, какие ограничения у вормсы?
количество объектов, размер экрана
размер задействованной памяти
Там по 2 пикселя скролл. 4 копии карты = 4 странички. А поскольку всё это творится на одном экране, то объекты рисуются в погоне за лучом, в турбо-режиме вставляется спецпауза.
Карта 742x176 + небо.
Имхо неюзабельно. Я тогда забросил проект, ждал железа, где это можно адекватно сделать в цвете. На данный момент это уже можно сделать на:
а) Pentagon 2.666 (без палитры, эмулируется).
б) ZX Evo с неофициальной старой прошивкой от TS Labs (64 цвета, не эмулируется).
в) видеодевайсе с V9990 от Ронина (32768 цветов, не эмулируется).
DenisGrachev, вот как то так
сейчас грубо перерисовывается весь кусок 27*8
так сделано для возможности анимации бакграунда
скорость скролла от 2 до 16 пикселей
движок жрущий и жрет 67000 тактов
можно переписать как частный случай но ИМХО надо смотреть по обстоятельствам
анимацию бакграунда сделаю на днях :)
с героем и музыкой - 25 фпс
с героем и музыкой - 25 фпс
Не движок, а фикция получается.
это не фикция -это макет
можно конечно сильно загрубить и сделать именно скроллом но это будет статический бакграунд
DenisGrachev
24.12.2011, 10:18
DenisGrachev, вот как то так
сейчас грубо перерисовывается весь кусок 27*8
так сделано для возможности анимации бакграунда
скорость скролла от 2 до 16 пикселей
движок жрущий и жрет 67000 тактов
можно переписать как частный случай но ИМХО надо смотреть по обстоятельствам
Отлично!
Как с лучом боролся? в буфер рисовал потом на экран или как по хитрому?
Есть ли какие ограничения по форме спрайтов и сколько на экране одновременно может находится?
Задник можно статическим или вообще без него.
У меня тоже уже два теста есть - балуюсь на работе в обед :)
после луча рисую
по спрайтам
вариантов 2
после прорисовки вот этого в следующем фрейме рисовать спрайты поверх, но нужно успеть до луча
или можно параллельно- нарисовал строку, нарисовал спрайты в ней
под спрайты воизбежании искажения около 20000 тактов
рисовалку тоже добавлю
чтобы не думалось что я пустоту скроллить не умею
чтобы не думалось что я пустоту скроллить не умею
Это 1 инт? Пред идущий sna как и этот у меня не показывает плавности. В чём смотреть?
Что-то я тоже стал думать над этим, как бы это так и сяк. Если чего надумаю представлю sna
Это 1 инт? Пред идущий sna как и этот у меня не показывает плавности. В чём смотреть?
Что-то я тоже стал думать над этим, как бы это так и сяк. Если чего надумаю представлю sna
Нет, это два.
Причем скролятся узоры которые можно заменить PUSH HL... и 8 фазами
Titus, здесь 66000 тактов
все в 50 фпс
4 фазы перерисовки бэкграунда
newart, узоры здесь не для этого
С плавной полноэкранной прокруткой на весь экран есть демка на ВОС
DenisGrachev, результаты тестов покажешь?
Titus, здесь 66000 тактов
все в 50 фпс
4 фазы перерисовки бэкграунда
Я не знаю, сколько там тактов, но работает оно на Пентагоне (Спектакулятор) в 25фпс.
Titus, здесь 66000 тактов
в режиме пентагон на EmuzWin идет тютя в тютю приблизительно 71500 в конце цикла программы
Titus, GM BIT, странно - по внутреннему счетчике анрила показывает именно 66000 с копейками тактов
а вот в режиме скорпиона да показывает гадости
Titus, GM BIT, странно - по внутреннему счетчике анрила показывает именно 66000 с копейками тактов
а вот в режиме скорпиона да показывает гадости
Запустил в EmuZWin в режиме Пентагона - действительно 50фпс.
Понятно, почему в Спектакуляторе 25. При запуске .sna, Спектакулятор почему-то переключается у меня в режим спектрума-48, а в нем тактов меньше.
ну поскольку я хочу на 25 фпс вывести со спрайтами и прочим
это будет некритично
В Cobra крутой движок! 25 fps почти весь экран.
2/3 экрана
что в Gryzor
что в Firefly
что в ghouls n ghosts
но уж больно там суровые ограничения на качество картинки
от 3 до 8 тайлов на линию в уровне
DenisGrachev
26.12.2011, 19:45
DenisGrachev, результаты тестов покажешь?
Ага, скоро кину.Просто я уже делаю в контексте игры, не просто скролл. Получается тоже 25 FPS и только окно пока 24х8 знакомест...
NovaStorm
27.12.2011, 14:26
При запуске .sna, Спектакулятор почему-то переключается у меня в режим спектрума-48, а в нем тактов меньше.
Я тоже на это недавно напарывался, дело в размере снапа. Если сохранять в 128к, то спектакулятор открывает его пентагоном.
вот нашёл несколько примеров скролла на весь экран 128к
http://www.joefish.co.uk/speccy/Joefish_50Hurts_Scroll_Demo.tap
http://www.joefish.co.uk/speccy/Joefish_50Hurts_Scroll_Demo_2.tap
вот нашёл несколько примеров скролла на весь экран 128к
http://www.joefish.co.uk/speccy/Joefish_50Hurts_Scroll_Demo.tap
http://www.joefish.co.uk/speccy/Joefish_50Hurts_Scroll_Demo_2.tap
Хороший пример. Как раз кодерам на заметку.
goodboy, Ну а чо :) Joefish кроссавчег
но есть 1 нюанс, на линию только 4 тайла
эту технологию применял Joffa в firefly
и Ghouls n Ghosts в принципе сделан по идентичной технологии
только на 48к спектруме :)
НО 25 фпс :)
кто там спрайтов хотел? :)
Хороший пример. Как раз кодерам на заметку.
Очередная пустышка.
Добавиляешь героев - убавиляешь пару строк, добавляешь музыку, убавиляешь еще строку и т.п. В итоге будут теже 2/3 экрана.
Очередная пустышка.
Добавиляешь героев - убавиляешь пару строк, добавляешь музыку, убавиляешь еще строку и т.п. В итоге будут теже 2/3 экрана.
Но зато one frame)
Lethargeek
28.12.2011, 05:36
Очередная пустышка.
Добавиляешь героев - убавиляешь пару строк, добавляешь музыку, убавиляешь еще строку и т.п. В итоге будут теже 2/3 экрана.
оно даже на 2/3 жрет многовато (одинаково при любой заполненности экрана)
хотя можно, видимо, сделать что-нибудь попроще наподобие пантеры с атарика
может, даже стогерцовый плеер впихнуть получится))
Lethargeek, он и должен жрать всегда одинаково
это принцип такой этого движка
И там нельзя убрать пару строк - только целую треть
Lethargeek
28.12.2011, 14:30
ясен пень, что принцип
а под строчный тоже можно перепилить
но получится еще тормознее правда
Lethargeek, в ghouls n ghosts строчный :)
как раз 20 строк
Powered by vBulletin® Version 4.2.5 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot