User Tag List

Страница 6 из 9 ПерваяПервая ... 23456789 ПоследняяПоследняя
Показано с 51 по 60 из 87

Тема: Дизассемблирование игры Batty

  1. #51

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё ещё не бросил разбор Batty, как может показаться из-за отсутствия активности в этой теме. Но это процесс небыстрый, на который я сейчас трачу львиную долю своего свободного времени. Всё, чтобы было очевидного я давно разобрал. Теперь разбираю то, во что необходимо вникать подольше. Бывает, что за весь вечер после работы удаётся разобрать только одну небольшую процедуру. Но с каждым разом белых пятен становится всё меньше и меньше. Листинг приобретает читабельный вид. Например:

    Код:
      CALL rnd_update
      LD HL,handling_object
      CALL call_hl_for_all_obj
      CALL fill_briks_data
      LD HL,ix_buf_addr_calc
      CALL call_hl_for_all_obj
      CALL obj_to_buff_transfer
      LD HL,print_spr_with_mask_buff
      LD A,(object_ball_2)
      RLA
      CALL NC,call_hl_for_all_obj
      CALL play_sounds_queue
      LD HL,print_spr_from_buf_to_scr
      CALL call_hl_for_all_obj
      LD A,(wins_counter)
      AND A
      CALL NZ,wins_recovery
      CALL L987A_0
      CALL pause_game
      LD A,(object_ball_2)
      AND A
      JP NZ,LBC10_5
      LD B,$03
      CALL pause_long
      LD A,(lives_1up)
      DEC A            ; Отнимаем жизнь
      LD (lives_1up),A
      JR Z,LBC10_6
      LD A,(game_mode)
      DEC A
      CALL Z,current_level_2up_copier
      JP LB9E8_1
    Как в судоку, в японских кроссвордах или других подобных головоломках, каждая разобранная процедура, переменная или таблица, помогают понять суть происходящего там, где ещё вчера было ничего не понятно.

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

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


    С уважением, Станислав.

    Эти 11 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Barmaley_m(26.07.2020), Escaper(28.12.2022), ivagor(25.07.2020), mastermind(27.07.2020), Oleg N. Cher(26.07.2020), Outcast(25.07.2020), petrov1962(27.07.2020), TomCaT(02.11.2020), troosh(27.07.2020), Vatr(13.03.2021)

  2. #52

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Вероятность выпадения бонусов на первых 6-ти уровнях:

    Увеличение биты: 3
    Пулемёт: 2
    Размножение шариков: 2
    Липучка: 2
    Slow: 2
    Дополнительная жизнь: 1
    Ракета: 1
    Smash: 1
    5000 очков: 1
    Kill Aliens: 1

    А вот вероятность выпадения бонусов на остальных уровнях:

    Увеличение биты: 4
    Пулемёт: 2
    Размножение шариков: 3
    Липучка: 3
    Slow: 0
    Дополнительная жизнь: 0
    Ракета: 1
    Smash: 1
    5000 очков: 1
    Kill Aliens: 1

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

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

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

    Вообще, автор конкретно заморочился с геймдизайном и балансом игры. Это отчётливо видно по коду. Всего 15 раундов, но какая реиграбельность у игры! Видно, что он продумывал каждый раунд и подкручивал баланс, а не просто нарисовал сотню разных раундов и в таком виде выкатил игру. На самом деле памяти хватило бы не на один десяток раундов, но автор ограничился лишь 15-ю...
    Последний раз редактировалось CityAceE; 26.07.2020 в 14:49.
    С уважением, Станислав.

    Эти 7 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Barmaley_m(26.07.2020), Destr(29.07.2020), Escaper(28.12.2022), mastermind(27.07.2020), nikon(18.07.2021), Oleg N. Cher(26.07.2020), petrov1962(27.07.2020)

  3. #53

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Вот интересно - влияет ли на повышение скорости шарика столкновение его с врагами?

  4. #54

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Наверное, единицы прошли всю игру до конца без "бессмертия".
    Мы с другом проходили И не раз! И в одиночной игре, и совместно. При этом своё мастерство оттачивали на игровом автомате, платя по 15 коп. за каждую попытку. Тогда мы даже не догадывались, что это игра с домашнего компьютера - думали, что это просто игровой автомат такой специальный. Денег тогда на Batty было потрачено немерено! Когда мы играли в неё, вокруг нас собиралась толпа зрителей. Вот с тех самых пор для меня Batty является особенной игрой. Именно поэтому я и занялся её ковырянием. Причем это уже который мой подход, но все предыдущие закончились неудачей.

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Вот интересно - влияет ли на повышение скорости шарика столкновение его с врагами?
    Я такой проверки не встречал. Вот конкретно процедуру сбивания врагов шариком я ещё детально не разбирал, но совершенно точно сбивание врага кареткой на скорость никак не влияет.

    А вот POKE, чтобы скорость не увеличивалась: 0xA48C - 0

    Скорость шарика можно замедлить ещё на один шаг и тогда она будет минимальной и такой же как у врагов, но играть тогда станет вообще неинтересно. Вообще скорость шарика регулируется переменной со значениями от 2 до 6. В игре стоит ограничение, чтобы скорость не поднималась выше 6-ти. А когда ловим приз Slow, то скорость опускается до 2-х, как и при старте. И ещё, если скорость шарика 2, то приз Slow не выпадет - всё автором продумано
    С уважением, Станислав.

    Эти 5 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Barmaley_m(27.07.2020), Bedazzle(27.07.2020), Escaper(28.12.2022), petrov1962(27.07.2020), troosh(27.07.2020)

  5. #55

    Регистрация
    02.05.2015
    Адрес
    г. Таллин, Эстония
    Сообщений
    1,691
    Спасибо Благодарностей отдано 
    302
    Спасибо Благодарностей получено 
    223
    Поблагодарили
    159 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Вот с тех самых пор для меня Batty является особенной игрой. Именно поэтому я и занялся её ковырянием. Причем это уже который мой подход, но все предыдущие закончились неудачей.
    Дорогу осилит идущий.

    Цитата Сообщение от CityAceE Посмотреть сообщение
    А вот POKE, чтобы скорость не увеличивалась: 0xA48C - 0
    Лучше указывать что на что меняется, тогда в случае если есть разные версии игрушки, сразу это дело можно опознать.
    Heavy on the disasm
    Eric and the disasm
    Mask 3: Venom strikes disasm
    Bard's disasm

  6. #56

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Нашёл в игре очень интересный звук, который автор в итоге так и не использовал нигде.
    я уже `несколько` раз рассказывал что Batty `выросла` из игры WipeOut
    https://zx-pk.ru/threads/11127-ranny...iya-batty.html

  7. #57

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    я уже `несколько` раз рассказывал что Batty `выросла` из игры WipeOut
    Только сегодня посмотрел видеопрохождение WipeOut, чтобы сравнить с Batty. Конечно, общие корни видны во всём. Тот самый таинственный звук, найденный в Batty, звучит при старте WipeOut. Также, например, в WipeOut активная надпись в меню мерцает, переливаясь цветами, а в Batty она просто мигает. Но на самом деле в Batty процедура тоже перебирает цвета для перелива из таблице, но в таблице жёстко задан в первой половине белый цвет, а по второй - чёрный. Ну и по другим мелочам видно, что большая часть кода у этих игр одинакова.
    С уважением, Станислав.

    Эти 3 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    Barmaley_m(27.07.2020), Oleg N. Cher(29.07.2020), TomCaT(02.11.2020)

  8. #58

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Кстати, есть еще версия для ориона с z80 card II, вывод графики там уже можно сказать почти переделан под специалист.
    @ivagor Не смог найти откуда скачать этот вариант. Не мог бы ты поделиться? Мне удалось только выяснить, что игру адаптировал Сергей Коровкин (Crystal Grafic). Но самой игры нет нигде. Есть только вот такое:

    С уважением, Станислав.

  9. #59

    Регистрация
    27.02.2005
    Адрес
    москва
    Сообщений
    14,289
    Записей в дневнике
    1
    Спасибо Благодарностей отдано 
    202
    Спасибо Благодарностей получено 
    1,456
    Поблагодарили
    946 сообщений
    Mentioned
    18 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от CityAceE Посмотреть сообщение
    Не смог найти откуда скачать этот вариант.
    ???
    ссылка там практически в описании
    http://zvzd3d.ru/Orion128/Orion128Main.html

  10. #60

    Регистрация
    13.01.2005
    Адрес
    г. Москва
    Сообщений
    5,213
    Записей в дневнике
    7
    Спасибо Благодарностей отдано 
    706
    Спасибо Благодарностей получено 
    1,644
    Поблагодарили
    572 сообщений
    Mentioned
    50 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от goodboy Посмотреть сообщение
    ???
    Наверное, я неправильно выразился. Я ищу Batty, адаптированную со Спектрума - её нет нигде. Везде попадается только тот вариант, видео которого я привёл.

    Цитата Сообщение от ivagor Посмотреть сообщение
    Временно выложил тут
    Большое спасибо!

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

    Последний раз редактировалось CityAceE; 19.09.2020 в 19:36.
    С уважением, Станислав.

    Эти 2 пользователя(ей) поблагодарили CityAceE за это полезное сообщение:

    ivagor(19.09.2020), Oleg N. Cher(19.09.2020)

Страница 6 из 9 ПерваяПервая ... 23456789 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Дизассемблирование спектрумовских игр
    от CityAceE в разделе Утилиты
    Ответов: 4
    Последнее: 13.04.2016, 09:44
  2. ранняя версия Batty
    от goodboy в разделе Игры
    Ответов: 18
    Последнее: 24.10.2009, 03:34
  3. World Shaker - игра от Michael Batty, но на PC
    от Shadow Maker в разделе Игры
    Ответов: 6
    Последнее: 01.01.2009, 22:43
  4. Batty
    от CityAceE в разделе Игры
    Ответов: 1
    Последнее: 14.03.2005, 05:55

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •