PDA

Просмотр полной версии : Выкладывал ли кто-нибудь исходники фирменных игр?



PATHNK
07.05.2014, 23:15
Интересует выкладывал ли кто-нибудь из авторов исходники зарубежных фирменных игр?

SoftLight
08.05.2014, 00:07
Интересует выкладывал ли кто-нибудь из авторов исходники зарубежных фирменных игр?

Конечно. Cabal (http://zx-pk.ru/showthread.php?t=18157&highlight=%E8%F1%F5%EE%E4%ED%E8%EA).
Midnight Resistance (http://zx-pk.ru/showthread.php?t=19022)

Buyan
08.05.2014, 00:08
Buggy Boy и Chain Reaction были: http://web.archive.org/web/20050317025350/maz.spork.dk/src/index.html

DenisGrachev
08.05.2014, 07:53
Много игр дизассемблировали и прокомментировали. Например:

Manic Miner (http://www.seasip.demon.co.uk/Jsw/manic.mac)
Skool Daze (http://pyskool.ca/disassemblies/skool_daze/index.html)
Back To Skool (http://pyskool.ca/disassemblies/back_to_skool/index.html)
Knight Tyme (http://community.dur.ac.uk/philip.anderson/disassemblies/knight-tyme-48k/)

Вот тут (http://www.worldofspectrum.org/forums/showthread.php?t=45260&highlight=disassembly) есть подборочка.

Vadim
08.05.2014, 09:12
Исходники это хорошо. Как минимум можно сделать порт на чуть менее другую платформу, с изменением графики (например под расширенные экранные режимы АТМ или Профи), можно сделать "ремикс". Можно сделать порт на +3/2A с более быстрой графикой (смотрим тему про то, почему 128К игры убогие). Можно использовать в обучающих целях. Очень полезная штука - исходники.

Rindex
08.05.2014, 10:26
Некоторые игры от Retroworks с исходниками - http://www.retroworks.es/php/juegos_en.php

Alex Rider
08.05.2014, 10:55
Не буду загадывать, если энтузиазм не угаснет (как это часто бывает), в течение лета появятся сырцы Saboteur 2. Есть желание его реверснуть, разогнать и переозвучить (а может быть, портировать на под другие видеорежимы). Пока только главное меню отреверсил за неделю.

Shadow Maker
08.05.2014, 10:58
Как-то ты медленно реверсишь. Надеюсь через IDA Pro?
Если нет, то советую, ускоряет реверсинг намного.

Alex Rider
08.05.2014, 11:03
Через IDA Pro. На по часу в день получается. :) Плюс, я сразу комментирую. Плюс, IDA Pro осваивал. И на плеер музыки убил кучу времени не понятно зачем, все равно хочу его выкинуть. Но да, скорость печалит.

denpopov
08.05.2014, 11:05
Как-то ты медленно реверсишь. Надеюсь через IDA Pro?
Если нет, то советую, ускоряет реверсинг намного.
ну отреверсить в Иде недолго, чтобы добиться работоспособности. А вот разобрать исподник и пополнить его комментариями - это долго..

Shadow Maker
08.05.2014, 11:09
Да, я это и имел ввиду. Многовато неделю на меню-то, даже если каждую строчку комментировать.

Я вообще стараюсь не комментировать, а давать длиннющие, но автоматически понятные метки.

Alex Rider
08.05.2014, 11:15
Многовато неделю на меню-то
Ну смотри - за неделю разобрано и откомменчено: копирайты, само меню со спрайтом, смена миссии, печать таблицы рекордов, redefine, плеер, чтение параметров миссии и вывод описания, вывод статики в нижних строках, кое-какая инициализация попутная. Это примерно за 6 часов. Да, хотелось бы быстре, конечно, но как есть...

Vadim
08.05.2014, 11:41
У меня примерно неделя уходит на получение вменяемого исходника, где данные оформлены правильно, т.е. с таблицами переходов и т.д. И месяц, на окончательный разбор с комментами всего кода и данных. По времени в день не скажу сколько - сколько есть. Или час или три или 15 мин.

SoftLight
08.05.2014, 12:28
Vadim, неделя то это на что? на одну игру?

Vadim
08.05.2014, 12:41
неделя то это на что? на одну игру?
Да, или игра или какая-нибудь программа. Т.е. код до 5К примерно (остальное данные). Если код сложный и/или большой при этом, то исх делать чуть дольше и то, по мере "раскрытия" его, комментирования, находятся моменты упущенные ранее, т.е. исходник уточняется.

Alex Rider
08.05.2014, 12:43
У меня примерно неделя уходит на получение вменяемого исходника, где данные оформлены правильно, т.е. с таблицами переходов и т.д. И месяц, на окончательный разбор с комментами всего кода и данных.
Я делаю все параллельно, насколько возможно. Ибо в моем случае вменяемый исходник без комментариев и именования каждой ссылки не нужен, я хочу понимать весь код и данные.

jerri
08.05.2014, 12:46
Vadim, я тебе гарантирую с саботерами ты провозишься дольше. Там психоделическая отрисовка карты. а уж как они выводят экран это вообще песня. можно сделать проще.

Alex Rider
08.05.2014, 12:48
можно сделать проще.
Это одна из целей. Проще и быстрее. Психодела насмотрелся даже в меню и в статике в нижней части экрана.

Vadim
08.05.2014, 12:52
Я делаю все параллельно, насколько возможно.
Ну дело в том, что можно большую часть текста сформировать особо не понимая, что там делается, нет, конечно определенные вещи видишь сразу, что тут это, тут то, тут другое, но детально всё равно не скажешь, есть там ошибка или нету, задается куда именно что и как. Т.е. видишь что код делает и всё. Сначала я делаю просмотр дампа в отладчике, потом быстрый дизасм и выделяю основные диапазоны с данными, потом делаю первый дизасм. Смотрю его, не ставить же комменты, текст этот будет удалён. Если при первом просмотре нашёл ещё несколько крупных блоков с данными - просто обновляю инфу о данные и заново получаю текст, и его уже начинаю комментировать и разбирать. Да, во вермя комментирования ещё бывает приходится код менять на данные и наоборот, но тут уже без повторного пересоздания текста. Вручную.

---------- Post added at 14:52 ---------- Previous post was at 14:48 ----------


я тебе гарантирую с саботерами ты провозишься дольше.
Вполне допускаю это. Код бывает разный. Если человек пишет впервые - качество соответствующее. Как вот бут - ZYX. Смотришь на него, с мыслью - "исправлять надо", но написан он так, что исправление выльется на 80% в другой код. Всё не так как надо написано. Это же самое можно сделать лаконичнее, понятнее и быстрее по времени исполнения

Alex Rider
08.05.2014, 12:58
Да, во вермя комментирования ещё бывает приходится код менять на данные и наоборот, но тут уже без повторного пересоздания текста. Вручную.
Вот этим в основном я и занимаюсь. Комментирование и ручное наставление IDA Pro.

denpopov
08.05.2014, 13:06
Vadim, я тебе гарантирую с саботерами ты провозишься дольше. Там психоделическая отрисовка карты. а уж как они выводят экран это вообще песня
а сколько тебе понадобилось на разбор этой игры?

jerri
08.05.2014, 16:46
denpopov, я ее не разбирал досконально. Меня интересовало как они спрайты используют. но вот такая схема разворота байта меня убила насмерть.



push bc
ld b,a
ld a,(n96f4_flip_flag)
or a
ld a,b
pop bc
ret z
ld (flip_0+2)
push ix
ld ix,flip_table
flip_0 ld a,(ix+0)
pop ix
ret

Titus
08.05.2014, 16:59
denpopov, я ее не разбирал досконально. Меня интересовало как они спрайты используют. но вот такая схема разворота байта меня убила насмерть.


Может компилятор? )

Alex Rider
08.05.2014, 17:39
Может компилятор? )
Не, судя по уже разобранному, это не компилятор. Там зачастую используются значения регистров от прошлых вызовов, например.

---------- Post added at 17:39 ---------- Previous post was at 17:37 ----------


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

denpopov
08.05.2014, 17:51
Очень уж тормрзно для трех движущихся спрайтов, пусть и больших, на экране.
если речь зашла о саботере, то Saboteur 2 сам по себе тормоз:) Первый - нет.

Vadim
08.05.2014, 19:31
Меня, собственно, начала напрягать скорость игры.
У меня тоже была мысль декомпилить её, кривизну выправить. Ессно нет времени, руки не доходят, куча не сделанного без неё. Но вот какая мысль. Ну вот, получишь ты хороший исх. Продумаешь всё. Перепишешь процедуры вывода спрайтов, ещё что. А игра сохранит свой дух? Я вот не уверен. Аналогия от Universal Hero, Ремикса на ПЦ, в который играть абсолютно не хочется. На ZX игра сделана именно так, как сделана только из-за того, что есть определённые аппаратные ограничения, на ПЦ их нет - игра шлак. С Саботёром примерно так же. Сделать можно вывод спрайта правильный, фаз движения добавить для более гладкой анимации, а играть будет так же интересно? Или нет? Может это убьёт игру?

goodboy
08.05.2014, 20:16
не удержался и тоже мельком глянул код, как оказалось сама игра даже без IM2 :v2_eek:

Alex Rider
08.05.2014, 20:28
На ZX игра сделана именно так, как сделана только из-за того, что есть определённые аппаратные ограничения,
Для начала те же самые ограничения и останутся :) Просто игра будет пошустрее. Или ты правда думаешь, что шарм Саботера - это разная скорость движения героя в зависимости от количества врагов на экране, и, если это пофиксить, релиз будет не играбельным?

Может это убьёт игру?
Убить оно вообще никак не может. Есть оригинал, играйте как привыкли, никто не запрещает. Да и я, собственно, не рассчитываю на то, что ускоренный релиз вызовет массовые "игровые запои" в мире. Мне это просто интересно.
Пока четких планов на что-то, кроме ускорения игрового цикла и опциональной переозвучки нет. Будет интерес - буду думать.

---------- Post added at 20:28 ---------- Previous post was at 20:25 ----------

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

Vadim
08.05.2014, 23:42
А, если переделать карты, миссии, добавить всяких новых объектов - так может и возникнет у кого интерес пройти это?
Вот тут я сомневаюсь, что у народа возникнет желание. Описал выше, почему... Сделать Саботёр 3, но так, что бы он был продолжением, не на голову выше - да. Это будет интересно. Что бы это было бы на ZX но с хорошим сюжетом и связанно с предыдущими играми.

---------- Post added at 01:40 ---------- Previous post was at 01:30 ----------


Просто игра будет пошустрее. Или ты правда думаешь, что шарм Саботера - это разная скорость движения героя в зависимости от количества врагов на экране, и, если это пофиксить, релиз будет не играбельным?
Если сделать печать спрайтов быстрее, то:
1) Много миссий можно будет пройти без напрягов
2) Когда комнаты проходятся в 2 или 3 раза быстрее, то и игрок не будет задумываться над запоминанием оных. Все мы знаем, что комнаты в игре на 99% похожи, но в случае быстрого бега, их вообще никто запоминать не будет. Без карты никак

---------- Post added at 01:42 ---------- Previous post was at 01:40 ----------

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

esl
08.05.2014, 23:52
Тема интересная, давайте ее перенсем в отдельный топик ?
откусить хвост этой в новую

Alex Rider
09.05.2014, 00:03
1) Много миссий можно будет пройти без напрягов
Думал про это. Можно и таймеры подкрутить для особых ценителей :) Заодно хоть последняя миссия будет проходима без хаков всяких.

Когда комнаты проходятся в 2 или 3 раза быстрее
Эм... Я не волшебник, да и разогнанная в 3 раза игра не играбельная ни разу, шибко быстро все будет :) А про запоминание карты - тут кто как хочет, тот так и ... Опять же, игрушка олдскульная и популярная, нужная для ностальгии преимущественно. Собсна, сама идея-то у меня возникла то того, что, решимши переиграть надысь, понял, что бесит тормозами и тишиной. Покрутил скорость в эмуле разок-другой, да полез качать IDA Pro :)

---------- Post added at 00:03 ---------- Previous post was at 00:02 ----------


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

ZX_NOVOSIB
09.05.2014, 00:13
Уважаемые товарищи кодеры! Извините за наглость, но не мог бы кто-нибудь из вас взять вот отсюда (http://zx.pk.ru/attachment.php?attachmentid=47740&d=1398777044) 5-ую версию Дизии, и вот эту 4-ую (http://vtrdos.ru/translat/DIZZY_4R.ZIP) и сделать в них не 3 жизни, а 5?

Хочу сделать подборку проходимых русских Диззей, и чтобы без бессмертия. Уже можно сделать и выложить в SCL, но IV и V часть очень сложные. 3 попытки мало. С бессмертием не интересно. А 5 - в самый раз :v2_smile:

Alex Rider
09.05.2014, 00:18
Для ценителей Саботеров - современная аранжировка (https://soundcloud.com/search?q=Marcel%20Donne%20-%20Saboteur%202%20Revisited) темы.

Rindex
09.05.2014, 00:42
Сделать Саботёр 3

Уже кто-то пытался, да всё и заглохло. Читать отсюда (http://zx.pk.ru/showthread.php?p=584336#post584336). Ссылка там будет чуть ниже, через пару постов.

http://savepic.net/5388268.gif

Alex Rider
09.05.2014, 11:45
Уже кто-то пытался
Выглядит убого. Спрайт героя, похоже, прямоугольный, выводится без маски.
----------------------------------------
А, не, вру. С маской. Но все равно убого.

denpopov
09.05.2014, 11:55
Уважаемые товарищи кодеры! Извините за наглость, но не мог бы кто-нибудь из вас взять вот отсюда 5-ую версию Дизии, и вот эту 4-ую и сделать в них не 3 жизни, а 5?

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

---------- Post added at 11:55 ---------- Previous post was at 11:54 ----------


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

jerri
09.05.2014, 12:21
Рискну предположить что эта графика никакого отношения к саботерам вообще не имеет.

goodboy
09.05.2014, 12:30
Рискну предположить что эта графика никакого отношения к саботерам вообще не имеет.
имеет,имеет
автор только другой

jerri
09.05.2014, 12:35
goodboy, У саботеров есть автор, и он сделал отличную игру. а вот эта графика ничуть атмосферу игры не отражает. Потому игру и не сделали я так понимаю.

goodboy
09.05.2014, 13:13
goodboy, У саботеров есть автор, и он сделал отличную игру. а вот эта графика ничуть атмосферу игры не отражает. Потому игру и не сделали я так понимаю.
http://www.worldofspectrum.org/forums/showpost.php?p=689457&postcount=1

ZX_NOVOSIB
09.05.2014, 13:41
больно муторно собирать их. осиливай эмуляторы, который поддерживает POKE.
Spectaculator, например.
POKE и Spectaculator это хорошо. Но я хотел дискету записать и на реале юзать.. ;) На реале POKE так просто не ввести, разве что мультфейс позволяет "на лету" вводить POKE, но мультифейса у меня пока нет.

ZX_NOVOSIB
09.05.2014, 21:32
Кстати 5-ую уже сделали! http://zx.pk.ru/showpost.php?p=709769&postcount=62
Осталась лишь 4-ая. :)

Alex Rider
17.05.2014, 23:28
Разобрал сегодня в Саботере втором процедуру рендеринга одного тайла на экран. Автор - норкоман. :)

