Сегодня всё утро работал со схемой подключения Godot Engine к Gamepad
По моим ощущениям - это чистый кайф! Теперь, получается, в игру можно будет играть с геймпада на любом устройстве! Но есть нюансы...
543
просмотров
Начну с вопросов:
- Знаете ли вы эталон игры в которой отличное управление с геймпада?
- Используете ли вы геймпады без стиков, т.е. только кнопочные?
- Игра с элементами шутера, как целиться?
Эта вопросы, если не сложно, хотелось бы обсудить в комментариях. Заранее спасибо!
Теперь о нюансах.
- Очень сложно подружить UI Godot с геймпадом.
- Прицел приходится делать через очень сложный контроллер. Так как целиться сложно.
- QTE - это круто! Но тут тоже приходится делать сложный контроллер, чтобы они были одинаково эффективны как на сенсоре, так и на геймпаде, и так и на клавиатуре.
- КИТАЙСКИЕ ГЕЙМПАДЫ! Это просто ад! Они все (моя догадка) работают по-разному. Есть всякие геймпады / держалки, которые подключаются к телефону. У меня такой тоже есть, и он работает не так, как тот, что я использую для тестов на компьютере. Тут у меня получилось разное поведение стиков и двух кнопок (имеют разные коды). На компьютерном геймпаде стик изменяет силу отклонения в диапазоне 0 -> ±1, и я могу это использовать. На телефоне геймпад всегда имеет бинарные значения (0 / 1). Проверить это из кода я вообще никак не могу, а потому приходится делать адаптивное управление, которое бы смотрело, с чего начинается движение стика. Это тоже дополнительный код.
- Слабые телефоны. На слабых телефонах "плавная камера", что идёт в движке "из коробки" работает глючно. Она зависит от FPS и дико тормозит, если геймпадом быстро вращать "голову" в разные стороны. Пришлось также писать свою реализацию камеры. Получилось так же плавно, но теперь не зависит от FPS и можно даже на совсем слабеньких устройствах вращать головой и не блевать.
- Геймпады без стиков. У меня есть разные геймпады, так как я увлекаюсь ретро-приставками, у меня есть практически все реализации "джойстков", от Nintendo до Sony PS1, включая промежуточные. На них нет стиков, потому тут я не знаю, как сделать управление. На ум приходит что-то вроде управления в RE4, когда движение и прицеливание задействует одни и те же кнопки, просто сменяются режимы. Попробую.
Как-то так получается. Не планировал много текста. Пошёл дальше работать.
Всем спасибо за внимание!
в игре от первого лица со стрельбой можно не делать поддержку геймпадов без стиков
Насчет 4 пункта - а что ты там пытаешься изобрести?Геймпад либо работает по Xinput(геймпады бокса,нативная поддержка в винде и играх на винде,) либо Dinput(хуй пойми шо,придуманное хуй пойми для кого,геймпады Сони работают по этому протоколу)
Соответственно геймпад либо работает по Xinput либо Dinput,все,тут других протоколов нет.
Да не изобрести) Я пытаюсь найти какое-то среднее, чтобы на разных геймпадах оно хотябы схожим "макаром" работало. А то получается, что на одном геймпаде стик отклоняешь оно плавно идёт, а на другом - сразу в единицу ставится) Тут вопрос не в драйвере, а в том, насколько сэкономили китайцы на транзисторах)
Лишнюю мозгоеблю себе делаешь. Купи геймпад от бокса и от него отталкивайся. Идеально на китайских падах за 100 рублей никогда не будет работать игра.
"- Игра с элементами шутера, как целиться?"
Дополни немного этот вопрос пояснениями, не понятно, что именно ты хочешь узнать.
Автонаводку, я думаю, ты и так знаешь, что нужно обязательно делать.
godot тупа топ