Making a Voice Controlled Character: Part 2 - Designing the controller
Unsighted Agent features a unique take on character controls not often seen in games. The player controls the character using their voice to command the agent to take action and move about the world. The process of developing this control scheme was an interesting journey due to its uniqueness.
CONCEPT EXPLORATION
Initial exploration of the idea began with simply setting up a character that responded to voice commands using the voice a as a simulated keyboard. Whilst this was a great starting point, it left a lot to be desired in terms of playability and enjoyment. It required lots of commands to execute maneuvers that would have been simple to perform with a keyboard and was tedious to control. However, it served as a great proof of concept to voice control functionallity and feasability, and this got the project off the ground.
The next iteration therefore developed a degree of automation to the character’s actions, setting them up as an AI agent in the world that could be influenced with voice commands. Several iterations on this approach resulted in a reasonably autonomous agent action in the world that would behave in a reasonably predictable fashion and did not require excessive commands. However, playtesting revealed a consensus that whilst the controls were much easier to use, they were too automated not requiring enough player input.
TAKING THE MIDDLE GROUND
Taking the lessons learned from these two approaches, a middle ground was explored. The character was given limited AI, allowing it to move more fluidly than keystrokes, but still require player input to be able to move around the world and explore. The navigation of the agent was also restricted to only being allowed to turn to face 90-degree angles vs earlier iterations with free-rotation. This resolved issues where you might need to face a specific direction to navigate but the free turning made it very difficult to face the desired direction.
This approach also involved the addition of several new commands to allow finer control of the agent, such as moving a step in any direction instead of just several steps forward. Convenience commands that combine multiple commands into a single executable action for the agent also allow for easier control, such as the ability to turn to face a new direction and then start moving as a single action.
EXPANDING THE CONTROLLER
The system was initially set up as a single series of states the agent could be in, this however quickly became bloated and convoluted as there emerged two different types of states, stance and movement mode. These were all having to handle changing from any one of either category to itself which was messy and might execute a lot of redundant code on any single swap that was required for another. To simplify the system and clean up the redundancies, as well as making it easier to expand the system, two separate state tracks for the agent were instead created, the ‘Stance’ state and the ‘Movement mode’ state. The stance controls, as one might expect, control if the character is standing or crouched, while the Movement mode dictates how the character is moving, such as if they are walking, running, taking a single step.
Once the core movement was established, the additional actions available to the character could be refined, both in what they do and if they needed to exist. Several special interactions such as ‘looting’, ‘hacking keypads and the like are available to the player. The list of special interactions available was longer than necessary, with some commands not necessarily being intuitive due to the more intuitive options already being used by another action. To this end, commands were combined or disabled to refine the keywords the player needs to remember down to a more manageable and intuitive list. Hacking keypads and using a fuse box both had their own commands which weren't necessary, and they were combined into a new command that could handle either task.
The character controls offer a variety of ways to move the agent in the world so that no matter how you need to move, there should be a command to perform the task, the agent can move through the level without it being too automated or finicky to use and the list of extra commands to remember is not too excessive (and can be viewed in game easily if the player cannot remember a command or needs a new one).
Unsighted Agent
A voice-controlled heist game.
Status | In development |
Author | Unsighted |
Tags | Heist, voice-controlled |
Languages | English |
More posts
- Game Release and Final Dev ThoughtsAug 21, 2022
- Creation of the hacking minigameAug 17, 2022
- Making a Voice Controlled Character: Part 3 - The finer detailsAug 17, 2022
- Fuse box minigame: From concept to prototype to realityAug 15, 2022
- UI Design DecisionsAug 15, 2022
- Developmentation of a "trailer/Gameplay trailer" how it went.Aug 15, 2022
- Model Design DecisionsAug 12, 2022
- Decal Design DecisionAug 08, 2022
- Making a voice-controlled character: Part 1 - implementing the speech recogniserAug 03, 2022
Leave a comment
Log in with itch.io to leave a comment.