Який підходящий спосіб введення використовувати для двовимірного платформера на сенсорному пристрої?


16

Я створюю 2d-платформерну гру, як Super Meat Boy, в якій важлива точність руху мого головного персонажа. Я використовую libgdx. Керування клавіатурою на ПК працює точно, але коли справа стосується роботи акселерометра, то з персонажем справді важко впоратися. Це погіршується поетапно перевантаженими безпечними шляхами втечі. Я думав застосувати екранний аналоговий куля для обробки вводу, але прочитав багато поганих наслідків цього в Інтернеті.

Який інтуїтивний, але точний метод введення, який потрібно використовувати для платформерних ігор на сенсорних пристроях?

Відповіді:


7

Одним словом: Розмах.

Я грав на чемпіонаті випуск Pac-Man на своєму телефоні Android, і, напевно, я вважав, що для цього працював, це те, що, поки був джойстик на екрані, вам насправді не потрібно було доторкатися до нього, щоб перемістити Pac-Man у потрібному напрямку. Якщо ваш палець відвалився від джойстика, це не мало значення. Все, що має значення, полягає в тому, в якому напрямку ви рухали пальцем.

Щоб рухатись вгору, проведіть пальцем вгору. Щоб рухатись вниз, проведіть пальцем вниз. Щоб рухатись вліво, проведіть пальцем ліворуч. Щоб рухатись праворуч, проведіть пальцем праворуч.

Ви можете так само легко зробити сенсорний контекст, чутливим до регіонів екрана та дій, які зараз відбуваються в грі. Уявіть, що ваш телефон знаходиться в ландшафтному режимі, і ви тримаєте його як контролер відеоігор. Ліва половина екрана може бути зарезервована для руху за допомогою розгортання, яке я описав вище. Права половина екрана може використовуватися для таких дій, як стрибки, стрілянина, захист екрана, будь-які здібності в грі, які ви хочете дати гравцеві, використовуючи перемикання дуже схожим чином. Або якщо у вас є лише одна здатність (наприклад, стрибати в Super Meat Boy) - просто розглядайте праву половину екрана як кнопку.

Оновлення

Ми обговорювали це в чаті, і виявилося, що моє рішення, спосіб, описаний вище, дуже схожий на віртуальну палицю, яка рухається, коли ви піднімаєте вгору і кладете палець. Я хочу уточнити, що це не так і насправді набагато гнучкіше за це.

Pacman Swinging

На зображенні вище зображено малюнок, який можна провести, щоб перемістити Пакмана на дошці. Зауважте, що дія, яка вживається, зовсім не ґрунтується на тому, де ви вперше кладете палець вниз. Якщо ви випадково пересунете палець занадто далеко, коли проведіть пальцем праворуч або недостатньо при проведенні пальцем вниз, це добре. З цією реалізацією, поки ви провели достатньо далеко, щоб вона належним чином зареєструвалась із програмним забезпеченням, вона візьме його та використовуватиме там, де ваш палець потрапив у якості наступної відправної точки, або якщо ви піднімете палець, він використовуватиме наступне місце, яке ви опустити палець вниз.

Як я вже говорив, ви можете застосувати це до платформера, розділивши елементи керування на окремі регіони, щоб ваші пальці та крани виконували різні дії залежно від того, на якому екрані ви виконували дію. Очевидний маршрут - зробити рух лівою бічною ручкою просто за допомогою пальця. Тоді правий бік буде використовуватися для обробки дій та здібностей гравця, використовуючи будь-яку комбінацію пальців та натискань.


4

Що робити, якщо ви ставилися до половини екрана як до віртуальної кулі доріжки, де положення / швидкість вашого персонажа безпосередньо пов'язана з положенням кулі? Переміщення та звільнення призведе до того, що ваш персонаж буде постійно рухатися (і призведе до того, щоб крутиться трекбол). Тримати палець на екрані було б як би тримати трекбол, щоб ви могли вносити невеликі корективи в положення свого персонажа або зупиняти рух персонажа. Я думаю, що це могло б спрацювати для тих шалених моментів у Super Meat Boy, де ти намагаєшся бігати, стрибати, а потім зупинитися на купі. Це був би експериментальний підхід, тому що я ще не бачив цього робити, але щось краще, ніж віртуальна палиця.

Редагувати: Контролер Steam обробляє їх трекпад як імітований трекбол, але я не експериментував достатньо, щоб знайти гру, яка трактує його як одну.


Мені справді дуже подобається ця відповідь, оскільки це таке мислення поза межами. Якщо хтось реалізує це, мені було б дуже цікаво, наскільки добре він насправді працює.
SpartanDonut

2

Я виявив, що найбільш чутливі елементи керування дотиком та торканням екрана .

Якщо людина торкається лівої сторони, біжіть ліворуч (поки він не відпустить). Якщо людина торкається правої сторони, біжіть праворуч.

RunRunRiot! є прикладом цього.

Що стосується стрибків, ви можете піти на середину екрана (використовуючи будь-яку руку).

Приклади (ландшафтний iPad) Праворуч

______________
|            |
|            |
|            |
|___________R|

Стрибки праворуч

______________
|            |
|L*          |
|            |
|___________R|

(L * = лівий дотик)

Стрибки вліво

______________
|            |
|          R*|
|            |
|L___________|

1

Найкращий вклад для гри із сенсорним екраном, яку я знайшов, - це ті, що насправді прості ігри на платформі, коли все, що вам потрібно зробити, - це торкнутися екрана, щоб стрибати! Будь-яка гра, яка використовує акселерометр для введення для мене руху, дуже дезорієнтує!

Це поширена дилема при розробці сенсорного екрану, якщо тільки було популярне вкладення D-pad. Я думаю, вам доведеться спробувати свою ідею на екрані кулі.

Можливо, ви могли б мати лівий і правий вхід в крайньому лівому і крайньому правому куті екрана і мати вгору і вниз, використовуючи верхню або нижню частину лівого або правого вводу. Я думаю, що це має сенс?


1

Ви можете розглянути можливість більш точного керування лише тоді, коли персонаж гравця знаходиться у повітрі.

Наприклад, якщо права частина екрана керувала бічним напрямком, ви могли б мати всю ліву частину для стрибка. Після потрапляння у повітря нижня ліва половина екрана могла бути «спущеною», а верхня половина - подвійним стрибком.

Іншим варіантом буде прийняти схему стрибків на зразок Jetpack Joyride або тих ігор типу «Cave», де чим довше ви тримаєте «вгору», тим вище ви піднімаєтесь. Він має потенціал бути досить точним, і я думаю, що він би добре працював з платформером типу Super Meat Boy, припускаючи, що рівні розроблені належним чином.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.