Ну так, сообщения про Саботера в отдельную тему отщипывать будем? А то я тут оффтоплю жеж.

goodboy
18.05.2014, 00:05
случайно наткнулся на сайт посвящённый игре http://www.saboteur2.ru/saboteur2_facts.html

Alex Rider
18.05.2014, 00:33
случайно наткнулся на сайт посвящённый игре
Излазил его вдоль и поперек :)

ace210
18.05.2014, 01:30
Разобрал сегодня в Саботере втором процедуру рендеринга одного тайла на экран. Автор - норкоман. :)

Ну так, сообщения про Саботера в отдельную тему отщипывать будем? А то я тут оффтоплю жеж.

Да, заводи, раз дело движется. Интересно.

Alex Rider
18.05.2014, 10:01
Да, заводи
Отсюда бы посты отщипнуть в отдельную тему... Завязка тут.

Alex Rider
26.05.2014, 20:40
Расковырял построитель экранов вместе со структурой экранов. Еще кое-чего по мелочам.
Еще раз прошу откусить кусок этой темы про Саботера в отдельную тему.

vitecd
20.06.2014, 00:29
выкусили отдельную тему?
есть вопросы ))

Alex Rider
20.06.2014, 11:28
выкусили отдельную тему?
Ну, пока оно находится в топике "Выкладывал ли кто-нибудь исходники фирменных игр?", очевидно, нет. Если админы считают, что тут ему и место, можно оффтопить тут.

denpopov
20.06.2014, 11:31
нсколько я знаю, народ на ВоСе в основном прикалыватся по дизассемблированию и по комментированию исподников игр.

Alex Rider
20.06.2014, 11:46
нсколько я знаю, народ на ВоСе в основном прикалыватся по дизассемблированию и по комментированию исподников игр.
Ну, значит, я не одинок. А прокачать этот навык стоит. Потихоньку делается в удовольствие.

denpopov
20.06.2014, 11:49
А прокачать этот навык стоит.
Это гудбоевский навык скорее всего:)
А если делать что-то, так просто Элиту, наверняка мозголомный код.
или испанское Captain Trueno..

Alex Rider
20.06.2014, 14:56
А если делать что-то, так просто Элиту, наверняка мозголомный код.
Я бы не сказал, что в Elite совсем мозголомный код, единственное - он запатченный (я про Кладовскую), что не доставляет. Но для обучения она не подходит совсем - там кода (с переменными) - вся RAM кроме видеопамяти и видео буфера на 4К. Этак энтузиазм может совсем улетучиться за время обучения. Я вообще немного жалею даже, что занялся Саботером сразу, надо было начать с Галаксианс или Крэкаута какого-нибудь, там логика попроще будет, и кода, вероятно, поменьше.

denpopov
20.06.2014, 15:00
Этак энтузиазм может совсем улетучиться за время обучения
ну я бы не сказал так.


Я бы не сказал, что в Elite совсем мозголомный код, единственное - он запатченный (я про Кладовскую), что не доставляет. Но для обучения она не подходит совсем - там кода (с переменными) - вся RAM кроме видеопамяти и видео буфера на 4К
а в Элите меня убило немного другое, наверное просто незнание математики.

Alex Rider
20.06.2014, 15:28
ну я бы не сказал так.
Ну смотри. Саботера я ковыряю уже время от времени больше месяца. ну не то, чтобы там конца-края не видно, расковырял где что есть, формат данных разных, основные алгоритмы... Осталось много рутины. Пока желание не пропадает, но и финал не близок как раз из-за обилия кода. А кода там в общей сложности не более 8К. В Elite же кода под 40К, это сколько же надо времени на реверс и когда же будет ожидаемая радость от завершения работы? А я тут еще с ужасом думаю сколько времени уйдет на получение компилябельногог исходника и отладку оптимизированной версии...

denpopov
20.06.2014, 15:32
Ну смотри. Саботера я ковыряю уже время от времени больше месяца. ну не то, чтобы там конца-края не видно, расковырял где что есть, формат данных разных, основные алгоритмы...

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


В Elite же кода под 40К, это сколько же надо времени на реверс и когда же будет ожидаемая радость от завершения работы?

не знаю, но профит есть.


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

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

Alex Rider
20.06.2014, 15:35
да нечего ужасаться то - есть готовый исподник с каментами
Ну для начала исходник не под sjasm, надо коныертить. Потом надо собрать версию байт-в-байт. Потом переписать там выводилку тайлов и подвигать тайловые плоскости в памяти. Потом выловить глюки от этих подвижек :) Это все раельно, но оценить, сколько оно займет времени, не могу ни разу. А хочется уже релиза какого-то :) Итак после части HeartDemo работал пол года "в стол".

denpopov
20.06.2014, 15:39
Alex Rider, я не знаю твоему опыту, и мне кажется не все так просто, но иногда все же можно игруху отреверсить.

Shadow Maker
20.06.2014, 17:46
Элиту пробовали уже http://elite.vtrd.in

Отреверсить можно всё что угодно. Вопрос в мотивации и времени.

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


Ну для начала исходник не под sjasm, надо коныертить.
Не надо ниче конвертить, дизассм иды компиляется sjasm'ом, надо только реплейс сделать .ASCII на DB и всё.