PDA

Просмотр полной версии : Нужно Exolon code source



goodboy
08.10.2014, 11:48
автор говорит что скорее всего исходники он выкинул.
и разрешает дизасм

http://zxspectrumsourcecode.com/raf/raf1.jpg

http://zxspectrumsourcecode.com/raf/raf2.jpg

denpopov
08.10.2014, 12:07
а в связи с чем такой интерес? дизассемблировать будет нелегко..

Shadow Maker
08.10.2014, 12:27
Да, в чем соль? Ну разрешил он дизассемблировать - как будто кому-то нужно было такое разрешение когда-либо :)

Vadim
08.10.2014, 13:04
Жаль конечно, что он выкинул свои исходники. "не думал, что это будет кому-либо интересно", ага, точно. То то люди ковыряют. Или адаптацию какую сделать, без исх ничего не сделаешь.

esl
08.10.2014, 13:12
Ага, на Вектор-06ц - перенесли
на БК - переписали ...

goodboy
08.10.2014, 17:43
наконец-то прояснилось происхождение слова `ZORBA`
навеяно музыкой из фильма «Грек Зорба» (англ. Zorba The Greek)

esl
08.10.2014, 17:53
наконец-то прояснилось происхождение слова `ZORBA`
навеяно музыкой из фильма «Грек Зорба» (англ. Zorba The Greek)

вообще легендарный на разные штуки фильм

Сиртаки - ни разу не народный греческий танец,
а как раз танец и музыка написаны для этого фильма

null_device
08.10.2014, 17:57
наконец-то прояснилось происхождение слова `ZORBA`

Что с них взять - дикие люди, дети гор. XD

http://www.youtube.com/watch?v=oWYHO1tLcqY

rasmer
08.10.2014, 19:01
Может конечно и боян, и не эксолон www.uelectronics.info/backup/zx-spectrum-games-disassembly.html
Со своей стороны могу предложить задизасменные аммитрис и ворм от хоум компутер мастер груп

Shadow Maker
08.10.2014, 22:21
Занни забыл.

esl
08.10.2014, 23:58
попалось однако
http://newagebegins.github.io/exolon/exolon.html
https://github.com/newagebegins/exolon

rasmer
09.10.2014, 09:17
Занни забыл.
Ага, ты первого, а я второго..
:-)

char
09.10.2014, 20:03
1. в каталоге diz запустить spediz.exe, нажать G для генерации исходника, выйти
2. запустить _compile.bat для ассемблирования
3. _start.bat - запуск откомпилированного в unreal'е
4. запуская spediz.exe и редактируя участки дизассемблирования - улучшать создаваемый исходник

удачи ;)

char
09.10.2014, 20:38
а, да, подсказка по командам есть в архиве:
ftp://ftp.worldofspectrum.org/pub/sinclair/tools/pc/SPEDIZ.zip

rasmer
10.10.2014, 00:17
Спасибо, КЭП!

char
10.10.2014, 02:32
Спасибо, КЭП!

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

rasmer
10.10.2014, 12:25
давно не встречался со столь вопиющей чорной неблагодарностью! все для людей, карта для кодового блока почти вся размечена, выкладен практически прямой готовый шаблон "как человеку с улицы надизассмить и тут же запускать себе на проверку игрушку любую", но ох и ах...чтобы человеку с улицы надизасмить игрушку любую, приложенным спедизом, надобно, чтобы человек достаточно свободно разбирался в спектрумовском асме. Да и спедиз далеко не 'умный' дизассемблер. Всё планирую запилить для него 'мозги' - программу на спеке которая будет для него готовить файл '$$$', пробегаясь по программе и отделяя исходный код от данных. :-)

Ах да, и ещё - я хамло редкостное. :-)

esl
06.11.2014, 16:41
ух он и тормозит местами !
(для прикола пробежал все уровни, безсмертность - изменить 1 байт)
звук в AY гонит всегда, не проверяя его наличия

нажатие 7890 - выход из уровня
удержание 3 - "покадравая" анимация

ram_scan
07.11.2014, 11:47
ух он и тормозит местами !
(для прикола пробежал все уровни, безсмертность - изменить 1 байт)
звук в AY гонит всегда, не проверяя его наличия


Он проверяет ПЗУ. Если не 82 год, то он считает что это уже 128 и выше, и AY на борту есть.

Поэтому если к фирменному 48 спеку AY прицепить то exolon будет все равно скрипеть на скрипер. А если на 48 спеке допустим стоит ПЗУ 90 года но нет АУ то он будет в пустоту дудеть.

SoftLight
07.11.2014, 12:04
ух он и тормозит местами !

Raffaele Cecco разработал эту игрушку в 19 лет. Местами да, что-то неоптимизировано.

ivagor
07.11.2014, 12:27
Он проверяет ПЗУ. Если не 82 год, то он считает что это уже 128 и выше, и AY на борту есть.

Поэтому если к фирменному 48 спеку AY прицепить то exolon будет все равно скрипеть на скрипер.
Может я что-то забыл, но это вроде касается только музыки на заставке. А эффекты в игре всегда воспроизводятся параллельно - и биперные и AYовые.

esl
07.11.2014, 13:15
Raffaele Cecco разработал эту игрушку в 19 лет. Местами да, что-то неоптимизировано.

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

---------- Post added at 12:15 ---------- Previous post was at 12:11 ----------


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

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

а с эффектами - во время игры очень мало beepер эффектов

а в AY значения пишуться без проверки его наличия
и AY эффекто в разы больше.

esl
11.11.2014, 12:00
разобраные уровни и спрайты ...
https://www.dropbox.com/sh/nz8synxzxifcbfx/AACXuVwEs-vtn9-r8zDvf8gwa?dl=0

esl
13.11.2014, 17:08
обновил в папочку, теперь там все вытянуты данные
на карты добавил траектории врагов и их спрайты если они есть.

особенно понравились траектории врагов (всего их 6, они там есть на отдельных скринах)

49886
49887
49888

в последней он некоторое время ездит ввер-вниз перед полётом вперёд

а с круглой бывает что выходит за грницы экрана и враг исчезает.

goodboy
13.11.2014, 17:12
esl, а ты на форуме WoS зареган ?

esl
13.11.2014, 17:14
esl, а ты на форуме WoS зареган ?

не, а что там интересного ?
типа всё это уже есть давно ? ;)

goodboy
13.11.2014, 17:21
не, а что там интересного ?
типа всё это уже есть давно ? ;)
я в плане передачи собранной тобой информации Раффу

esl
13.11.2014, 17:35
зарегался там, но постить пока не даёт ;)
можно туда выложить ссылку выложить, вдруг что полезного увидят.

goodboy
13.11.2014, 17:36
можно туда выложить ссылку выложить, вдруг что полезного увидят.
отправил ссылку челу который контактирует с Раффом

esl
01.12.2014, 00:42
Народ, я этот exolon таки дизассемблировал.
Теперь бы помощь зала пригодилась.

Сейчас оно в состоянии разобранного по +-функциональным блокам.

компилится и работает

поряка 360к текстов.
компилится zmac в .Sna

Там еще все надо серьезно ревьювить
ибо многое было названно - как показалось в момент разбора : -)

Есть желающие поревьювить?

balu_dark
01.12.2014, 02:41
а код вместе с файликами из пары постов сверху - можно перевыложить?

esl
02.12.2014, 13:45
открываю рабочий репозиторий ;)
пожалуйста пока не публикуйте ссылки за пределы форума
хочется причесать исходники а уж активно продвигать их в приличном виде

https://bitbucket.org/esl/exolon-zx

вопросы - задавайте

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

если кто-то активно опишет graphics_sprites_code_*.asm было бы полезно
это отрисовка спрайтов
16x16 и 24x32 с учётом "непрозрачных" блоков
с 8x8 вроде всё ясно ;)

для ускорения там потенциал .....

esl
02.12.2014, 13:45
открываю рабочий репозиторий ;)
пожалуйста пока не публикуйте ссылки за пределы форума
хочется причесать исходники а уж активно продвигать их в приличном виде

https://bitbucket.org/esl/exolon-zx

вопросы - задавайте

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

если кто-то активно опишет graphics_sprites_code_*.asm было бы полезно
это отрисовка спрайтов
16x16 и 24x32 с учётом "непрозрачных" блоков
с 8x8 вроде всё ясно ;)

для ускорения там потенциал .....

esl
11.12.2014, 01:35
можно сказать что "темных пятен не осталось"
и видимо народу это не нужно ;)

p.s. я не кодер, а особенно на ZX, по этому всё субъективно

забавные факты.

игра - 48к
если пустили на 128 (определили по байтику пзу)
то на заставке или 48 музыка до нажатия, или музыка AY на фоне меню
не по прерываниям ;)

эффекты на AY выводятся не зависимо от его наличия.

синхронизации НЕТ ВООБЩЕ
главный цикл, из него поочереди вызываем всё по кругу

все спрайты выводятся XOR

спрайты игрока 24x32 при повороте право/лево in place "поварачиваются"

большие спрайты (16x16 & 24x32) кое в чём забавно

алгоритм
на вход кроме x,y,spriteid передаем еще адрес буфера
для начала сдвигаем нужный нам спрайт в буфер на нужное кол-во бит
далее на этот буфер накладывем маску видимости побайтно (точнее то что под фоном становится =0)
далее стираем xor старую картинку (из буфера что хранения)
отрисовываем новую из рабочего буфера
копируем рабочий буфер в буфер хранения

вроде так ;)

для мелких спрайтов 8x8 - для начала они preshifted
и выводятся поверх картинки без учёта прозрачночти

пули играка - не спрайты

bigral
11.12.2014, 10:32
синхронизации НЕТ ВООБЩЕ


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

esl
11.12.2014, 12:14
?? оно бы мигало не по детски и в разных местах... или там есть какая-то хитрость с выводом что позволяет избежать\облегчить влияние дефектов анимации?

ню, я не эксперт, для этого и просил посмотреть спецов
но прерывания - запрещены ;)

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

какие еще способы есть кроме halt и прерываний ?

вот еще, раставил в главном цикле такой код

;ESLDBG
ld a,4
out (0xfe),a
;ESLDBG
call move_player
;ESLDBG
ld a,0
out (0xfe),a
;ESLDBG

вот как выглядит

Reobne
11.12.2014, 12:21
bigral, отвечаю, как понимаю, исходники не изучал.

далее стераем xor старую картинку (из буфера что хранения)
отрисовываем новую из рабочего буфера
Мерцание произойдёт, если в этот, когда меняется данный персонаж(а он меняется быстро, ведь всё заранее подготовлено), луч монитора будет отрисовывать это место. Вероятность совпадения мала. Мерцание будет детское. :)

esl
16.12.2014, 01:36
Исходники официально считаю открытыми ;)

https://bitbucket.org/esl/exolon-zx

Еще немного причёсаны.

Если кто чего найдёт - велкам.

На вопросы тоже готов ответить пока помню

michellekg
16.12.2014, 02:50
можно сказать что "темных пятен не осталось"
и видимо народу это не нужно ;)

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

Но я не кодер (точнее, кодер, но так себе и вообще не под zx), поэтому вынужден ждать и надеяться на лучшее.

А если бы кто-нибудь сделал сиквел или хотя бы портировал уже имеющийся (http://www.zxgames.com/en/exolon.shtml), - было бы вообще шикарно.

Eagle
16.12.2014, 10:51
А если бы кто-нибудь сделал сиквел или хотя бы портировал уже имеющийся (http://www.zxgames.com/en/exolon.shtml), - было бы вообще шикарно.
Страхолюдная графика какая-то.
Есть уже http://retrospec.sgn.net/game/exolon Не сиквел, но графика ближе к оригинальной.

Vadim
16.12.2014, 11:43
У меня такие предложения по Exolon'у. Если есть возможность оптимизировать вывод спрайтов - сделать это (я не смотрел ещё исх). Если не хватает непрерывного ОЗУ - можно ж вариант под +2А/+3 сделать, там поле 64К. Допилить уровней опираясь на старую графику, что бы все скрины были уникальными, без повтора в конце. 128К должно хватить. Если дорисовать спрайтов в стиле Exolon - было бы замечательно, но проблема с художниками. Можно было бы музыку в меню заменить на ту, которая в ПЦ ремейке (не в том, что 2 части), но это только mp3 играющий через карту (вроде уже такое есть?). Ещё вариант, сделать римейк мелодии на Turbo AY или SAA. Или на AY 2203 совместно с FM. Ещё вариант, использовать палитру для раскраски отдельных скринов. И палитры Профи хватит и АТМ. На прочих машинах как и ранее, без палитры. Можно улучшить озвучку AY, что бы взрывы были более похожи на взрывы.

esl
16.12.2014, 12:35
еще пару коментариев на свежую голову

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

и по теме.

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

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

синхронизации нет,
прерывания ни используются
AY эффекты играют - в основмном цикле несколько вызовов doPSG

код не использует ПЗУ
не, в одном месте он читает один байт чтобы поставить флаг ZX128
а не, опять забыл про задержку ;)

; BC

_delayLDIR:
push bc
push de
push hl
ld hl, 0
ld de, 0
ldir
pop hl
pop de
pop bc
ret


ну и используем, например в основном цикле игры

ld bc, 500
124: call _delayLDIR

из "оптимизаций по размеру"
то что не явное ;)

куча данных используется только при построении уровня
их можно держать сжатыми и разжимать по необходимости.
zone_blocks, perl_level_enemy_tab, level data, FONTS
это больше 10к

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

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

в коде при выводе спрайтов увеличивают счётчик,
и есть такой код (он выводит фейковые спрайты на экран если на экране их меньше заданного)


CompensateSprites8x8preshifted:

ld a, (Sprites8x8_OnScreen_count)
cp 16
ret nc
ld b, a
ld a, 16
sub b
ld b, a
ld a, 6 ; 6 - Boom5 - Empty?

loc_9E92:
call Sprite8x8_XOR_Preshifted
djnz loc_9E92
ret

; ---------------------------------------------------------------------------
Sprites8x8_OnScreen_count:db 0

CompensateSprites16x16:

ld a, (Sprites16x16_OnScreen_count)
cp 6
ret nc

ld b, a
ld a, 6
sub b
ld b, a
if FIX_SPRITE16x16COM = 1
ld hl, SPR_COMP
else
ld hl, byte_B101
endif

xor a

if FIX_SPRITE16x16COM = 1
ld de,0
endif
loc_9EA8:
call Sprite16x16 ; A sprId (00..45)
; D - Y (0..192)?
; E - X (0..255)
; HL - saveSpriteArea
;
djnz loc_9EA8
ret

; ---------------------------------------------------------------------------
Sprites16x16_OnScreen_count:db 0

так CompensateSprites16x16 - вызывается
но инкрементировать Sprites16x16_OnScreen_count - забыли


вот "карта" памяти, по lst файлу
основные блоки "данных"


4000 screen
5800 attr

5b00 over_player_tab
5e00 ATTR_TABLE_COPY
6100 no_walk_tab
6400 bitSwapTab
6500 Y2SCR_HI
6600 Y2SCR_LO
6700 scr_addr_8 (2x256)
----- ~3583
6D60 code start

71ED highscore table
750E ----- ~ 800

7D4D beeper music+code
807D ---- ~ 816

84FB zone_blocks
8DC2 ---- ~2247

A3D3 trajectory
A4D5 ----- ~ 258

A644 per_level_enemy_tab ----- ~ 351
A7A3

A92E xMessages
AB61 ----- ~ 563

B0A8 sprite buffers
B678 ----- ~1488

B678 PSG related code
C79A ----- ~4386

C79B level data
D886 ----- ~4331

D887 "FONTS"
ECE6 ----- ~5215

ECE7 SPRITES
FEB6 ----- ~4559

michellekg
16.12.2014, 13:00
Страхолюдная графика какая-то.
Есть уже http://retrospec.sgn.net/game/exolon Не сиквел, но графика ближе к оригинальной.


Ну я про это и не упомянул, потому что толку от него? Уровни те же.

Eagle
16.12.2014, 13:35
Можно улучшить озвучку AY, что бы взрывы были более похожи на взрывы.
Тогда уж сразу под NeoGS всё делать.

michellekg
16.12.2014, 18:46
Тогда уж сразу под NeoGS всё делать.

Влезу со своими никому не нужными пятью копейками — мне кажется, что при наличии полноценного и хорошего ремейка Exolon под PC и даже Мак (который DX, вы про него говорили) уводить спектрумовский Exolon в сторону от полной совместимости с обычными 48К-128К-машинами не стоит.

Как-то было бы куда приятнее, если бы появилась версия для условного фирменного 128К (ну и пентагона), которая бы выжимала все соки из него и AY, а не юзала бы более современными прибамбасы.

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

А тем временем сам Рафаэль Кекко в восторге от работы. Вот что пишет (esl наверняка уже в курсе, но я для остальных):


Боже мой, он там во всём прям досконально разобрался!

И в первом же файле я, кажется, нашёл баг в своей процедуре. Ха, ничего удивительного!

Здорово — я как раз хотел что-нибудь почитать на Рождество, и моё желание сбылось. Поразительно, конечно. Передавайте мои поздравления и благодарность Сергею.

Вам тоже хорошего Рождества — лично я в этом году плюнул на «реальные» магазины и всё делал в онлайне.

Спасибо.

Оригинал:
http://www.worldofspectrum.org/forums/showpost.php?p=807614&postcount=45

esl
19.12.2014, 18:57
Буловался тут, визуализировал переходы "курсора" при отрисовке
получилось пару прикольных картинок

разные "стрелочки" -> разные переходы
blue - gotoXY
pink - (y+1,dx)
brown - (dy,dx)
красные квадраты -> начало отрисовки "блока" (или основной или подпрограммы так сказать)

http://zx-pk.ru/attachment.php?attachmentid=50336&d=1419004572
http://zx-pk.ru/attachment.php?attachmentid=50337&d=1419004580

EXOLON тоже забавно
левая половина
правая половина
и нижний хвостик

esl
19.12.2014, 20:49
Влезу со своими никому не нужными пятью копейками — мне кажется, что при наличии полноценного и хорошего ремейка Exolon под PC и даже Мак (который DX, вы про него говорили) уводить спектрумовский Exolon в сторону от полной совместимости с обычными 48К-128К-машинами не стоит

Он написан достаточно модульно.
перенос на любой z80 будет не особо сложным

в Retro Gamer #135 (p.33-35) есть интервью Раффа про EXOLON

"... конверсия на Amstrad CPC была очень простой (deadly simple)
она заняла несколько дней.

перерисовал графику в меньшем разрешении и большем кол-вом цветов
переписал продцедуры спрайтов и slotting in the sound effects.
остальной код - идентичный."

на zx спрайты главного героя делал аниматор ;)
(c одной пушкой)
с двумя это уже модификация

drbars
22.12.2014, 14:04
Вот точный ремейк под html5 http://newagebegins.github.io/exolon/exolon.html

esl
22.12.2014, 14:19
Вот точный ремейк под html5 http://newagebegins.github.io/exolon/exolon.html

;)
http://zx-pk.ru/showpost.php?p=743488&postcount=11

похоже достаточно точный,
интересно, автор тоже дизассемблил ?

denpopov
22.12.2014, 14:36
традиционно дизасм был в IDA, база в проекте
там же тулзы которые использовал для визуализации графики.

какие тулзы для IDA?

esl
22.12.2014, 15:59
какие тулзы для IDA?

??
гм, не понял вопроса.

denpopov
22.12.2014, 16:31
Значит я твою фразу не понял..

esl
22.12.2014, 16:39
Значит я твою фразу не понял..

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

всё исходники всего есть в репозитории .

balu_dark
22.12.2014, 19:52
esl он вероятно имел ввиду скрипты или программы которые помогли выкусить графику.

esl
22.12.2014, 20:07
esl он вероятно имел ввиду скрипты или программы которые помогли выкусить графику.

вот я и удивляюсь

вся графика есть в PNG ;)
и тулзы которые её отрисовывают.

EXOLON-ZX/tools/rb/png/
(https://bitbucket.org/esl/exolon-zx/src/5701abe28f1d5b668beab141c6bca5baac31cf4e/tools/rb/png/?at=default)

balu_dark
22.12.2014, 22:38
вероятно он хотел то чем ты брал из дампа и пихал в png
обычно это делает или самописная прога или скрипт idc. ну или в новой IDA PHP или чего там к ней пришпандолили для скриптов.

esl
23.12.2014, 00:32
вероятно он хотел то чем ты брал из дампа и пихал в png
обычно это делает или самописная прога или скрипт idc. ну или в новой IDA PHP или чего там к ней пришпандолили для скриптов.

а я так и беру и пихаю в png ;)
из дампа памяти - строю картинки - интерпретируя все структуры и функции ;)

именно самописные скрипты на руби ;)))

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

balu_dark
23.12.2014, 00:43
Ну предполагаю что он просил то что на руби :) Хотя как по мне - проще написать самому и свое. Данных более чем достаточно!

esl
23.12.2014, 01:09
Ну предполагаю что он просил то что на руби :) Хотя как по мне - проще написать самому и свое. Данных более чем достаточно!

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

CityAceE
11.04.2016, 02:59
Мне нужны были исходники для портирование его на другую платформу ;)
Удалось ли в итоге портировать игру и что за целевая платформа была?

SaintTurnip
19.01.2019, 02:31
Полагаю, Корвет 8020. Сергей много делал для Корвета.

Skurikhin
27.01.2019, 15:19
Моя первая игра которую я играл на ZX Spectrum'e. :)

goodboy
09.04.2019, 21:44
нашёлся баг в игре
"game crashes when the player jumps up from a platform near the top of the screen"

krt17
09.04.2019, 21:48
нашёлся баг в игре
Да нашелся, лет так 30 назад, а может и раньше. Легко словить умерев во время прыжков на верхних переходах, всегда опасались прыгать сверху, убьют придется загружать заного.

Spectramine
09.04.2019, 22:33
Я его ловил пару раз, даже rzx тут выкладывал.

ALKO
18.05.2020, 15:32
А как в эхолоне происходит обновление экрана?
Комп предыдущие позиции спрайтов очищает познакоместно? Не весь экран затирает ведь?
Как рендерится передний план? Каждый кадр ли рисуется, или на момент пересечения его персонажем?

ivagor
18.05.2020, 15:53
Познакоместно выводятся только тайлы, спрайты рисуются построчно.
Тайлы трогаются только когда их нужно изменить, процедуры вывода спрайтов (16x16 и 24x32) сами следят, чтобы обходить тайлы. Спрайты 8x8 просто XORятся поверх тайлов.

ALKO
19.05.2020, 11:41
Познакоместно выводятся только тайлы, спрайты рисуются построчно.

Значит все крупные объекты pre-shifting? Ясно. А шлейф через каждые 8 пикселей затирается пустым знакоместом?

- - - Добавлено - - -

Ещё интересно, каким принципом запакованы тайлы.

goodboy
19.05.2020, 11:52
процедуры вывода спрайтов (16x16 и 24x32) сами следят, чтобы обходить тайлы. Спрайты 8x8 просто XORятся поверх тайлов.
а чем спрайт отличается от тайла ?

ivagor
19.05.2020, 11:59
Preshifted только спрайты 8x8. 16x16 и 24x32 сдвигаются на сколько нужно.
Вывод и стирание спрайтов - xor.
Упаковки спрайтов или тайлов каким-либо rle или lz упаковщиком нет. Тайлы хранятся в виде "шрифтов", и разными "шрифтами" выводятся сообщения и рисуются все объекты (кроме спрайтов). "Объекты" (да и сообщения, фактически для игры это одно и то же) включают в себя задание используемого шрифта, цветов, порядок рисования, специальные пометки.

- - - Добавлено - - -


а чем спрайт отличается от тайла ?
Это вопрос почти философский. Но я не хочу вдаваться в философию и применительно конкретно к эксолону напишу - тем, что они выводятся разными процедурами. Т.к. внутри в коде эксолона указаний - "это тайлы", "а это спрайты" нет, то я называю тайлами графику, которая выводится с дискретностью 8 точек по X и по Y, а спрайтами - с дискретностью 2 точки по X и 1 по Y.

^m00h^
18.09.2023, 23:26
Ссылки на dropbox уже 404. Кто-нить забекапил этот дизасм ? Выложте плиз.

Bedazzle
19.09.2023, 20:04
Ссылки на bitbucket уже 404.

Печально. :(

Rus
19.09.2023, 22:37
Ссылки на dropbox уже 404. Кто-нить забекапил этот дизасм ? Выложте плиз.

Пожалуйста https://disk.yandex.ru/d/oUsGcoBh9hb07w
Клонировал на GitHub: https://github.com/rusarh/exolon-esl
(https://github.com/rusarh/exolon-esl)

ivagor
20.09.2023, 06:37
Наработки ESL лучше искать в корветовской теме (https://zx-pk.ru/threads/27747-sergeya-erokhina-(esl)-bolshe-net-(.html?p=1098017&viewfull=1#post1098017)

Froggy
22.11.2023, 10:07
Поиграв в EXOLON я был уверен, что обязательно появится вторая часть. В 90-ые даже искал ее на различных сборниках и в журналах.
Игра была мега-популярна. Сделать вторую часть на том же движке было логичным решением (срубить бабла по-быстрому на волне успеха).
Достаточно изменить графику, добавить новые фишки по типу прокачки главного героя и новый хит готов.

goodboy
22.11.2023, 11:09
Достаточно изменить графику, добавить новые фишки по типу прокачки главного героя и новый хит готов.
сходу вспоминаются игры типа Yeti / Shuriken , но они явно хуже

Black Cat / Era CG
22.11.2023, 11:57
Игра была мега-популярна.Однако ни в один из 2 топов (100) Your Sinclair игра не попала. А в топе CRASH занимает 80 место. Так что возможно безоговорочным хитом, она была у нас, а в Британии не очень. Хотя пишут, что приняли ее хорошо. Странно.

Sandro
22.11.2023, 14:43
Он красивый, но ... единообразный. И бесконечный, в нём концовки нет вообще. Возможно, это сыграло роль.

Froggy
22.11.2023, 19:44
Он красивый, но ... единообразный. И бесконечный, в нём концовки нет вообще. Возможно, это сыграло роль.

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



Однако ни в один из 2 топов (100) Your Sinclair игра не попала. А в топе CRASH занимает 80 место. Так что возможно безоговорочным хитом, она была у нас, а в Британии не очень. Хотя пишут, что приняли ее хорошо. Странно.
В Британии несколько другие критерии в оценке игр. Они там любят Wally.

goodboy
22.11.2023, 19:56
впервые узнал (из журнала) что за прохождения этапа без скафандра дают 10.000, а с ним 1000