Автор Тема: Заставить работать световые пистолеты на современных телевизорах  (Прочитано 22677 раз)

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

Оффлайн Segaman

  • Пользователь
  • Сообщений: 3240
  • Пол: Мужской
  • Blast Processing!
    • Youtube
    • Просмотр профиля
За подробностями в видео:

А если кратко:

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

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

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

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

Оффлайн Valet2

  • Пользователь
  • Сообщений: 670
    • Просмотр профиля
Белый квадрат - это лишь некоторые игры. В более продвинутых отлавливается положение луча, и высчитывается точная координата на экране.

Оффлайн UnderCrops

  • Пользователь
  • Сообщений: 326
  • Пол: Мужской
    • Просмотр профиля
Тут говорят, если играть на плазме, то будет все ок.

Оффлайн SeregaZ

  • Пользователь
  • Сообщений: 2510
  • Пол: Мужской
  • ливнул с форума
    • Youtube
    • Просмотр профиля
у Кластера поинтересуйтесь :) https://vk.com/clusterm все знает, на вопросы отвечает.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2259
  • Пол: Мужской
    • Просмотр профиля
тема старая, работать не будет
http://forums.nesdev.com/viewtopic.php?f=9&t=13021

более точно процесс работы светового пистолета описан в этом видео, и там же предложен способ заставить его работать на телевизоре.
https://www.youtube.com/watch?v=DzIPGpKo3Ag

Задержка сигнала не основная проблема, есть ещё две, как минимум:
1) на современном телевизоре картинка не рисуется построчно, отчего теряется возможность определять координаты на экране.
2) световой пистолет вообще не реагирует на смену тёмного и светлого пятна на экране LCD (не хватает чувствительности фотоэлемента)

« Последнее редактирование: 05 Декабрь 2017, 10:12:21 от supremacy »

Оффлайн Arbars

  • Пользователь
  • Сообщений: 1409
  • Пол: Мужской
  • Линукс кұрылысшы
    • ВКонтакте
    • Просмотр профиля

Оффлайн kerlik

  • Пользователь
  • Сообщений: 577
    • Просмотр профиля
А на PlayStation 1 как?

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
Идея пропатчить ромы висит в воздухе уже лет 8, как только массово начали появляться LCD телики.
Но чет никто не хотел за нее взяться.


Как оно получилось:

Автокалибровки пока нет. Попробую сделать.
Есть идеи, вопросы?

Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
Ай молодца.) Китайцы точно поставят на поток в соответствующем для них стиле.)

Добавлено позже:
А ром-то можно потестить?... Хотя... А как, интересно. Световой пистолет к компу не подключить просто так.

Добавлено позже:
Насчёт калибровки... Может, многоигровка, где разные версии под разную задержку?
« Последнее редактирование: 13 Сентябрь 2018, 06:04:42 от kingserg »

Оффлайн neoborg

  • Пользователь
  • Сообщений: 128
  • Пол: Мужской
  • Самый лысый ромхакер BZK
    • ВКонтакте
    • Просмотр профиля
morskoyzmey, интересно, кинь ром посмотреть
На основе какого именно рома делал хак?

Оффлайн хемуль

  • Пользователь
  • Сообщений: 641
  • Пол: Мужской
    • Просмотр профиля
крутотень!
ждемс рум :)

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2350
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Круто! Игр на пистолет не так много. В теории, можно их все переделать. Если это не очень сложно...

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
Насчёт калибровки... Может, многоигровка, где разные версии под разную задержку?
Сейчас калибровка в главном меню, так что это лишнее.

Игр на пистолет не так много. В теории, можно их все переделать.
В теории да  :D

На основе какого именно рома делал хак?
На основе Duck Hunt (JU) [!].nes

Световой пистолет к компу не подключить просто так.
Без флеш картриджа или кастома не обойтись. Когда работоспособность подтвердят бета тестеры и будет окончательная версия калибровки, карик с этой игрой можно будет приобрести у небезызвестного Руслана.

А пока просьба тем, кто хочет потестировать ROM, написать мне на мыло support[X]neslcdmod.ru.
Китайцам пока рано давать  :cool:
Всем спасибо :)
« Последнее редактирование: 13 Сентябрь 2018, 22:32:16 от morskoyzmey »

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2259
  • Пол: Мужской
    • Просмотр профиля
Есть идеи, вопросы?
Какая у тебя модель телевизора?

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
Какая у тебя модель телевизора?
У меня LG Smart TV 42" (на webOS), точную модель сейчас не скажу. На видео тест сначала на нем (включен режим экрана Игры), затем на Samsung Smart TV примерно 28". На последнем задержку пришлось выставить на максимум.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2259
  • Пол: Мужской
    • Просмотр профиля
Меня, прежде всего, интересует действительно ли это LCD или плазма или OLED.
А если это удалось на LCD, то интересует заявленная производителем яркость для матрицы и тип её подсветки (EL, LED, CCFL).

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
Меня, прежде всего, интересует действительно ли это LCD или плазма или OLED.
А если это удалось на LCD, то интересует заявленная производителем яркость для матрицы и тип её подсветки (EL, LED, CCFL).

Понял. Уточню модели.

UPD
Модель LG 42LB679V
Модель самсунга: UE32F5300AK

UPDATE
Добавил автокалибровку! Начальное значение задержки равно половине допустимого (=5).
Для достаточно быстрых телевизоров, у которых есть режим "Игры", калибровка пройдет в сторону уменьшения задержки.
Если запущено на эмуляторе или CRT, то задержка будет = 0 (на CRT правда не проверял).
Если игра от выстрела не запускается, значит нужно вручную накрутить задержку и попробовать снова.
Почему не сделать сразу большую задержку, чтобы автокалибровка сработала для любого телевизора?
Во-первых, большая задержка раздражает :); во-вторых, для больших значений задержки, калибровка может излишне завышать задержку на 1. Лучше вручную найти наилучший вариант. Неточность связана с тем, что отсчет первого кадра не совпадает с началом цикла ожидания света. Видео не снял, потому что фактически ничего не изменилось.
Кто хочет потестить ROM, пишите мне на почту support[X]neslcdmod.ru. Никому не откажу.
« Последнее редактирование: 13 Сентябрь 2018, 22:32:48 от morskoyzmey »

Оффлайн Guyver(X.B.M.)

  • Пользователь
  • Сообщений: 2350
  • Пол: Мужской
  • Уничтожим Кронос!
    • Facebook
    • Twitter
    • ВКонтакте
    • Youtube
    • Просмотр профиля
Можно вместе с ромом приложить маленькую программку для редактирования этой задержки? Так каждый сможет сделать это сам для своего телевизора. К примеру, записывает версию на флешкарик, проверяет её, если мало/много, то добавляет/убавляет...

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
Можно вместе с ромом приложить маленькую программку для редактирования этой задержки? Так каждый сможет сделать это сам для своего телевизора. К примеру, записывает версию на флешкарик, проверяет её, если мало/много, то добавляет/убавляет...
Проще несколько ромов сделать, наверное. Но вообще автокалибровка и сделана, чтобы все настраивалось автоматом. Так что хватит двух версий. Для быстрых телеков с delay=5 и для медленных телеков с delay=9. Да уж, сам сказал что калибровка не точна на больших задержках... В общем нужно больше тестов.

UPD Замечу, что в худшем случае с delay=9 и выстрелом мимо двух уток/тарелок, общее время черного экрана и экрана с целями будет равно 30 кадрам! Это больше половины секунды для PAL :). С такой задержкой во время выстрела можно еще выбирать свою цель)
« Последнее редактирование: 14 Сентябрь 2018, 02:27:19 от morskoyzmey »

Оффлайн Bugrim

  • Пользователь
  • Сообщений: 1312
  • Пол: Мужской
  • Будь честен!
    • ВКонтакте
    • Youtube
    • Просмотр профиля
А подобное можно провернуть для игр с Плейстейшен? А для 100 герцовых ЭЛТ?

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
А подобное можно провернуть для игр с Плейстейшен? А для 100 герцовых ЭЛТ?
Думаю можно. Но у меня никогда не было пс1 или пс2, так что никакой мотивации  :neznayu:

Кто мне писал, проверяйте почту! :)

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2259
  • Пол: Мужской
    • Просмотр профиля
Оно работает!!! Не ожидал, что смогу поиграть в уток на своём ЖК телике.
На титульном экране кнопкой вверх-вниз изменяется задержка с которой будет считываться фотоэлемент пистолета.
Можно начиная с 1 увеличивать значение задержки всё время стреляя в экран, как только сработает запуск игры, то дальше будут нормально регистрироваться попадания.
У меня заработало с Delay = 3
Лучше всего показал себя новодельный пистолет от Simba's, но у него самый короткий провод, возможно остальные после чистки заработают лучше...

« Последнее редактирование: 14 Сентябрь 2018, 19:20:22 от supremacy »

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
Оно работает!!! Не ожидал, что смогу поиграть в уток на своём ЖК телике.
:D
Можно начиная с 1 увеличивать значение задержки всё время стреляя в экран, как только сработает запуск игры, то дальше будут нормально регистрироваться попадания.
У меня заработало с Delay = 3
Если версия с автокалибровкой, то достаточно просто выстрелить и оно само настроится. У меня тоже работает с Delay=3. И я с отладочным выводом проверял, автокалибровка также выдает 3.

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2259
  • Пол: Мужской
    • Просмотр профиля
Если версия с автокалибровкой, то достаточно просто выстрелить и оно само настроится.
Инструкции не было, я думал оно с  Delay = 5 запускается, поэтому вручную решил поменять.

Вполне играбельно, я пытался нажать на пустом месте, а потом быстро переводить на утку - очень редко получается с задержкой = 3, только если очень близко утка была. Но, в то же время, приходится при нажатии на спуск держать пистолет на цели пока попадание не зафиксируется.

Оффлайн morskoyzmey

  • Пользователь
  • Сообщений: 31
    • Просмотр профиля
У меня такой вопрос-предложение касательно юзабилити. Чтобы не смущать пользователя интерфейсом.
Что если на экране будет надпись DELAY: AUTO подразумевающая, что автокалибровка включена.
А если стрелками подвигать, то вместо AUTO будет число и это уже будет фиксированное значение при любом способе запуска игры (курок/старт)

Сейчас, если жать на курок, то активируется автокалибровка, начиная с выбранного значения.
А если нажать на старт, то задержка будет равна текущему значению.
 :neznayu:
Для быстрых теликов (Delay<=5) достаточно автокалибровки.

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

Оффлайн supremacy

  • Пользователь
  • Сообщений: 2259
  • Пол: Мужской
    • Просмотр профиля
Да, с auto будет понятнее.

Оффлайн AlivE_

  • Пользователь
  • Сообщений: 100
  • Пол: Мужской
    • ВКонтакте
    • Просмотр профиля
На моем телевизоре заработало с задержкой 6 кадров. Автокалибровка работает не совсем верно, по ощущению выставляется 5, но так у меня работает через раз.
Но то что это вообще работает, бесспорно очень круто))

Оффлайн Werton

  • Пользователь
  • Сообщений: 878
  • Пол: Мужской
    • Youtube
    • Просмотр профиля
Интересно, это же можно и лаг тв мерить, наверное, если адаптировать под это дело.


Оффлайн shikoist

  • Пользователь
  • Сообщений: 500
  • Пол: Мужской
    • Просмотр профиля
Тем временем на Хабре...
Там совершенно другой принцип работы. Насколько я понял, камера в пистолете снимает и видит изображения, которые распознаются софтом. Должно быть достаточно медленно.