Автор Тема: Zero tolerance баг с врагом  (Прочитано 6167 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн purgen

  • Пользователь
  • Сообщений: 168
    • Просмотр профиля
Zero tolerance баг с врагом
« : 14 Февраль 2014, 08:13:36 »
 Не могу убить последнего врага на одном из уровней небоскреба. На счетчике он есть, Этаж зачищен. Миникарта показывает, что враг где то в стене.
 Это баг такой или еще что?

Оффлайн Lucas [32]

  • Пользователь
  • Сообщений: 492
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #1 : 14 Февраль 2014, 09:55:49 »
О, я помню, как рассказывал об этом глюке в одном из своих самых первых постов!  :lol:
Цитата
Zero Tolerance
На одном из уровней есть такой глюк (не помню на каком, но помню, что уровень был с камерами наблюдения) Уровень нельзя зачистить, даже если вы убьёте всех врагов на уровне, счётчик будет показывать 01, т.к. один из врагов просто "замурованный" в стене. Он не может двигаться, стрелять, его можно увидеть лишь на радаре.
Он не всегда случается, убить нельзя.
« Последнее редактирование: 14 Февраль 2014, 10:14:34 от Lucas [32] »

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #2 : 14 Февраль 2014, 17:53:25 »
:lol:Он не всегда случается, убить нельзя.

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

Оффлайн Йобан Матич

  • Emu-Land Team
  • Сообщений: 2593
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #3 : 14 Февраль 2014, 18:12:16 »
У меня такая фигня со снайпером на крыше была, если его не из гранатомёта убивать.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #4 : 14 Февраль 2014, 19:01:45 »
У меня такая фигня со снайпером на крыше была, если его не из гранатомёта убивать.

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

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

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

Ещё на некоторых уровнях могут проскакивать вертикальные полосы в определённых местах (последствие рейкастингового принципа)

Оффлайн Lucas [32]

  • Пользователь
  • Сообщений: 492
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #5 : 14 Февраль 2014, 19:47:52 »
В ымуляторе ?
На железе и на эмуляторе. Это не особо важно. Данный глюк связан с теми чуваками, которые выбегают по тревоге камер наблюдения. Если их так выпускать, один обязательно где нибудь да застрянет. Этот глюк не сложно воспроизвести.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #6 : 14 Февраль 2014, 23:36:42 »
Цитата
Есть баг, если повернуться по направлению стыка между лифтом и уровнем, то весь обзор вдруг закрасится дизеринговым градиентом псевдо-пола и псевдо-потолка. Такая шляпа и на ымуляторе и на жылезе.
Вот, собственно. Даже в эмуле получилось.
На железе гораздо проще удавалось

Оффлайн 3DSchumacher

  • Ушел с форума
  • Сообщений: 2164
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #7 : 14 Февраль 2014, 23:59:24 »
Цитата: ALKOSHA
и кривой расчёт текстур.
он не кривой, он самый что ни на есть прямой (в рамках используемой технологии рендеринга). Прямее сделать можно, причем даже проще в реализации, но это будет уже не для м68к.
Цитата: ALKOSHA
Есть баг, если повернуться по направлению стыка между лифтом и уровнем, то весь обзор вдруг закрасится дизеринговым градиентом псевдо-пола и псевдо-потолка. Такая шляпа и на ымуляторе и на жылезе.
там нет объема и он не закрашивается. Пропадают стены, это да, причем "благодаря" собственно прикрученному на костылях лифту (ядренее там только ступеньки сделаны). Задник с дизерингом присутствует всегда, самым нижним слоем.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 8076
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #8 : 15 Февраль 2014, 01:22:27 »
Цитата: ALKOSHA
ымулятори

Пишите по-русски. Тем более тематика форума как бы намекает.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #9 : 15 Февраль 2014, 01:46:03 »
он не кривой, он самый что ни на есть прямой (в рамках используемой технологии рендеринга). Прямее сделать можно, причем даже проще в реализации, но это будет уже не для м68к.

аналогичная технология рендеринга на m68k, с той же самой видео\аудио системой.

Никаких "рыбьих глазов", в отличии от ZT.

Добавлено позже:
А если по теме, в ZT ещё есть один очевидный баг, когда орава врагов накопится в одной ячейке, и если выйти из текущего "этажа", и затем обратно зайти, то противников станет на порядок меньше. Обусловлено тем, что в ОЗУ хранятся округлённые (дискретные относительно каждой ячейки) координаты объектов на каждый "этаж".

Добавлено позже:
Задник с дизерингом присутствует всегда, самым нижним слоем.

Эт я в курсе...
Но там можно найти такую точку, что весь экран сплошняком серым закрашивается.
« Последнее редактирование: 15 Февраль 2014, 02:01:02 от ALKOSHA »

Оффлайн 3DSchumacher

  • Ушел с форума
  • Сообщений: 2164
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #10 : 15 Февраль 2014, 13:21:30 »
Цитата: ALKOSHA
Никаких "рыбьих глазов", в отличии от ZT.
FOV можно сделать любой, это целиком от геймдизайнера зависит, а не от типа рендерера

Добавлено позже:
Цитата: ALKOSHA
аналогичная технология рендеринга на m68k, с той же самой видео\аудио системой.

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

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #11 : 15 Февраль 2014, 15:23:13 »
угу, и бладшот туда же можешь записать, и что? Везде одинаковый рейкастинг

Бладшот не стану туда записывать, так как там определение луча столкновения по векторам карты. То есть карта в векторном виде, а не по ячейкам (и там, вроде как, стены рендерятся зеркально верх и низ)

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

А изменение FOV'a в рейкастинге только растянет ВСЮ картинку вертикально.

Добавлено позже:
это целиком от геймдизайнера зависит, а не от типа рендерера

Та даже глянь на скриншот первого поста.  На цифры намазюканые на стене, как они рендерятся. Если строго перпендикулярно на них смотреть всё ровненько, а при повороте чердака "съезжают", непропорциональными становятся.

Добавлено позже:
Чтоб избавиться от сего артефакта, необходимо произвести дополнительный расчёт луча.
« Последнее редактирование: 15 Февраль 2014, 16:38:09 от ALKOSHA »

Оффлайн 3DSchumacher

  • Ушел с форума
  • Сообщений: 2164
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #12 : 15 Февраль 2014, 17:57:10 »
Цитата: ALKOSHA
Бладшот не стану туда записывать, так как там определение луча столкновения по векторам карты. То есть карта в векторном виде, а не по ячейкам
сути не меняет
Цитата: ALKOSHA
и там, вроде как, стены рендерятся зеркально верх и низ
и это тоже не меняет
Цитата: ALKOSHA
Чтоб избавиться от сего артефакта, необходимо произвести дополнительный расчёт луча.
Чтоб избавится от сего артефакта, нужно ввести перспективную коррекцию, но это будет уже слишком для мегадрайва.

Оффлайн GalaxyBot_00

  • Ушел с форума
  • Сообщений: 6042
  • Пол: Мужской
  • Surrender at 20
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #13 : 15 Февраль 2014, 19:14:24 »
Тут прям битва титанов  :lol: Пишите еще, интересно почитать

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #14 : 15 Февраль 2014, 19:56:20 »
Чтоб избавится от сего артефакта, нужно ввести перспективную коррекцию, но это будет уже слишком для мегадрайва.

Перспективная коррекция актуальна для полигонального три дэ.(если конечно речь идёт о том самом аффинном преобразовании)
Рейкастинг != полигончики.


Добавлено позже:
Дело в точке испускания лучей.
http://faceh0r.narod.ru/doc/RayCasting2.html

Оффлайн 3DSchumacher

  • Ушел с форума
  • Сообщений: 2164
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #15 : 15 Февраль 2014, 23:12:40 »
Цитата: ALKOSHA
Перспективная коррекция актуальна для полигонального три дэ.(если конечно речь идёт о том самом аффинном преобразовании)
Рейкастинг != полигончики.
дело не в полигональном 3д. После нахождения пересечения луча с поверхностью (стеной) и выстраивания буфера, хранящего порядок рендеринга этих самых стен, опуская мелочи, движок рендерит текстуры стен чисто как 2д имейджи в плоскости экрана, отсюда и искажения:
а перспективная коррекция (которая не имеет никакой взаимосвязи с исключительно полигональным рендерингом) достигается за счет дополнительного расчета обратного луча от стены к вьюпорту, хотя для случая всегда перпендикулярных прямоугольных стен проще брать заранее посчитанные табличные значения. Для этого достаточно знать угол наклона стены по отношению к рендертаргету. И умножить два вектора (точнее взять это произведение из таблицы).

Добавлено позже:
Цитата: ALKOSHA
Дело в точке испускания лучей.
http://faceh0r.narod.ru/doc/RayCasting2.html
ну собственно об этом и говорим :lol:


Добавлено позже:
Цитата: GalaxyBot
Тут прям битва титанов   Пишите еще, интересно почитать
та не, тут даже спора нет, про одну туфту разными словами говорим, как оказалось :lol:. Я просто как-то не люблю неправильные термины типа "эффект линзы", "рыбий глаз" и т.д.

Оффлайн ALKOSHA

  • Пользователь
  • Сообщений: 805
  • Люблю донди.
    • ВКонтакте
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #16 : 17 Февраль 2014, 21:35:08 »
После нахождения пересечения луча с поверхностью (стеной) и выстраивания буфера, хранящего порядок рендеринга этих самых стен, опуская мелочи, движок рендерит текстуры стен чисто как 2д имейджи в плоскости экрана, отсюда и искажения:

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

Мечта увидеть Зэрушку на таком экране, как в бладшоте, или дюкнюкеме три дэ.(в смысле не на одну треть экрана, а хотя бы на одну вторую экрана)

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

Даже посмотрите, что alone coder вытворяет на спектруме, и это на 3-ёх (с половиной) мегагерцах, да ещё и на 8-ми битном проце, да ещё и адресация видеопамяти мозговыносная.

Да, тут нет AI.
Но даже в том же бладшоте нет толкового AI (за исключением того летающего пацыка, который стрейфится), именно с кучей условий. Грубо говоря пара/тройка условий на каждого бота.
« Последнее редактирование: 17 Февраль 2014, 22:06:52 от ALKOSHA »

Оффлайн 3DSchumacher

  • Ушел с форума
  • Сообщений: 2164
  • Пол: Мужской
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #17 : 17 Февраль 2014, 23:38:04 »
ALKOSHA, в целом согласен. Но у спека есть одно преимущество перед мегадрайвом, весьма весомое. Не смотря на наркоманскую адресацию видеопамяти он таки мог ее заполнять как угодно произвольно, а в случае с вдп мегадрайва нужно все это дело рендерить в тайлы и только потом выводить на экран. На спеке для вывода точки достаточно ткнуть бит в нужный адрес, а на сеге в любом случае придется забацать тайл, причем перерисовав его с учетом фона, и только тогда вывести на экран.

А на спеке из  рейкастинга мне нравится это:
много упрощений, но все равно эпик
« Последнее редактирование: 17 Февраль 2014, 23:59:13 от 3DSchumacher »

Оффлайн Shtacket

  • Пользователь
  • Сообщений: 8
  • Пол: Мужской
  • Sht@cket
    • Просмотр профиля
Re: Zero tolerance баг с врагом
« Ответ #18 : 25 Июнь 2015, 13:50:27 »
В небоскрёбе в комнатах отдыха, (там где телевизоры) если не стрелять в врагов, а отвернутся от них к стене - они сами умирают. Проверено на эмуляторе.