top of page
Featured Posts
Recent Posts
Search By Tags
Search

Implementing Engaging Controller Support for Linx Levels

  • Hossam Basiony
  • Aug 17, 2017
  • 2 min read

One of my tasks at the Digital Future Lab was to add controller support to the game corrupted. This way people can play with a controller during our Pax, or Geek Girl Con showcase.

Assigning buttons to the Xbox controller using Unity 3D engine is normally an easy task. However, the biggest challenge I faced with Corrupted was how to come up with a controller scheme that makes sense for the game's genre.

To put it in perspective, Corrupted is a game that has two types of minigames in it. The first one is called Linx, which is basically Zuma with the ability to change paths depending on the level. The second one is called Space Smasher, and is basically breakout with multiple wave challenges.

When in mouse and keyboard mode, Linx is playable via point and click. The player moves the cursor to where they want to aim, and left clicks to shoot an orb at the reticule. For controller support, forcing the player to move the cursor with Left analog feels tedious due to how slow it feels compared to simply use a mouse. Moving the reticule also didn't feel accurate since aiming a reticule at very small orbs is hard to do with Left analog. Those where the main two challenges I had to fix for the Linx level controller support.

For the slow cursor movement, I started by implementing a button that allows the cursor to move faster than normal when pressed. This way the cursor can have two speeds based on how quick the player wants the movement speed. The controls felt much better, but they were still significantly inferior to just using mouse and keyboard support. After consulting with the designers, we came up with the idea to simply let the player control only the rotation of the cannon, rather than control the reticule using the gamepad. This way the player only has to worry about controlling one axis ( Z- Axis rotation of the cannon) rather than two (horizontal and vertical of Reticule). This combined with the double speed approach felt much better already, and it also solved the accuracy issue as well. But another issue showed up. During gamepad mode, when the player is controlling the cannon only. It is now very hard to aim since the reticule is always moving at an angle rather than towards the target. The solution to this problem was to change the way to aim during gamepad mode. So I came up with a new aiming scheme and pitched it to the Creative Director of the game.

The idea of the new aiming scheme is to switch between the mouse and keyboard mode, and gamepad mode. During mouse and keyboard mode, the player can aim with the reticule as normal. During gamepad mode however, a laser aim system is created that shows the line of path from the cannon to where the cannon is currently aiming, and the reticule disappears entirely. Here are screenshots below:

Mouse and Keyboard control scheme screenshot:

Gamepad controller scheme screenshot:

The controller support is now mostly finished, it just needs tweaking based on QA feedback. Next task, implement controller support for Space Smasher Levels.


 
 
 

Comentarios


bottom of page