Разработка и ромхакинг > Ромхакинг
[SMD] Хак Zero Tolerance
<< < (106/113) > >>
Segaman:

--- Цитата: Valet2 от 07 Октябрь 2024, 16:46:12 ---Так что хоть он и чертовски умный, но балабол, и всё услышанное стоит делить на сто.

--- Конец цитаты ---
Я сконцентрировал внимание на никому не нужном порте Super Cyborg на сегу.
А сурсом сетевухи я могу и поделиться. Я помоему немезису давал часть исходников, чего он там не доразобрался и почему мне не написал? :)
Nemesis_c:
С сетевой разобрались, всë что мне нужно было - работает. Требовалось тестировать сетевую игру на эмуле (в плане добавления новых фич и в плане ремонта старых, например ремонт телепортов при игре вдвоем).
Беларус учит русский:
Nemesis_c, ну так что - сможешь теперь ответить на вопрос, который я задаю тут постоянно? У одного игрока куча врагов на экране и всё тормозит. У второго только один, и этот один будет тормозить или нет?
Или все данные обновляются во время HBlank, поэтому память у обоих игроков всегда одинаковая и тормоза одного не влияют на игру второго?
bgr:
perfect_genius, так разве он не отвечал, что - да?  :neznayu:
Вполне логично, что значения передаются в другую консоль и она будет работать не то, что как была, а даже хуже, ведь её нагружают инфой из другой консоли, ведь данные о расположении она должна где-то обрабатывать :ohmy:
Почему ты так думаешь? >:(
Почему тогда не предположить, что наоборот в режиме двух игроков игра должна работать быстрее?
Там же не происходит какое-то перераспределение памяти, а даже наоборот :neznayu:
Segaman:

--- Цитата: perfect_genius от 24 Февраль 2025, 22:26:05 ---Nemesis_c, ну так что - сможешь теперь ответить на вопрос, который я задаю тут постоянно? У одного игрока куча врагов на экране и всё тормозит. У второго только один, и этот один будет тормозить или нет?
Или все данные обновляются во время HBlank, поэтому память у обоих игроков всегда одинаковая и тормоза одного не влияют на игру второго?

--- Конец цитаты ---
Геймплей в игре очень простой. Если отключить рендер картинки то по ощущениям игра становится раз в 8 быстрее. Имеем это ввиду.
Далее игра-сервер вместо одного игрового поля работает (клетки вокруг 1 игрока) над двумя (клетки вокруг 1 и 2 игроков).
Далее игра-клиент получает информацию об обновлениях от игры-сервера: спавн врагов, урон и так далее.
Также игра-клиент отправляет информацию о том, что делает игрок на сервер, а сервер в свою очередь обновляет всё у себя и если надо отправляет клиенту свои обновления.
Игра-клиент просто рендерит картинку, дает управлять игроком и отправляет действия на сервер, а сервер уже решает всё остальное.
Из-за простоты геймплея задержки могут быть только из-за протокола, потому что он сильно зависит от смещения битов, а это довольно дорогая операция. Например если заспавнилось 6 врагов за один юнит времени, то их отправка клиенту может сожрать фпс 6-8, зато потом все снова плавненько, хоть и меньше фпс при игре не одного.
Вообщем сетевуха инновационная, работает весьма сносно и всё вполне играбельно.
Протокол можно подшаманить, чтобы работал быстрее, например вместо битшифтов зафигарить две огромные таблицы с готовыми результатами вычислений. Так можно будет сэкономить какоето колличество циклов процессора и выиграть 1-2 фпс, но врятли оно того стоит.
А ну и главное:

* Если тормозит сервер, то тормозит и клиент, потому что не получает сигналы об обновлении (даже пустые пакеты)
* Если тормозит клиент, то тормозит и сервер, потому что сервер ждёт от клиента сигналы (даже пустые пакеты)
* Если кто-то из них просрал один пакет, то виснут оба незная что делать и спустя секунд 30 севрер обрубает подключение, удаляет игрока и не дает подключиться заново, потому что не заложено в код игры. Оба при этом остаются со снапшотом того, что было на момент отключения и игра продолжается уже отдельно друг от друга. Балванчик другого игрока при этом пропадает.
Добавлено позже:
А ну и у обоих игр своя копия уровня в памяти загруженная из рома.
Уровни по кабелю не транслируются, только изменения этих уровней.
Например если запустить хак с измененными уровням и подключить к консоли с оригинальной игрой, у хака будут свои уровни, но спавны будут из оригинала прилетать от сервера.
Еще если подключить консоли разных регионов разницы никакой не будет. У игры все равно мало фпс, тайминги на уровне процессора у обоих регионов одинаковые, так что разница если даже и есть, то она пропадает ввиду малого колличества кадров на экране.
Ну и да, что на PAL, что на NTSC, одинаковое колличество кадров в игре  :)
Nemesis_c:
И ты забыл упомянуть про баг, когда одновременно спавнится много врагов и на клиенте и на сервере то может заспавниться больше врагов чем предусматривает карта. Это проявляется если оба игрока идут рядом и доходят до массового спауна врагов. Пока мастер шлëт слэйву, что он заспавнил например 10 врагов, слейв еще не успев получить информацию об этом (или в момент получения) успевает тоже заспавнить некоторых из этих-же врагов и шлет мастеру. В итоге вместо 10 врагов могут появиться 12-13....
Беларус учит русский:

--- Цитата: bgr от 25 Февраль 2025, 09:07:47 ---perfect_genius, так разве он не отвечал, что - да?  :neznayu:
--- Конец цитаты ---
Не отвечал, были непонятки:

--- Цитата: Nemesis_c от 17 Июль 2024, 04:21:34 ---Пока не совсем понятно как влияет на всё это дело статус приставки - мастер или слэйв.

--- Конец цитаты ---

--- Цитата: Nemesis_c от 14 Август 2024, 17:43:38 ---нужен соображающий человек, который поможет добить сетевую игру
--- Конец цитаты ---


--- Цитата ---Вполне логично, что значения передаются в другую консоль и она будет работать не то, что как была, а даже хуже, ведь её нагружают инфой из другой консоли, ведь данные о расположении она должна где-то обрабатывать :ohmy:
--- Конец цитаты ---
Не логично, там может быть что угодно. Расчёт ИИ тоже может быть дорогим, а тут координаты врагов приходят готовенькие и считать ИИ уже не надо.
P.S.: или ты про сервер? Тогда да, ему нагрузка от клиента. Но это не совсем мой вопрос, я про клиента же.

--- Цитата --- Почему ты так думаешь? >:(
Почему тогда не предположить, что наоборот в режиме двух игроков игра должна работать быстрее?

--- Конец цитаты ---
Странный конец коммента - зачем-то под спойлером и злобный смайлик. Если эта часть предназначалась таки мне, то идея с тем, что при сетевой игре игра должна работать быстрее - интересная :thumbup: Надо бы будет подумать как можно распределить нагрузку на две консоли.

Добавлено позже:


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




Добавлено позже:

--- Цитата: Nemesis_c от 25 Февраль 2025, 11:11:36 ---мастер шлëт слэйву, что он заспавнил например 10 врагов, слейв еще не успев получить информацию об этом (или в момент получения) успевает тоже заспавнить некоторых из этих-же врагов и шлет мастеру
--- Конец цитаты ---

--- Цитата: Segaman от 25 Февраль 2025, 10:32:10 ---игра-клиент получает информацию об обновлениях от игры-сервера: спавн врагов, урон и так далее.
--- Конец цитаты ---

--- Цитата: Segaman от 25 Февраль 2025, 10:32:10 ---Игра-клиент просто рендерит картинку, дает управлять игроком и отправляет действия на сервер, а сервер уже решает всё остальное.
--- Конец цитаты ---
Если клиент тоже отправляет данные про появление врагов, то зачем сервер

--- Цитата ---вместо одного игрового поля работает (клетки вокруг 1 игрока) над двумя (клетки вокруг 1 и 2 игроков)
--- Конец цитаты ---
?
SeregaZ:
а хто его знает зачем там сервер... при запуске двух слейвов такое, что враги клонятся - нормальное явление. вот интересно погонять в три игрока. там наверное будет втройне порой враги спавнится :)
bgr:

--- Цитата: perfect_genius от 25 Февраль 2025, 19:38:20 ---тут координаты врагов приходят готовенькие и считать ИИ уже не надо.
--- Конец цитаты ---
Так в любом случае чтобы отправить/принять - нужно данные обработать, передать/принять. Немезис даже про баг отписался, а если бы были дополнительные проверки, чтобы этот баг не допустить, то это же насколько осложнило бы жизнь процессорам?

--- Цитата: perfect_genius от 25 Февраль 2025, 19:38:20 ---Странный конец коммента - зачем-то под спойлером и злобный смайлик.
--- Конец цитаты ---
Это типа альтер-версия моего коммента, но более злая :lol: Но, по-ходу смайлик не помог и альтернатива оказалась не такой уж и злой :lol:

--- Цитата: perfect_genius от 25 Февраль 2025, 19:38:20 ---Надо бы будет подумать как можно распределить нагрузку на две консоли.
--- Конец цитаты ---
Это надо у сегамена исходники украсть, чтобы всю игру переписать :lol:
SeregaZ:
апнем тему чтоль...

чтобы не потерять надо распиновку файла enemator'а сохранить. а то потеряю :)

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


https://i124.fastpic.org/big/2025/0313/e6/18ed278036712d54b6ddde726ffc48e6.png
Добавлено позже:
но смысла в этом мало. даже если сделать рисование графония... то все равно игра не сможет толком это использовать. затык то в чем - получается у игры есть некоторый шаблон действий. типа персонажу - монстру - боссу принадлежат какие-то действия. ходьба, стрельба, смерть. и ладно бы оно так и было стандартно для всех. но нет :) нет стандарта. каждому типу персонажа добавлены свои действия в своем порядке. типа один стреляет, а другой тебя грызет. следовательно они не могут использовать один и тот-же пак анимаций. поэтому помимо редактора графики - должен быть редактор юнита. более глобальный так сказать. чтобы там привязывать какой пак анимации к какому действию. чтобы настраивать количество хп, скорость бега, чем он в тебя стреляет, то есть тип оружия, и оружия ли - а то может когти для ближнего боя. так-же дроп из него - какие патроны чтобы он дропал. и сколько.
yiffysan:

--- Цитата: Axl89 от 13 Январь 2025, 21:17:23 ---где жемчужина хаков Zero Tolerance? где Zero Tolerance GoTY Edition?

--- Конец цитаты ---
кто такой? чем знаменит?
Valet2:

--- Цитата: Lucas [32] от 26 Декабрь 2024, 13:38:18 ---На сайте Hidden Palace появилась 071395a версия билда Beyond Zero Tolerance.
https://hiddenpalace.org/Beyond_Zero_Tolerance_(Jul_14,_1995_prototype)
Эта версия уже всплывала в данной теме и особого интереса не вызвала, но зато теперь доступна для широкой публики.


--- Конец цитаты ---

Вроде пару месяцев назад появлялась информация, что кто-то допилил эту версию, и она стала более играбельной. Но скачанного рома у себя не вижу, и пост тот не найти. Неужели приснилось?
SeregaZ:
вроде чото штота там было :) я не играл и осуждаю :))) шутка. просто не играл. но кто-то выложил. где-то. какую-то. свою ромхаченную версию скорей всего и выдал за Beyond.
Lucas [32]:
Valet2, именно эту версию? Чёт не помню такого, в теме точно не было. Да и одним постом это дело бы не ограничилось.
Может с этим перепутал? https://www.emu-land.net/forum/index.php/topic,90334.msg1622356.html
SeregaZ:
а по моему там какая-то группа была в вк... что-то там хакомания чтоль. и вроде в ней ссыль был с той ZT. что-то такое...
bgr:

--- Цитата: SeregaZ от 08 Апрель 2025, 21:54:44 ---а по моему там какая-то группа была в вк... что-то там хакомания чтоль. и вроде в ней ссыль был с той ZT. что-то такое...

--- Конец цитаты ---
Да, тоже натыкался на этот пост, но хак недоделан был, но сделано не мало.
Нашёл её. Называется Beyond Zero Tolerance: New Version ZT 2020
- Почему 2020?
- Не понятно.
Wodka:
Нашел эту пачку хаков. Там есть хак Zero Tolerance New Hidden Palace 2025 World 1.bin, но это просто хак ZT в котором были перекинуты текстуры из последнего прототипного билда BZT, изменена часть графики, палитры, уровни. По крайней мере при первом взгляде это выглядит так. Автор безусловно большой молодец, что проделал такую работу, но среди этих хаков я не нашел хоть один хак, базирующийся на последнем прототипе BZT. Еще этот хак крашится на реальной Mega Drive 1 VA4 японского происхождения
Bjankins1:
Probably couldnt happen but this game could use some sort of FPS patch like road rash got, doesnt need to be 60FPS but a few extra frames would definitely help, also, strafing would be nice, using a 6 button controller, along with some sort of turning sensitivity option
SeregaZ:
i think Ti is already make that kind of patch for fps. i remember something long time ago... but cant to check :) all of it lays on my old PC. will be nice to backup it, before everything is crashes... ZT editor, Dune editor, GEMS database... everything lay on it :)
Axl89:
Bjankins1,
--- Цитата: Bjankins1 от 22 Июль 2025, 20:43:28 ---Probably couldnt happen but this game could use some sort of FPS patch like road rash
--- Конец цитаты ---
https://www.emu-land.net/forum/index.php/topic,49682.msg892497.html#msg892497
FPS Lock hack. Use emulator CPU overclock.


--- Цитата: Bjankins1 от 22 Июль 2025, 20:43:28 ---strafing would be nice
--- Конец цитаты ---
Straife - hold "A' button in original game.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии