PDA

Просмотр полной версии : Pixel world



goblinish
20.09.2012, 18:22
основана на старой игрушке:
http://www.gameshot.org/?id=4224

в процессе:
+большие прыжки
+глюк с перемещением
+раскраска уровня

нет только идеи, как оформить игру - раскраска при перемещении игрока и реализовать ли динамические фоны? тут тупик вовсе.

управление -Cursor
отладочные клавиши:
D-отображение уровня, бордюр поменяет цвет, очень медленно.
G-вернуться к нормальному фону.

p.s. не шибко припадайте к залипалке.

ALKO
20.09.2012, 19:46
не хватает тени bright'ом , как в оригинале

---------- Post added at 18:14 ---------- Previous post was at 18:13 ----------

А так же масштабирования.
И почему-то персонаж прыгает выше , чем в оригинале

---------- Post added at 18:16 ---------- Previous post was at 18:14 ----------


и реализовать ли динамические фоны?
можно анимировать атрибутным flash'эм

---------- Post added at 18:18 ---------- Previous post was at 18:16 ----------

А мерцание игрока сложно будет убрать?

---------- Post added at 18:28 ---------- Previous post was at 18:18 ----------

Ещё можно поэксперементировать с тайлами однобитной графики.
Например вместо шахматной штриховки ещё чё-нить попробовать.

---------- Post added at 18:36 ---------- Previous post was at 18:28 ----------

кстати, вот таким макаром (шахматная штиховка+ атрибуты) можно добиться 15*15= 225 градаций цветов на знакоместо.

---------- Post added at 18:46 ---------- Previous post was at 18:36 ----------

ещё что касается прыжков:
в оригинале по параболе прыгает, а тут прямолинейный инкремент\декремент.
Нужно это исправить, т.к. на этом основан геймплей

goblinish
20.09.2012, 19:58
не хватает тени bright'ом , как в оригинале
как тень отобразить? в смысле тень самого игроке?


А так же масштабирования.
не представляю, как уместить экран до масштабирования. Да и нужно ли?


И почему-то персонаж прыгает выше , чем в оригинале
исправим, когда прыжок починится.


А мерцание игрока сложно будет убрать?
этот мост мы сожжем, когда перейдем через него.


Например вместо шахматной штриховки ещё чё-нить попробовать.
пример игры, где такая раскраска?


в оригинале по параболе прыгает, а тут прямолинейный инкремент\декремент.
Нужно это исправить, т.к. на этом основан геймплей

геймплей? не знаю пока, наверняка зависит от уровня, но прыжки по параболе мне не показались нужными.

ALKO
20.09.2012, 20:18
пример игры, где такая раскраска?
с ходу и не вспомню, да и есть ли такие игры вообще хз.
познакоместные тайлы можно посмотреть в том же paint.net.

---------- Post added at 19:16 ---------- Previous post was at 19:16 ----------


как тень отобразить? в смысле тень самого игроке?
ну да.... именно тень игроке

---------- Post added at 19:18 ---------- Previous post was at 19:16 ----------

поставить бит, отвечающий за bright в 0 по атрибутам:
x(игроке)-1,y(игроке)-1
x(игроке)-1,y(игроке)-2
x(игроке)-1,y(игроке)-3
x(игроке),y(игроке)-3

ALKO
20.09.2012, 20:21
Например вместо шахматной штриховки ещё чё-нить попробовать.
вот тут примеры.

goblinish
20.09.2012, 20:27
вот тут примеры.
и с какой скоростю отрисовывать? чай не демо с чанками.


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

ALKO
20.09.2012, 20:55
и с какой скоростю отрисовывать? чай не демо с чанками.
пффф.... зачем отрисовывать однобитную графику, если вся игра на атрибутной основана?
Один раз в начале заполнить весь экран тайлами, а дальше пусть атрибуты разруливают. Да и мерцания заметно не будет, если только атрибуты менять.

goblinish
20.09.2012, 22:30
пффф.... зачем отрисовывать однобитную графику, если вся игра на атрибутной основана?


Один раз в начале заполнить весь экран тайлами, а дальше пусть атрибуты разруливают

ты сам себе противоречишь. и как ты себе представляешь скролл тайлов и атрибутов?

да никак.


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

проще будет другие варианты подготовиьт, чем спорить.

Alex Clap
20.09.2012, 22:36
ЧСХ, игра затягивает ))))

goblinish
21.09.2012, 14:49
поправлены высокие прыжки, изменен баг с перемещением вверх, инсайд эксперимент с раскраской.

на уровне найден баг, мерцание пока что не исправлено.

жаль, что кроме камрада diver'a никаких вариантов не поступило.

на очереди еще один эксперимент - раскраска уровня лабиринта при продвижении игрока. компромисс остается на атрибутах.

jerri
21.09.2012, 16:02
goblinish, сделай персонажа более ярким

проблему с мерцанием решать надо так
рисуй в буфер фон и персонажа - потом кидай в экран сразу все.
768 байт не сильно много под буфер зато не будет таких спецэффектов

goblinish
21.09.2012, 16:18
сделай персонажа более ярким
будет, последствия эксперимента.


проблему с мерцанием решать надо так
рисуй в буфер фон и персонажа - потом кидай в экран сразу все.
768 байт не сильно много под буфер зато не будет таких спецэффектов

решаемо, имхо.

ALKO
21.09.2012, 17:07
ты сам себе противоречишь. и как ты себе представляешь скролл тайлов и атрибутов?
ужоссс.... неужели в той проге тайлы тоже скроллируемы?
Почему нельзя просто атрибуты скроллить, и не трогать тайлы?

---------- Post added at 16:07 ---------- Previous post was at 16:05 ----------


Сообщение от ALKO
пффф.... зачем отрисовывать однобитную графику, если вся игра на атрибутной основана?
Цитата:
Сообщение от ALKO
Один раз в начале заполнить весь экран тайлами, а дальше пусть атрибуты разруливают
и где тут противоречие?

goblinish
21.09.2012, 17:09
Почему нельзя просто атрибуты скроллить, и не трогать тайлы?
а они так и есть, и скорее всего будет заменены на атрибуты, проблема с раскраской, как уже получилось.
и атрибуты по экрану не скроллятся, а выводятся исходя из позиции в памяти.

---------- Post added at 17:09 ---------- Previous post was at 17:08 ----------


и где тут противоречие?


Один раз в начале заполнить весь экран тайлами, а дальше пусть атрибуты разруливают

атрибуты стали умными, чтобы разруливать? ерунда имхо.

moroz1999
21.09.2012, 17:35
Знакомая игруха, играл на флэше.

---------- Post added at 16:35 ---------- Previous post was at 16:34 ----------

А может реально чанками 8*8 всё отрисовать? Цвета можно будет передать куда как точнее к оригиналу.

jerri
21.09.2012, 17:39
moroz1999, тогда уж в мультиколоре 64*48 и с мерцающим цветом

goblinish
21.09.2012, 17:46
А может реально чанками 8*8 всё отрисовать? Цвета можно будет передать куда как точнее к оригиналу.

чанки с цветами пока что не нравятся. упирается в ручное редактирование уровня, потому что на первом снапшоте при нажатии кнопки G видны индексы цветов, и второй эксперимент показал, что при лобовом методе раскраски происходит.

иногда мне кажется, что при устранении глюков(еще один найден) и доведении до вида подсветки оригинальной игры проще остановиться на дизайне уровня.


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

нужны некоторые идеи, которые я сказал, например - раскраска элементов в динамике, да и многое другое.

еще один вариант, что предложен попроще - это рисование без атрибутов. но мне кажется, что с готовым движком игра будет выглядеть поинтереснее.

как я говорил - не припадайте про залипалку.

---------- Post added at 17:46 ---------- Previous post was at 17:45 ----------


moroz1999, тогда уж в мультиколоре 64*48 и с мерцающим цветом
сразу нет. я перебрал уйму спектрумовских игр-платформеров, ничего похожего не увидел.

jerri
21.09.2012, 17:47
goblinish, анимацию как делать думаешь?

goblinish
21.09.2012, 17:50
goblinish, анимацию как делать думаешь?

в динамике, наверное. сейчас сделано отрисовка после нажатия клавиш, сдвига карты и т.д.
думаю пока.

jerri
21.09.2012, 20:05
goblinish, предлагаю рисовать всегда

отрисовал
опросил клавиши
обработал
санимировал
перешел на начало

и сдвиг карты тогда делается просто и элегантно

goblinish
21.09.2012, 20:56
и сдвиг карты тогда делается просто и элегантно

да он и сам делается)8, если не считать игрока.

jerri
21.09.2012, 21:06
goblinish, посмотрел код твой
надо пару моментов поменять

goblinish
21.09.2012, 21:11
надо пару моментов поменять
хотя бы прыжок - точно надо, сейчас гонял.

что в коде не нравится?

jerri
21.09.2012, 21:34
goblinish

1 опрос клавиатуры - надо делать на бордюре
т.е
halt
сканируем порты - заносим результат
потом уже занесенные данные обрабатываем

иначе на реальных скорпах с РС клавой возможны занятные спецэффекты

2. исполняемый код лучше располагать с #8000 и далее - это требование фирменых машин - там код в 1.5 раза медленнее выполняется

вроде пока все :)

goblinish
21.09.2012, 21:38
2. исполняемый код лучше располагать с #8000

ладно, смотри - мир занимает 123х201 пикселей, умножим на 2, получим мир и маску, по которой и движемся, поэтому никак с #8000 не влезем.лучше бы на живом компе протестить, не щелкать же эмуль на модель?


1 опрос клавиатуры - надо делать на бордюре
т.е
halt
сканируем порты - заносим результат
потом уже занесенные данные обрабатываем

эээ? не понял(

ld bc,#FDFE
in a,(c)
and 4:jr nz,testup2
ld a,5:out(#fe),a; отладочно

на каком бордюре делать-то?

jerri
21.09.2012, 22:07
ладно, смотри - мир занимает 123х201 пикселей, умножим на 2, получим мир и маску, по которой и движемся, поэтому никак с #8000 не влезем.лучше бы на живом компе протестить, не щелкать же эмуль на модель?


123*201=24723

размести карту с 24576
получишь адрес 49299 откуда и размещаем код

а маска какая и для чего?



эээ? не понял(

ld bc,#FDFE
in a,(c)
and 4:jr nz,testup2
ld a,5:out(#fe),a; отладочно

на каком бордюре делать-то?

пока луч рисует верхнюю часть бордюра



опрос всей клавиатуры

ld a,#fe
ld c,a
ld hl,kb_buf
dup 7
ld b,a
ini
rlca
edup
ld b,a
ini

сканируешь клавиатуру а потом выбираешь данные из массива



опрос заданных кнопок
ld hl,keydata
ld b,keys
k0
ld a,(hl)
inc hl
in a,(fe)
and (hl)
cp (hl)
inc hl
rl c
djnz k0

ld a,c
ld (k_state),a
ret
keydata
db #7e,#01,#7e,#02
маска полуряда, маска кнопки


на выходе в k_state до 8(максимум) опрошеных кнопок
дальше проверяешь уже биты - нажата кнопка или нет

goblinish
21.09.2012, 22:12
а маска какая и для чего?
перемещение по карте, и прочеее - стены, потолки.
да и проще - отдельный ряд в 256 уместить, чем мудрить.

с клавой подумаю, как сделать. но не проще ли тебе самому на реальном спеке запустить?

jerri
21.09.2012, 22:20
goblinish, я уже знаю особенности такого скорпа

игра Action Force подвисает на фрейм изза опроса клавиатуры на экране-играть невозможно

вот такая конструкция
k0
xor a
in a,(fe)
cpl
and 1f
jr nz,k0
вызывает также подвисание
если после хоr a поставить djnz $
то все ок

по размеру хз :)
я бы в страницы пихал карту

goblinish
21.09.2012, 22:24
jerri, озадачил( в #6000 по #8000 поместить коды
плюс еще - с претензией ужать 4 уровня в страницы, наверное.

jerri
21.09.2012, 22:32
goblinish, эт не я :) это ты сам

я предлагаю с 8000 до с000 разместить коды
а в страницах 0 и 1 держать карту

для 1 уровня можно хранить маску видимости (123*201 бит) около 3х кб
для сжатия могу предложить rnc_propack -мощный амижный\пцшный пакер
депакер могу предоставить

goblinish
21.09.2012, 22:34
я предлагаю с 8000 до с000 разместить коды
а в страницах 0 и 1 держать карту
не проще ли с #6000 карту и код в хвост?)

jerri
21.09.2012, 22:37
goblinish, можно и так :)
ты игру пишешь а не я :)

goblinish
21.09.2012, 22:40
goblinish, можно и так :)
ты игру пишешь а не я :)

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

jerri
21.09.2012, 22:51
RNC_propack (http://aminet.net/package/util/pack/RNC_ProPack)
здесь паковщик

в приложении депакер
жирноват и требует #180 байт на таблицы при распаковке

jerri
21.09.2012, 22:52
goblinish, а что не так с картами?

goblinish
21.09.2012, 22:59
goblinish, а что не так с картами?

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

иногда мне кажется, что проще ручками карту перебить и привести к уму.

jerri
21.09.2012, 23:04
goblinish, а оригинальную карту выцарапать можно?

goblinish
21.09.2012, 23:14
goblinish, а оригинальную карту выцарапать можно?

угу, только там два файла - уровень и маска.
что-то вроде того.

jerri
21.09.2012, 23:28
я так понимаю их довольно просто можно сконвертить в атрибуты
и маску в маску

goblinish
22.09.2012, 00:01
я так понимаю их довольно просто можно сконвертить в атрибуты
и маску в маску

с кодом не получилось пока, проще вышло найденная gif2raw -дамп палитры и список индексов, причем маска получилась просто прекрасно.

jerri
22.09.2012, 00:25
хnview - посчитать уникальные цвета и можно там уменьшить количество цветов

goblinish
22.09.2012, 00:30
хnview - посчитать уникальные цвета и можно там уменьшить количество цветов
а смысл? тулза сама все делает. не знаю, что xnview с картинкой отчудит.
упирается в редактор светов, вот и все.либо самому движок осилить, как уже сказано, либо писать программу-редактор.

goblinish
22.09.2012, 10:49
Мелкое изменение - двигаемся в темноте.
исправлен прыжок, теперь игрок при ударе головой об потолок не падает.
мерцание поуменьшилось.

на очереди - динамика с анимацией.

кто-нибудь добрался до тупика на картинки?

jerri
22.09.2012, 11:49
добрался

так герой выглядит лучше
а можно сделать чтобы экран центрировался на герое как в игре Satan?
а то неудобно доходишь до края экрана и нифига не видишь

goblinish
22.09.2012, 11:56
а можно сделать чтобы экран центрировался на герое как в игре Satan?
а то неудобно доходишь до края экрана и нифига не видишь

пытался приблизить к оригиналу. исходник sjAsm приложен, тут сам можешь экспериментировать, что лучше, а что хуже.

заодно мне не нравится маска подсветки, надо бы поэкспериментировать.

jerri
22.09.2012, 12:01
goblinish, в оригинале происходит масштабирование изображения потому герой всегда находится в середине экрана
исходник не всегда разьясняет ситуацию

Alex Rider
22.09.2012, 15:25
Мелкое изменение - двигаемся в темноте.
А можно то же самое, но в zip? На корпоративном ноуте пропиетарный rar мне нельзя ни разу.

Rindex
22.09.2012, 15:31
А можно то же самое, но в zip? На корпоративном ноуте пропиетарный rar мне нельзя ни разу.

Держи.

Alex Rider
22.09.2012, 15:40
Держи.
Thanks!

goblinish
22.09.2012, 15:44
goblinish, в оригинале происходит масштабирование изображения потому герой всегда находится в середине экрана
исходник не всегда разьясняет ситуацию
а масштабирование и не планировалось. я плохо представлю, как это реализовать и раскраску заодно.

один из обсужденных вариантов - это рисовать точками 2х2, нечто наподобие чанок.

Alex Rider
22.09.2012, 15:50
Мозголомный код...

goblinish
22.09.2012, 15:53
Мозголомный код...
я старался)

goblinish
22.09.2012, 18:20
наконец-то нашел нормальный tile editor бинарных данных

jerri
22.09.2012, 19:34
а масштабирование и не планировалось. я плохо представлю, как это реализовать и раскраску заодно.

один из обсужденных вариантов - это рисовать точками 2х2, нечто наподобие чанок.

про масштабирование я речи не веду
не для спека оно
в оригинале масштабирование сделано чтобы держать героя примерно по центру
у тебя скролл происходит при приближении к краю - что не айс
необходимо чтобы координаты окна постепенно приближались к координатам героя в сатан это сделано так

берем координаты героя по ним вычисляем идеальные координаты окна
далее берем текущие , вычитаем идеальные делим на 10 прибавляем к текущим
окно двигается за героем чем сильнее герой смещен относительно центра тем быстрее двигается окно

NovaStorm
22.09.2012, 19:37
наконец-то нашел нормальный tile editor бинарных данных
Ссылку!

goblinish
22.09.2012, 20:04
Ссылку!
не ZX,вендовая версия:
http://devlinslab.blogspot.com/2007/11/simple-tile-map-editor.html

я просто тащусь от нее, как удав на стекловате:v2_dizzy_coder:

---------- Post added at 20:01 ---------- Previous post was at 19:58 ----------


в оригинале масштабирование сделано чтобы держать героя примерно по центру
у тебя скролл происходит при приближении к краю - что не айс

на код пожаловались уже, что непонятно, вот тест для скролла:

ld a,(manposx):cp #20-3:jr nz,fooskip
dec a:ld(manposx),a

регулируется, наверное.

сегодня устал уже, завтра поэкспериментирую с анимацией, заодно поменяю маску, выложу скомпилированную.

---------- Post added at 20:04 ---------- Previous post was at 20:01 ----------


берем координаты героя по ним вычисляем идеальные координаты окна
далее берем текущие , вычитаем идеальные делим на 10 прибавляем к текущим
окно двигается за героем чем сильнее герой смещен относительно центра тем быстрее двигается окно
;+127 displacement mask from map

position dw #8518;+120
mapdisp dw #8518+120
manposx db 22+5-8
manposy db 20

первые две переменные - положение в памяти карты,
manposx,manposy - положение игрока на экране.

jerri
22.09.2012, 21:22
предлагаешь переписать твою программу? :)

goblinish
22.09.2012, 21:47
предлагаешь переписать твою программу? :)

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

esl
22.09.2012, 21:59
А можно то же самое, но в zip? На корпоративном ноуте пропиетарный rar мне нельзя ни разу.

а 7zip можно поставить ?
он опенсорсный

Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
Unpacking only: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, WIM, XAR and Z.

Alex Rider
23.09.2012, 09:35
а 7zip можно поставить ?
он опенсорсный
Ok, учтено.

goblinish
23.09.2012, 10:51
планы рухнули(
тестовый снапшот - мерцание телепорта, хотя и недоделанный. нравится?

jerri
23.09.2012, 16:20
goblinish, это что такое? это не sna

goblinish
23.09.2012, 18:02
goblinish, это что такое? это не sna
сохраненка из Spectaculator.

вот оно - измененная подсветка, подкрученный скролл на 8 пикселей, модифицированные телепорты. карта в процессе раскраски.

топай вниз и влево до упора.

jerri
23.09.2012, 22:11
ага нашел оба телепорта рабочих
впечатляет, палитрой играешь?

goblinish
23.09.2012, 22:15
ага нашел оба телепорта рабочих
впечатляет, палитрой играешь?

типа того. там есть бага - при прыжках тормоз мерцания.
ставшуюся пару телепортов проще сделать
доделать самое сложное - освещение.
и еще - влезли бы 32 килобайта в 16 кило.

jerri
23.09.2012, 23:06
goblinish, как доделаешь текущую фазу - покажи что получается
с автоцентрирванием надо чтото подумать и с анимацией

goblinish
24.09.2012, 10:39
с автоцентрирванием надо чтото подумать и с анимацией
поменял условие границ скроллинга, уже не знаю, как лучше - менять позицию игрока, или выложить исходники с каментами? пусть экспериментируют.

jerri
24.09.2012, 11:23
goblinish, исходник дай, тебе надо основной цикл переделать

goblinish
24.09.2012, 11:52
goblinish, исходник дай, тебе надо основной цикл переделать
тормозит?

с подсветкой - тоска, короче, думал с яркостью прокатит.

jerri
24.09.2012, 12:32
goblinish, не тормозит, но скорость нестабильная, нужно чтобы стабильная была. что то вроде


main_
ld hl,0
ld (#5c78),hl
call show_screen ;здесь формируем бакграунд, ждем, опрашиваем клавиатуру и выводим экран
call proceed ;здесь обрабатываем нажатия клавиш и производим вычисления
wait_
ld hl,(#5c78) ;счетчик в обработчике прерывания
ld de,game_speed
scf
sbc hl,de
jr c,main_
halt
jr wait_

goblinish
24.09.2012, 12:41
нужно чтобы стабильная была. что то вроде

Задержка вложена, нужно просто переписать в двух вызовах - при показе и при скроллинге. странно, что эмулятор тормоза не кажет(

пакер справился, 32 кбайт сжал до 4кбайт, теперь вопрос в доработке уровня.
cwerj, я так стану чемпионом по скоростному прохождению..

jerri
24.09.2012, 13:03
goblinish, ожидание должно быть в 1ом месте :) проще будет отслеживать
пакер - RNC который? :)

goblinish
24.09.2012, 13:18
акер - RNC который?
Да, тот что ты сбросил, спасибо, буду разбираться, потому что хочется игру в одно сложить..


ожидание должно быть в 1ом месте
гммм. прелести кода) поторопился.

jerri
24.09.2012, 13:31
goblinish, так перепиши, код должен быть красивым

goblinish
24.09.2012, 13:49
goblinish, так перепиши, код должен быть красивым

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

jerri
24.09.2012, 13:54
goblinish, первый уровень будешь целиком сохранять ? или маску битовую делать?

goblinish
24.09.2012, 14:02
goblinish, первый уровень будешь целиком сохранять ? или маску битовую делать?

каждый мирок - свои данные.

jerri
24.09.2012, 14:16
goblinish, второй раз же нельзя попасть во внешние миры?

goblinish
24.09.2012, 14:32
goblinish, второй раз же нельзя попасть во внешние миры?

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

3-й и 4-й миры - там сложная анимация.

---------- Post added at 14:32 ---------- Previous post was at 14:21 ----------

понеслося:

SjASMPlus Z80 Cross-Assembler v1.07 RC7 (build 02-04-2008)
Pass 1 complete (0 errors)
level01.inc(3): error: Too many arguments: #00
level01.inc(6): error: Too many arguments: #00
level01.inc(9): error: Too many arguments: #00
level01.inc(12): error: Too many arguments: #00
level01.inc(15): error: Too many arguments: #00
level01.inc(18): error: Too many arguments: #00
level01.inc(21): error: Too many arguments: #00
level01.inc(24): error: Too many arguments: #00
level01.inc(27): error: Too many arguments: #00
level01.inc(30): error: Too many arguments: #02C
level01.inc(33): error: Too many arguments: #02C
level01.inc(36): error: Too many arguments: #01B
level01.inc(39): error: Too many arguments: #01B
level01.inc(42): error: Too many arguments: #0E
level01.inc(45): error: Too many arguments: #0E
level01.inc(48): error: Too many arguments: #033
level01.inc(51): error: Too many arguments: #01E
:v2_dizzy_facepalm:

jerri
24.09.2012, 14:46
goblinish, там телепорт же вырубается когда возвращаешься из мира

странная фигня не должно такого быть

goblinish
24.09.2012, 15:19
странная фигня не должно такого быть

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

jerri
24.09.2012, 15:34
goblinish, так что, основной цикл перепишешь? чтобы клавиатура нормально опрашивалась?

goblinish
24.09.2012, 16:00
goblinish, так что, основной цикл перепишешь? чтобы клавиатура нормально опрашивалась?

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

jerri
24.09.2012, 18:50
goblinish, я видел исходник :) и скажу как сократить ;)

pop hl ld (#58xx),hl - это лишнее
ldir вполне хватает если делать сразу после halt

как у автора сделана анимация?

goblinish
24.09.2012, 19:00
pop hl ld (#58xx),hl - это лишнее
почему? а ldir наверху экрана мерцать не будет?

попробую, конечно же.


как у автора сделана анимация?
не ясно нифига. на 4-ом уровне отдельная картинка - вся анимация целиком.

попробовал второй уровень - лицоладонь, одни баги.

baxter
24.09.2012, 21:33
Погуглил, не нашёл. С какой игры порт?

jerri
24.09.2012, 22:47
baxter, в первом посте ссылка :)

---------- Post added at 22:27 ---------- Previous post was at 22:20 ----------


почему? а ldir наверху экрана мерцать не будет?

попробую, конечно же.


сразу после halt - не должно
ldir 768 занимает 16128 тактов
ты выполняешь его после прихода луча
луч успеет отрисовать только 1 знакоместо



не ясно нифига. на 4-ом уровне отдельная картинка - вся анимация целиком.

попробовал второй уровень - лицоладонь, одни баги.

ты саму флешку декомпилил?

---------- Post added at 22:47 ---------- Previous post was at 22:27 ----------

не увидел сложной анимации
автор играет только палитрой

NovaStorm
24.09.2012, 22:54
Не совсем видимо в теме, но неужели памяти ТАК не хватает? Какой нибудь цикл а-ля


ld a,96
1
dup 8
ldi
edup
dec a
jp nz,1b

Съел бы всего 20 байт, а выиграл больше 2000 тактов.

jerri
24.09.2012, 23:32
NovaStorm, скорости пока выше крыши

goblinish
25.09.2012, 07:13
ты саму флешку декомпилил?
нет, у меня только картинки с музыкой выдрались. счел достаточным.


не увидел сложной анимации
4-й уровень - где элеватор снизу вверх и рядом еще одна приблуда.
снегопад на третьем - мне думается, слегка сложно.


Съел бы всего 20 байт, а выиграл больше 2000 тактов.
о памяти потом, выиграть можно много чего.
к тому же речь не о LDI, а о быстрой процедуре переброса.

goblinish
25.09.2012, 08:42
ну, сейчас-то бегает?
http://android-mafia.ru/uploads/posts/2012-07/1343310155_1.jpg

jerri
25.09.2012, 09:38
goblinish, сейчас бегает отлично :v2_thumb:
единственное - анимация мигающего света слишком быстрая
в оригинале помедленнее чтоли
не очень похоже на настоящее замыкание - слишком ритмично

goblinish
25.09.2012, 09:47
единственное - анимация мигающего света слишком быстрая
я анимацию отложил, потому что идея имитации освещения путем яркости не получилась. решаемо, кмк, тем более, что любая анимация работает.
на очереди - раскраска второго уровня, и подготовка его к первому - логика, переход и т.д.

ну и все остальное, самое сложное, наверное..

NovaStorm
25.09.2012, 09:50
Поглядел, мигание правда лучше сделать по-другому, например раза три моргнуть, потом кадра три либо вкл, либо выкл. Прыгает странно, падает имхо слишком быстро, прыгаем в потолок, потом отходим от потолка - ГГ продолжает лететь вверх. В сторону как-то дёргано прыгает, хотя мож это познакоместность сказывается...
ЗЫ: Смысл прыжков в потолок вроде понял. Падает вот ГГ только быстро. И скролл вверх лучше наверное чуть раньше делать, а то впереди ничего не видно.

goblinish
25.09.2012, 10:33
Падает вот ГГ только быстро
попробуйте в оригинале игры, особенно с прыжками, там есть нюанс вроде бы.


И скролл вверх лучше наверное чуть раньше делать, а то впереди ничего не видно.
ну, вас не съедят же впереди)

с разрисовкой тупик, может, найдется, кто раскрасит палитру? уровень в приложении.

jerri
25.09.2012, 11:00
goblinish, там есть одно место. идешь идешь и вниз проваливаешься
очень неприятно потому что видишь всего один кубик черный

diver
25.09.2012, 11:31
Блин, goblinish, ты чего. Вручную что ли раскрашиваешь уровни?????
Обратился бы. Надо же привести уровни в одну палитру и сделать просто ее. Чтобы все уровни автоматом открывались просто из готовых конверченых файлов.

goblinish
25.09.2012, 11:43
goblinish, там есть одно место. идешь идешь и вниз проваливаешься
очень неприятно потому что видишь всего один кубик черный
картинку кинь, пожалуйста - это либо баг конверсии, либо глюк игры.

поясню - когда игрок встречает один кубик, он шагает вверх, это движение по ступенькам.

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

---------- Post added at 11:43 ---------- Previous post was at 11:39 ----------


Блин, goblinish, ты чего. Вручную что ли раскрашиваешь уровни?????
Обратился бы. Надо же привести уровни в одну палитру и сделать просто ее. Чтобы все уровни автоматом открывались просто из готовых конверченых файлов.

не хотел тебя отвлекать от работы.
и какая так конверсия выглядит?

jerri
25.09.2012, 12:05
goblinish, там проблема в том что ты не видишь глубокую яму

и при случайном попадании ты должен ползти обратно

goblinish
25.09.2012, 12:07
goblinish, там проблема в том что ты не видишь глубокую яму

и при случайном попадании ты должен ползти обратно

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

jerri
25.09.2012, 12:50
goblinish, движок правь :) человек должен стремиться быть по центру экрана
очень неудобно лазить по камням если экран надо двигать головой

diver
25.09.2012, 12:58
и какая так конверсия выглядит?
Чисто теоретически так:
1. Определяемся с палитрой на выходе - какие оттенки будут (чистые 15 цветов или с текстурами - тогда больше, максимум до 102 цветов). Т.е. определяем набор цветов и их порядок.
2. Делаю аналог палитры на PC, конвертирую в нее картинки уровней (например в PaintShop Pro), отслеживаю, чтобы палитра была отсортирована правильно.
3. Из конвертированных файлов берем блоки битмапов и всё, готово для употребления на ZX.

PS Посмотрел 7ую версию снапшота. КРУТО!

goblinish
25.09.2012, 13:30
очень неудобно лазить по камням если экран надо двигать головой
был заточен под первый уровень. граница скролла меняется. надо опять на разных пробовать. заодно посмотрим, какой радиус будет лучше.


Чисто теоретически так:
теоретически это было так: драные картинки совмещаютсю в одно, конвертятся в gif, делается дамп палитры и индексированных цветов.
с индексами цветов не получилась затея, поэтому и пришлось раскрашивать(

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

заодно и баги фиксить)

goblinish
25.09.2012, 13:36
вот и контрольная точка "островков":)

jerri
25.09.2012, 13:59
goblinish, у тебя встречаются такие моменты
как фон\цвет, а рядом цвет\фон такого же цвета
изза текстуры эти два элемента различаются и выглядят не очень красиво

goblinish
25.09.2012, 14:19
goblinish, у тебя встречаются такие моменты
как фон\цвет, а рядом цвет\фон такого же цвета
изза текстуры эти два элемента различаются и выглядят не очень красиво

это где, на первом?

распаковщик не работает, из-за:

;таблица Хаффмана
ld (hufcde),hl
ld hl,#8000
ld (hufbse),hl

а мне как раз адрес и нужен...
как быть?

NovaStorm
25.09.2012, 14:23
человек должен стремиться быть по центру экрана
Или даже экран должен двигаться немного впереди по направлению движения.

jerri
25.09.2012, 14:30
goblinish, что именно не работает?

goblinish
25.09.2012, 14:37
goblinish, что именно не работает?

зависает, экран забивается мусором

jerri
25.09.2012, 14:44
goblinish, извини мой косяк :( не из той папки дал депакер
тот с посторонними включениями
это нормальная версия

goblinish
25.09.2012, 15:15
goblinish, извини мой косяк :( не из той папки дал депакер
тот с посторонними включениями
это нормальная версия

да, отдельно работает, проверим с игрой.

а как тогда отдельно обходиться?
например, прокатит ли, если архив расположен по #8000 и указан адрес распаковки #8000?

---------- Post added at 15:15 ---------- Previous post was at 14:57 ----------


Или даже экран должен двигаться немного впереди по направлению движения.

это не платформер имхо.

jerri
25.09.2012, 15:26
goblinish, если уровень будет занимать не #8000
а например #7ff8 а данные разместить в конце то проблем с распаковкой не будет
если будешь занимать всю возможную память то будут проблемы
хвостик в N байт в отличии от наших архиваторов он не оставляет

diver
25.09.2012, 15:27
теоретически это было так: драные картинки совмещаютсю в одно, конвертятся в gif, делается дамп палитры и индексированных цветов.
с индексами цветов не получилась затея, поэтому и пришлось раскрашивать(
Понятно. Мне попробовать сконвертить?

goblinish
25.09.2012, 15:30
goblinish, если уровень будет занимать не #8000
а например #7ff8 а данные разместить в конце то проблем с распаковкой не будет
если будешь занимать всю возможную память то будут проблемы
хвостик в N байт в отличии от наших архиваторов он не оставляет

архивы пока до 4 килобайт пакуются.
думаю, проще будет - скопировать архив на экран, вызвать пакер, процедура и развернет уровень с #8000-#ffff, что достаточно.
заодно, наверное, и памяти для музыки останется..

goblinish
25.09.2012, 15:38
Понятно. Мне попробовать сконвертить?

да, но...
и как потом с конверсией быть? если есть хорошие цвета, то я быстро сам раскрашу, редактор тайлов просто удобен в этом случае.

если же знать, как сконвертить картинку в нужные цвета, то было бы здорово, проще будет собрать вместе, учитывая, что размеры рисунков должны быть 128х128.

и потом, эксперименты с картинками хорошего результата не дали, пришлось часть ручками править, а уровень, который приложен, получился просто плохо.

Вот как уровни выглядят(атач)

diver
25.09.2012, 16:13
да, но... и как потом с конверсией быть?
всунуть в 5 банок, да заюзать готовые.


если есть хорошие цвета, то я быстро сам раскрашу, редактор тайлов просто удобен в этом случае.
Что значит хорошие? Хотя ты прав. Если отбросить там всякие градиентные фоны, то заливкой можно быстро все покрасить.


если же знать, как сконвертить картинку в нужные цвета, то было бы здорово, проще будет собрать вместе, учитывая, что размеры рисунков должны быть 128х128.
Что насчет уровня №2? он 153*146 точек. Остальные то укладываются в 128*128 и один уровень 100*100.


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

goblinish
25.09.2012, 16:22
всунуть в 5 банок, да заюзать готовые.
уж не катит. проще заново раскрасить)


Что насчет уровня №2? он 153*146 точек
присмотрись, там поля пустые. я немного урезал, имхо 128х128 не теряется.
остальные 3-4 вроде бы тоже.


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


Что значит хорошие?

те, что проще под цвета спека перегнать.

jerri
25.09.2012, 17:25
goblinish, diver, надо количество цветов уменьшить
даже если использовать фон+цвет с текстурой некоторые цвета выпадают да и смотрятся не очень

goblinish
25.09.2012, 17:48
даже если использовать фон+цвет с текстурой некоторые цвета выпадают да и смотрятся не очень
вот со смешении цветов и смотрится плохо( сейчас на оригинальном уровне неправильную раскраску увидел - плохо(

baxter
25.09.2012, 21:27
ЗдОрово!
Джери прав, перца надо центровать.

goblinish
26.09.2012, 09:58
немного изменений:
+уровень 0 раскрашен, должно выглядеть лучше.
+ появился кубик, который нужно собрать
+ изменена граница скролла, теперь почувствуйте разницу: значение в $6156,инструкция-$6155
?эксперимент со светом, получается полная фигня(

теперь, когда код готов, буду раскрашивать уровень 1.

jerri
26.09.2012, 11:43
goblinish, у тебя все полностью готово?
кинь исходник... надо пошаманить

goblinish
26.09.2012, 11:54
goblinish, у тебя все полностью готово?
кинь исходник... надо пошаманить

не все еще готово, остался один штрих, да и сборка уровней пока не работает.

лови.

NovaStorm
26.09.2012, 12:17
>Pixelw9.rar
Когда выбираешься на самый верх уровня, на высокую фигню справа от купола, при прыжке сверху мигают атрибуты, как будто это мусор. Так и должно быть?
И может хоть на клетку увеличить обзор?
ЗЫ: На картинке - застрял =(

goblinish
26.09.2012, 12:19
>Pixelw9.rar
Когда выбираешься на самый верх уровня, на высокую фигню справа от купола, при прыжке сверху мигают атрибуты, как будто это мусор. Так и должно быть?
И может хоть на клетку увеличить обзор?

угу( увеличить на клетку - в каком направлении?

NovaStorm
26.09.2012, 12:27
Да во всех, чтоб уровень чуть дальше открывался, а то как на ощупь идёшь. Может кстати как-то заливать неоткрытые зоны, чтоб их видно было? Сплошным серым например или хоть малиновым(если на глаза давить не будет =)).

goblinish
26.09.2012, 12:57
ЗЫ: На картинке - застрял =(
знаю, работаю над той ошибкой. она всегда при движении и прыжках вправо.


Сплошным серым например или хоть малиновым
мельтешение будет имхо.
изначально я увеличивал радиус подсветки, но реакции не было, поэтому уменьшил немного. шукай версии)

goblinish
26.09.2012, 13:39
поправил баги.

теперь вряд ли игрок застрянет.
и на куполе резко теряет прыть прыжка, но глюков не видно.

jerri
26.09.2012, 13:45
goblinish, надо пару моментов уточнить
у тебя персонаж относительно экрана адресуется?

нужны две координаты

координаты окна на карте
координаты персонажа на карте
так работать проще с координатами

goblinish
26.09.2012, 14:00
goblinish, надо пару моментов уточнить
у тебя персонаж относительно экрана адресуется?
да.

Делай проще:
ищи коментарий next following to print debug - remove ret
убери ret, внизу появится отладочная информация - координаты и позиции в памяти,
потом проще будет данные использовать, или в stage_data записать.

ну а листалку менять долго.

jerri
26.09.2012, 14:02
переделай работу с координатами персонажа
они у тебя все равно больше чем 255 не будут

goblinish
26.09.2012, 14:06
переделай работу с координатами персонажа
они у тебя все равно больше чем 255 не будут

да и так хватает, наверное.

переписывать - долго, да и нужно ли?

jerri
26.09.2012, 14:06
да.

Делай проще:
ищи коментарий next following to print debug - remove ret
убери ret, внизу появится отладочная информация - координаты и позиции в памяти,
потом проще будет данные использовать, или в stage_data записать.

ну а листалку менять долго.

не вижу проблем с поиском
у тебя сейчас сделано очень неудобно
есть смещение окна
есть смещение относительно окна

с листалкой будет еще проще
могу переписать :)

---------- Post added at 14:06 ---------- Previous post was at 14:06 ----------

goblinish, переписывать нужно

goblinish
26.09.2012, 14:10
с листалкой будет еще проще

убирай тот же ret

потом не нужны комментарии в командах:
; call showmap
; jp otloop

и в showmap
ld de,scrbuf;#5800 for browser

долго, надо выкинуть это все.

---------- Post added at 14:10 ---------- Previous post was at 14:09 ----------


goblinish, переписывать нужно
тогда я плохо представляю, чем лучше координаты..

jerri
26.09.2012, 15:01
goblinish, поясняю
у тебя есть координаты персонажа
по ним ты ищешь элементы пейзажа и отталкиваешься от них

еще у тебя есть координаты окна
по ним ты строишь изображение

координаты окна имеют зависимость от координат персонажа
а вот координаты персонажа зависят только от местности
у тебя можно будет даже ускоренные падения делать

goblinish
26.09.2012, 15:11
у тебя можно будет даже ускоренные падения делать
я с падением намучался)
так что по заповеди зеленоголиков - "работает-не трогай".
Думал, как сделать, чтобы игрок находился в центре - так это тупик вообще.
ты упоминал Satan, посмотрел на игру, есть свои нюансы.

в общем, то ли на WoS спрашивать, то ли с матом и слезами переписывать.

jerri
26.09.2012, 15:26
goblinish, здесь спрашивай, я отвечу :)
на ВОС нубы :)
могу дать кусок кода прыжка из игры Knight n Grail с С64
там прыжок вообще идеален

goblinish
26.09.2012, 15:31
goblinish, здесь спрашивай, я отвечу
Было б лучше, если ты с предложенным движком согласился))))

еще одна версия раскраски,ДВА бага:
- виден край карты
- игрок застревает в неведомых лабиринтах.

NovaStorm
26.09.2012, 15:53
goblinish, мне кажется, jerri пытается донести очень правильную мысль, что если сделать движение и обработку игрока в абсолютных координатах в мире, а потом _только отрисовывать_ без всякого просчёта вьюпорт, то это будет и проще, и понятнее, и, что немаловажно, безбажнее =)
Ну и всякие плюшки типа халявной регулировки видимости прилагаются.
>Pixelw10.rar
Ярко зелёный воспринимается не как фон, а как преграда.
Может быть сделать задержку падения? А то слишком часто падает, когда жмёшь ^->, и ожидаешь прыжка по диагонали.

goblinish
26.09.2012, 16:00
и, что немаловажно, безбажнее =)
что значит безбажнее? я уйму литературы почитал, заодно помаялся с реализацией движения игрока, все варианты предусмотреть просто невозможно. примитивный collision detect не катит, приходится дописывать код.


Ну и всякие плюшки типа халявной регулировки видимости прилагаются.
как ни крути - нет халявной регулировки, игрок выше попы, как и я не прыгнет)


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

jerri
26.09.2012, 16:36
goblinish, я смотрю у тебя окно высветления не проверяется на выход за пределы карты - это нормально?

заменил быструю рисовку на ldir - по скорости никаких изменений

---------- Post added at 16:36 ---------- Previous post was at 16:16 ----------

goblinish, у тебя размер карты 128*128 и размер масочной карты такой же?

я бы сделал
7 бит - свет
6 бит - проницаемость
5-0 биты - 64 цвета в палитре

и можно было бы карту делать поболе :)

goblinish
26.09.2012, 16:42
goblinish, у тебя размер карты 128*128 и размер масочной карты такой же?
примерно да.


заменил быструю рисовку на ldir - по скорости никаких изменений
заменю завтра.


goblinish, я смотрю у тебя окно высветления не проверяется на выход за пределы карты - это нормально?

карту можно обойти - забей в Pal+8 и в pal+3 нули.


я бы сделал
7 бит - свет
6 бит - проницаемость
5-0 биты - 64 цвета в палитре
примерно так и есть)


и можно было бы карту делать поболе
карты все одинаковые, 128байт хватит.

jerri
26.09.2012, 16:46
goblinish,


;position - color map
;mapdisp -mask for move
;+127 displacement mask from map,


+128 было бы логичнее

goblinish
26.09.2012, 17:17
+128 было бы логичнее
да это не актуально, как данные соберешь, так и прокатит.
другое дело, там в ветках исправить надо - fooskip2 вроде бы.

jerri
26.09.2012, 17:28
я тут картинки посмотрел
или ты их обрезаешь?

goblinish
26.09.2012, 17:38
или ты их обрезаешь?
черным можно пожертвовать немного.

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

jerri
26.09.2012, 17:53
goblinish, согласен

0 проницаемость
1 непроницаемость
2 проницаем но в данном месте рисуем фон поверх героя
3 лифт/ступенька
4 5 6 7 8 переход зону N-4

ну и 127 элементов фона должно хватить под любые эксперименты с палитрой

---------- Post added at 17:53 ---------- Previous post was at 17:52 ----------

блин много у тебя в коде переписать надо :(

тут что получается
ГГ прыгает/падает
при этом влево/вправо работает всегда

goblinish
26.09.2012, 18:00
блин много у тебя в коде переписать надо
увы, некоторые задумки приходят при такой игре..


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

jerri
26.09.2012, 18:14
goblinish, доберусь до дома подскажу еще по мелочи

goblinish
26.09.2012, 18:16
goblinish, доберусь до дома подскажу еще по мелочи

жду. думаю, до глобальной переделки ждать и ждать...

jerri
26.09.2012, 21:12
goblinish, анимация на мире со снегом
есть идея как ее сделать

в оригинале она отображается там где на маске 0

goblinish
26.09.2012, 21:14
в оригинале она отображается там где на маске 0
не видел, оставил на потом, когда убедился, что уровни подходят.

diver
27.09.2012, 10:18
Конвертится примерно так. Палитра взята аналогичная спектрумовской - с текстурами, если надо, построю соответствующую текстурную палитру или переиндексирую.

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

Тайлить/перекрашивать имхо лучше с такой конверсии.

diver
27.09.2012, 10:19
Можно конвертить без дизеринга, в solid цвета. Можно вспышку перекрасить и сделать побледнее, если слишком яркий цвет в центре мешает. И т.п.

В последнем уровне тоже есть гимор с градиентным фоном.

Продолжать?

goblinish
27.09.2012, 10:59
Можно конвертить без дизеринга, в solid цвета. Можно вспышку перекрасить и сделать побледнее, если слишком яркий цвет в центре мешает. И т.п.

В последнем уровне тоже есть гимор с градиентным фоном.

Продолжать?

в идеале лучше бы обрезанные до 128х128. а то я геморный второй уровень уже отконвертил, начал править баги..

diver
27.09.2012, 11:19
в идеале лучше бы обрезанные до 128х128. а то я геморный второй уровень уже отконвертил, начал править баги..
вот. которые еще сконвертить? с синим скелетом и последний с лифтом?

goblinish
27.09.2012, 11:25
вот. которые еще сконвертить? с синим скелетом и последний с лифтом?
проще остатки все, но не знаю, как выйдет. попробую сконверченную сейчас.
требования те же, наверное, 128х128 проще преобразовать в данные.

diver
27.09.2012, 11:28
Это... у тебя еще палитра кривая (chunk.png). Ну не такая она... неяркие цвета не бывают уровня 50%. Переделываю все в нормальную палитру.

goblinish
27.09.2012, 11:38
Это... у тебя еще палитра кривая (chunk.png). Ну не такая она... неяркие цвета не бывают уровня 50%. Переделываю все в нормальную палитру.
не знаю, как PureBasic делал, но использовался 127 для обычных, 255 для яркостей.

diver
27.09.2012, 11:50
не знаю, как PureBasic делал, но использовался 127 для обычных, 255 для яркостей.
вот и я говорю, что 127 не бывает. 205 надо использовать (это палитра pulsar).

goblinish
27.09.2012, 12:02
вот и я говорю, что 127 не бывает. 205 надо использовать (это палитра pulsar).
спорить не буду, при конверсии свои цвета забью. уровень выглядит лучше)

---------- Post added at 12:02 ---------- Previous post was at 11:58 ----------

Уровень готов, сейчас цвета попробую подобрать.

diver
27.09.2012, 12:20
спорить не буду, при конверсии свои цвета забью. уровень выглядит лучше)

---------- Post added at 12:02 ---------- Previous post was at 11:58 ----------

Уровень готов, сейчас цвета попробую подобрать.
ммм, подожди в нормальной палитре пришлю. в твоей много лишних цветов сперва получалось (145 вместо 54)

goblinish
27.09.2012, 12:30
ммм, подожди в нормальной палитре пришлю. в твоей много лишних цветов (145 вместо 54)

да первый почти разрисован, осталось только зеленый подобрать, наверное.

diver
27.09.2012, 13:09
да первый почти разрисован, осталось только зеленый подобрать, наверное.
Держи короче. Все уровни кроме большого сделал 128х128. Цвета теперь нормальные, везде без дизеринга и в правильной палитре. Кстати количество цветов везде 12-16. Все палитры вложены в папки - PAL файлы, цвета вручную можно быстро подобрать. Каналы в палитре стандартные - R G B.

Уровни означают:
0 - нет цвета
103 - текстура, неяркий
128 - текстура, яркий
205 - неяркий сплошной
255 - яркий сплошной.

Пример, палитра 4 уровня:

0 0 0 - черный
103 103 103 - белый+черный, текстура не яркая
103 0 103 - сиреневый+черный, текстура, не яркая
103 0 0 - красный+черный, текстура не яркая
128 128 255 - белый+синий, текстура, яркая
0 0 103 - синий+черный, текстура не яркая
128 128 128 - белый, текстура, яркая
255 255 255 - белый, сплошной, яркий
128 0 0 - красный, текстура, яркая
103 103 205 - белый+синий, текстура, не яркая
205 205 205 - белый, сплошной, неяркий

и т.п. То есть цвет в палитре разбивается на 2 и по уровням берется яркость:
103 103 205 - это 103/103/103 + 0/0/103 = белый + синий, без яркости.

goblinish
27.09.2012, 13:39
Держи короче. Все уровни кроме большого сделал 128х128. Цвета теперь нормальные, везде без дизеринга и в правильной палитре. Кстати количество цветов везде 12-16

Супер! осталось конвертер в данные и в редактор тайлов написать..

diver
27.09.2012, 13:57
Супер! осталось конвертер в данные и в редактор тайлов написать..
Это сарказм или как? Я могу конечно сделать общую палитру и файл с палитрой тайлов в scr формате, но это займет время.

jerri
27.09.2012, 14:02
goblinish, лови тест с исходниками
если чего непонятно спрашивай
если надо то могу это в твою программу встроить

goblinish
27.09.2012, 14:03
Это сарказм или как? Я могу конечно сделать общую палитру и файл с палитрой тайлов в scr формате, но это займет время.

гм.. если бы знать, как с форматом scr работать. это не сарказм, но редактор тайлов все равно придется использовать, а импорт из него уже готов, так что предложенный jerri формат придется использовать, на переделку кода нужно время.

jerri
27.09.2012, 14:04
освежение экрана - 50 фпс
скорость героя 25 фпс

goblinish
27.09.2012, 14:07
если чего непонятно спрашивай
если надо то могу это в твою программу встроить

ох, блин, замутил игрушку))
попробую полегоньку, благо наработки об уровне вызвали кое-какие отзывы.

спасибо, мужики.

diver
27.09.2012, 14:14
гм.. если бы знать, как с форматом scr работать. это не сарказм, но редактор тайлов все равно придется использовать, а импорт из него уже готов, так что предложенный jerri формат придется использовать, на переделку кода нужно время.
ну так ты говори, что необходимо сделать-то. уровни - конвертятся. цвета я подобрал самые близкие. в какой формат тебе это дело все привести? в ту палитру, которая CHUNK.PNG?

jerri
27.09.2012, 14:24
ох, блин, замутил игрушку))
попробую полегоньку, благо наработки об уровне вызвали кое-какие отзывы.

спасибо, мужики.

это судя по всему твоя первая серьёзная игра :)
потому не пугайся и всегда обращайся

тестовый гейм посмотрел?
понял как работают прыжки?

goblinish
27.09.2012, 14:39
понял как работают прыжки?
Да, я на прыжки в оригинале долго смотрел, пытался понять, как работает, и остановился на варианте, который работает.

так что, теперь, яркость убрать? вариант с битом уж больно хорош.

---------- Post added at 14:39 ---------- Previous post was at 14:34 ----------


в ту палитру, которая CHUNK.PNG?
это не палитра, а упрощенный вариант, чтобы видеть цвета, как на спектруме.
получается, что порядковый номер тайла из chunk.png соответствует цвету ink+paper. потом файл-карта перегоняется в бинарные данные, код компилится, и можно проверять.

плюс в памяти используется яркость(хотя цвет не соответствует), но в карте уровня задействован бит 7(128), который отвечает за подсветку, когда игрока перемещается.
вот вся раскладка.

jerri
27.09.2012, 14:42
Да, я на прыжки в оригинале долго смотрел, пытался понять, как работает, и остановился на варианте, который работает.

так что, теперь, яркость убрать? вариант с битом уж больно хорош.

бит 7 у тебя по прежнему должно быть видение
остальные 127 вариантов все таки оставь под цвета

не надо яркость, все равно битов не хватает
раз уж хватает на флаговую карту, то есть смысл ее использовать

jerri
27.09.2012, 14:45
кстати говоря
там где маска темно красная - непроницаемая
а там где другой красный, там у героя тень появляется

goblinish
27.09.2012, 15:16
кстати говоря
там где маска темно красная - непроницаемая
а там где другой красный, там у героя тень появляется

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

---------- Post added at 14:58 ---------- Previous post was at 14:53 ----------


раз уж хватает на флаговую карту, то есть смысл ее использовать
я подумаю. как будет с видимостью.
пример в твоем коде похож на воду(4-й уровень?), но с освещением он никак не совмещается.

---------- Post added at 15:16 ---------- Previous post was at 14:58 ----------

jerri, прыжок хорош, но в оригинале на 5 высоты, я на 6 переделывал,
да и то, закрались опасения, что можно забраться неизвестно куда.

diver
27.09.2012, 15:59
это не палитра, а упрощенный вариант, чтобы видеть цвета, как на спектруме. получается, что порядковый номер тайла из chunk.png соответствует цвету ink+paper. потом файл-карта перегоняется в бинарные данные, код компилится, и можно проверять.
бинарные данные. мне кажется, должно подойти :)

jerri
27.09.2012, 16:08
goblinish, прыжок я сделал как в оригинале :)
там тоже 6 и у меня 6
пример в моем коде всего лишь демонстрация отдельных моих фраз
я сейчас еще карту увеличу и сделаю скролл :)

goblinish
27.09.2012, 16:25
там тоже 6 и у меня 6
я побольше насчитал... надо будет в закоулках проверить..


бинарные данные. мне кажется, должно подойти
RGB в ZX? попробую, вроде бы и подходит.

goblinish
27.09.2012, 16:51
вот результат конверсии лобовым способом. осталось цвета подобрать.

goblinish
27.09.2012, 17:44
уровень 4-й, где ракеты в ангаре - самый вредный, придется дообрезать..

jerri
27.09.2012, 17:46
так - увеличил карту, добавил автоскролл к карте
смотри изучай, здесь сделано то что я от тебя хотел

скорость движения героя
25 фпс влево вправа
50 фпс вверх вниз

скорость обновления экрана 50 фпс
скорость движения экрана 12.5 фпс

смотри изучай получилось очень мило
на то что для невидимости я беру данные с экрана не обращай внимания
это для демонстрации

jerri
27.09.2012, 17:46
goblinish, а что не так с ракетами?
не влезают?

Shadow Maker
27.09.2012, 17:59
На эмуляторах какой-то жуткий вырвиглаз при автоскролле.

jerri
27.09.2012, 18:08
Shadow Maker, ну дык с точностью до знакоместа же выводится

---------- Post added at 18:08 ---------- Previous post was at 18:04 ----------

Shadow Maker, можно в принципе прилепить экран к герою
тоже будет смотреться неплохо

diver
27.09.2012, 18:10
я побольше насчитал... надо будет в закоулках проверить..


RGB в ZX? попробую, вроде бы и подходит.
Ну да, как ты описал - 3 бита инк, 3 бита папер, 1 бит яркость, и самый старший бит не используется. Маску-то как конвертить, во что?

---------- Post added at 20:10 ---------- Previous post was at 20:09 ----------


уровень 4-й, где ракеты в ангаре - самый вредный, придется дообрезать..
Я тебе писал про этот уровень, но ты сказал, что уже обрезал. Очень удивительно, т.к. Там края надо перерисовывать и сокращать лабиринт.

goblinish
27.09.2012, 18:20
смотри изучай получилось очень мило
на то что для невидимости я беру данные с экрана не обращай внимания

Да, красиво. хороший вариант для целой аркады.
я уже думал, как обойти с невидимостями - просто проверкой условий.

---------- Post added at 18:18 ---------- Previous post was at 18:16 ----------


goblinish, а что не так с ракетами?
не влезают?

да, решаемо, в основном, верха уровня придется лишиться.
кстати, за ракетами там игрока не видно, как и в воде - еще одно поле "маски":)
и на первом уровне(я назвал 0, начальный) в лоб проверкой не обойдешь.

---------- Post added at 18:19 ---------- Previous post was at 18:18 ----------


Ну да, как ты описал - 3 бита инк, 3 бита папер, 1 бит яркость, и самый старший бит не используется. Маску-то как конвертить, во что?

да маска ерунда, решаемо. три строчки кода в конверторе)

---------- Post added at 18:20 ---------- Previous post was at 18:19 ----------


Я тебе писал про этот уровень, но ты сказал, что уже обрезал. Очень удивительно, т.к. Там края надо перерисовывать и сокращать лабиринт.

просто посмотрел на пустые поля и ошибся с устным счетом. Верхушкой решаемо.

diver
27.09.2012, 19:45
Так и не понял, пригодились мои конверсии или нет :(

goblinish
27.09.2012, 21:45
Так и не понял, пригодились мои конверсии или нет
Да, спасибо, я с яркостью кохаюсь. выложил карты тайл-редактора.
над втором уровнем - лажа, придется мучаться.
ну и некоторые уровни все равно придется дорисовывать. все лучше, чем ручками.

---------- Post added at 21:45 ---------- Previous post was at 19:58 ----------

Ценой долгих и непродолжительных потерь сократил уровень в высоту до 128 линий, остались размеры...

я над интро в Function столько не пыхтел...маску придется самому формировать.

jerri
27.09.2012, 21:54
goblinish, маску тоже можно урезать же

goblinish
27.09.2012, 21:57
goblinish, маску тоже можно урезать же

проще всего сформировать и дорисовать потом, надоел редактор - обрезаю две картинки параллельно, совмещаю - несостыковка, режу картинку в середине - лажа.

завтра с новыми силами надо сесть за новый код..

Shadow Maker
27.09.2012, 21:59
Shadow Maker, ну дык с точностью до знакоместа же выводится

[/COLOR]Shadow Maker, можно в принципе прилепить экран к герою
тоже будет смотреться неплохо
Ну понятно. Наверное экран к герою прилепить будет лучше все же.

diver
28.09.2012, 06:42
проще всего сформировать и дорисовать потом, надоел редактор - обрезаю две картинки параллельно, совмещаю - несостыковка, режу картинку в середине - лажа.

завтра с новыми силами надо сесть за новый код..

вот человек мучается. нет чтобы художников попросить, а самому кодом заняться %)

goblinish
28.09.2012, 07:08
вот человек мучается. нет чтобы художников попросить, а самому кодом заняться %)
лучше вечером помучаться, чем кодить поутру)

jerri
28.09.2012, 10:22
diver, ты нечасто просишь художников :)

goblinish
28.09.2012, 10:51
diver, ты нечасто просишь художников :)

он и сам с конверсией справился:v2_dizzy_roll:

начальный уровень пришлось отбросить, правда..

goblinish
28.09.2012, 11:15
немного исправлений:
- скролл с купола при прыжке не глючит.
- background - игрок за желтой полосой не виден
- события: при попадении на телепорт меняется либо бордер, либо телепорт отрубается.

вроде бы все.

jerri
28.09.2012, 11:30
goblinish, неплохо неплохо :)

goblinish
28.09.2012, 11:48
jerri, не знаешь, как в sjAsm можно данные в отдельные страницы запихать для снапшота?
я бы отладкой занялся, карты собрал в одну, а так - два уровня помещается в #c000, в описание инструкции page не врубаюсь.

Shadow Maker
28.09.2012, 11:53
Да просто пиши Page 0, Page 1 и т.п.

Типа

Page 0
org #c000
incbin "level1"
Page 1
org #c000
incbin "level2"

goblinish
28.09.2012, 12:14
Да просто пиши Page 0, Page 1 и т.п.

Типа

Page 0
org #c000
incbin "level1"
Page 1
org #c000
incbin "level2"

я когда демку писал, получил шиш. попробую, спасибо.

в общем, можно временно и в #8000 затолкать уровни на время, и закинуть в страницу, будет проще.

goblinish
28.09.2012, 15:21
Последний добитый уровень. раскраска не торт, конечно же.

осталось три в одно собирать..

jerri
28.09.2012, 15:37
цвета да :) цвета это 5

goblinish
28.09.2012, 15:49
цвета да :) цвета это 5

на нем две заморочки кроме цвета выявились)
позже..

goblinish
29.09.2012, 12:51
jerri, не пробовал оживить decrunching?
слишком долго ждать...
со страничками снапшота разобрался, теперь можно склеивать уровни все в одно.

jerri
29.09.2012, 14:52
goblinish, а надо? :) скажи как оживлю :)

goblinish
29.09.2012, 15:46
goblinish, а надо? :) скажи как оживлю :)

Да хотя бы в Out(#fe),a - звук и полоски с цветом.

я пробовал с hla процедурой - трэш и шум валится.

ждать просто лдолго, сам увидишь, хочется "Процесс".

jerri
29.09.2012, 16:02
ок
перед .rnc01
call show_bar

после .rnc22
call elem_bar

перед .getval
следующее

show_bar

ld hl,#5ae0
ld (hl),#38
inc l
jr nz,$-3
ret


elem_bar
ld a,(OutPtr+1)
rlca:rlca
and #1f
add a,#e0
ld l,a
ld h,#5a
ld (hl),#30
ret

diver
01.10.2012, 09:47
цвета да :) цвета это 5
А че, какие претензии к цветам? Это чистая конверсия в спековскую палитру с текстурами, цвета наиболее близкие подобраны.

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

goblinish
01.10.2012, 10:08
А че, какие претензии к цветам?

побегаете в темноте - сами увидите)

diver
01.10.2012, 10:16
побегаете в темноте - сами увидите)
а, ну да. в темноте с черным фоном - ваще круто :-D

goblinish
01.10.2012, 11:43
а, ну да. в темноте с черным фоном - ваще круто :-D
подсветка в округе неплоха)

---------- Post added at 11:20 ---------- Previous post was at 10:47 ----------

Блин, глюк в уровне 2)

никто не заметил. печалька..

---------- Post added at 11:43 ---------- Previous post was at 11:20 ----------

и еще headache: подсветку надо сохранять для начального уровня. блин:(

jerri
01.10.2012, 12:30
goblinish, по первому уровню
подсветка займет 128*128 бит=2048кб

просто перед загрузкой уровня проверяешь текущий уровень на стартовый
и если он стартовый то собираешь 7 биты в буфер
потом при загрузке восстанавливаешь 7 биты
по моему просто :)

goblinish
01.10.2012, 15:10
подсветка займет 128*128 бит=2048кб
Да итак можно страницу отвести. хотя 2048 достаточно имхо..

goblinish
01.10.2012, 17:06
последняя сборка - два уровня на первом этаже.
примочки - звук, подсветка куба, сохранение цвета оставлю на потом.

newart
01.10.2012, 17:30
А какую роль выполняют все эти миллионы оттенков и цветов? Чисто декоративную?

Нельзя разве сесть и в ручную отрисовать уровень, что бы не было такого хаоса?

goblinish
01.10.2012, 17:45
А какую роль выполняют все эти миллионы оттенков и цветов? Чисто декоративную?

какой из уровней тебя не устраивает?

jerri
01.10.2012, 17:55
goblinish, поменяй (OutPtr) на (Outptr+1) в процедуре отрисовки в депакере
а то некрасиво получается :(

goblinish
01.10.2012, 18:11
jerri, ok

---------- Post added at 18:11 ---------- Previous post was at 18:07 ----------

только не помогло особо-то..

jerri
01.10.2012, 18:22
goblinish, хммм а да :) rlca rlca поменяй на rrca rrca

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

когда я буду писать без глюков :)

goblinish
01.10.2012, 18:39
jerri,
ld a,(OutPtr+1)
;rlca:rlca;
rrca:rrca

остались только глюки на экране. самое досадное, что только атрибуты можно выводить..

jerri
01.10.2012, 21:24
goblinish, что за глюки?

goblinish
01.10.2012, 23:28
goblinish, что за глюки?
полоса нге полностью - первый и предпоследний атрибуты не заполнены.
черт с ним, с прогрессом...

jerri
01.10.2012, 23:32
goblinish,
тогда меняем заливку



ld hl,#5af0

ld (hl),#38 ;атрибут полоски
inc l
jr nz,$-3
ret


elem_bar
ld a,(OutPtr+1)
rrca:rrca:rrca
and #1f
add a,#e0
ld l,a
ld h,#5a
ld (hl),#30 ;атрибут красящий
ret

красятся теперь только правая половина строки

goblinish
02.10.2012, 18:07
Доделано сохранение подсветки на начальном уровне.
теперь кубики на уровнях 1 и 2 светятся.
но тормозит игра по жуткому, кмк.

только упорный проползет все готовое)

moroz1999
02.10.2012, 18:23
Я прополз, похоже на оригинал.

jerri
02.10.2012, 18:31
goblinish, внеси изменения вышеуказанные
а в чем она тормозит?

---------- Post added at 18:31 ---------- Previous post was at 18:24 ----------

2 уровня самых интересных не вошли :)

goblinish
02.10.2012, 18:43
2 уровня самых интересных не вошли
те, что с анимациями? там долго еще.


goblinish, внеси изменения вышеуказанные
упс,видел твой пост, но код не добавил.


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

goblinish
03.10.2012, 12:06
с депакером та же шляпа. перепишу код по-другому.

goblinish
07.10.2012, 09:42
Ерунда какая-то - игрок при прыжке на уровне 3 может смещаться в сторону, только так и реально перескочить несколько уровней.
поднявшись на эскалаторе, и хорошо разбежавшись, можно запрыгнуть фиг знает куда.

эпичный фейл:v2_dizzy_facepalm:

в снапшоте не раскраска, а унутренний мир..

jerri
07.10.2012, 14:29
goblinish, прыжок какойто не такой :(
и неверно работает подьемник

goblinish
07.10.2012, 17:18
прыжок какойто не такой
а в игре можно при падении влево и вправо перемещаться. вот и эксперимент.
тем более, что уровень до изменения кода вообще не пройдешь.


и неверно работает подьемник
на уровне тоже, вообще непонятно, как должен работать.
а что тут - при входе и на подъеме?

Alex Rider
29.10.2012, 20:37
Когда ж релиз?

kyv
29.10.2012, 23:20
Когда ж релиз? Автор игры забанен до 12.11.2012.

Alex Clap
30.10.2012, 11:03
За что ж?

jerri
30.10.2012, 11:05
Alex Clap, за то что много вопросов про игры задавал :)

denpopov
22.05.2014, 16:18
миль пардон за ап некротемы, пишу по просьбе Гоблина:

проект заморожен намертво, желающие могут найти исходники на WoS.