Skip to content

Add touch input controller #806

@manuq

Description

@manuq

Add a touch input system to make the player walk, run, and trigger an action.

It is common in mobile to add a virtual controller for moving in one screen side (left side, for example), and one or more actions in the other side (right side, for example).

For the movement controller:

  • A circle appears whenever the user press and hold the screen, with the pressed position as the center of the circle.
  • While holding, moving the finger far from the circle center makes the player walk in that direction.
  • When the finger reaches the border of the circle, the player runs.
  • Releasing the finger the player stops.

Currently the sole action for interacting (in cosy mode) and attacking (in combat mode) is "ui_accept". But that may change by this task. In that case, a tap anywhere in the right side could trigger the action.

Could an addon like Godot Virtual Joystick suit our needs, without being a big dependency to maintain? This one also gives a vector Input.get_vector(&"ui_left", &"ui_right", &"ui_up", &"ui_down") from the virtual controller.

PS Sokoban is another story, maybe we implement that one in a separate issue? One idea is to swipe up, down, left and right for moving in the player inside the sokoban.

XP Summary (total 600)

Subdomain Skill XP
Engineering: Gameplay & Systems Programming Problem Solving 150
Engineering: Gameplay & Systems Programming Creativity & Design Thinking 75
Engineering: Gameplay & Systems Programming Technical Literacy 150
Game Design: Game Feel & UX Problem Solving 75
Game Design: Game Feel & UX Creativity & Design Thinking 75
Game Design: Game Feel & UX Technical Literacy 75

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions