Thursday, January 1, 2015

Split in half - Locomotion/Interaction Pt.1

The primary philosophy I'm operating on for my controller based control scheme revolves around the idea of dividing the controller in half by function. One half for locomotion, one for interaction. This is loosely based on an idea of interactivity and harnessing the change brought about by the addition of head tracking the Oculus Rift has brought to the VR space. I've found in my personal experience that the traditional mouse aim system that many first person titles on traditional gaming platforms bear can be problematic in VR since you aren't exactly looking where your aiming as you normally would be on the traditional platforms. One could try to make where we look the source of aiming, but I think that may require a change in the visual design we're accustomed to for such titles since fire wouldn't necessarily be coming from our guns so much as from our eyes, though further experimentation would be required and I just don't want to deal with that kind of precision requirement this early on.

I'm still trying to iron our the kinks on the interaction half of the controls spectrum, but the locomotion half is more or less done from a pre-dev conceptualization standpoint. The main idea is to emulate human turn models using the analog stick's cardinal directions to allow a player to move in any directions while still paying head to more natural human movement. In essence, all I'm doing is using tank controls but with a bit more speed and a few tricks. A good game to look at would be Resident Evil 4: Wii Edition (I didn't play any of the others so I can't speak for how they control) to get a gist of how this operates. Moving forward moves the player forward. Moving back makes the player back step back. Double tapping back does a full turn. Moving left or right turns you in those directions rather than strafing in those directions. It is in the strafing that the biggest change is occurring.

By in large, most games that happen in the first person use the left and right inputs for strafing to the left and strafing to the right. It's a pretty smart design move since the primary goal is to line up an aiming reticle with a desired target, something that's easier to do with it's own input (right analog stick/ Mouse). Movement would be best if it avoids changing the player's aiming as much as possible. It's great for what it's made for, but I don't think it's particularly natural in any way and it's model is kind of stunted since the right analog stick/mouse isn't anywhere near as dominant for VR controls so far as it has been for consoles and PCs since vision and the conventional aiming center that is the gun arm and field of view are divorced in VR. The field of vision is free to target other objects, so enabling it to explore more freely by taking advantage of the usual locomotion vectors in a single input makes more sense to me from a design perspective. 

In addition to the standard planar movement we have with controls, the intention I have is to allow user's to control their height via the usage of the analog triggers. The benefits of analog triggers are very underutilized within modern control schemes, but I've found a way to use them that could prove rather lucrative. You see, when I mentioned height adjustment, I meant so along both an up and down vector, meaning you will be able to both duck and jump with the same input mechanism. This is thanks to the analog trigger's float value properties rather than being a boolean true/false dichotomy. By a boolean system that many game developers effectively use, my system would effectively be using the "GetButtonDown" and "GetButton" to duck and hold, while using the "GetButtonUp" to jump. This isn't a very good solution unless the ducking animation was VERY fast and the jumping was likewise as fast.

I don't think that makes for very kinesthetically pleasing experience, so how does being analog rectify this problem? The analog trigger allows for manual control of the in-between section of ducking and jumping via both velocity and placement. A light press of the analog trigger will simply make the player briefly bend their knees while a full press could make them go prone. Likewise a rapid release of the trigger would be good for a jump, but a slow release would simply stand the character back up. Aside from being somewhat simple, I like it because it emulates what our bodies already do IRL to actually perform the actions. When you jump, you don't slowly bend you knees back up, you rapidly push them up.

This system is far from the optimal solution that I want to have for my VR experience, but as far as I can see, it seems like the best that can be done with the compromise I've made till the optimal resolution can come about. This system has a few other systems in place that I won't really be deploying just yet, like flight, speedy crouch walking, back flips, side flips, long jumps, and all manner of interesting jumps that will allow you to practically compete with Mario in the best case, though your stomach may not (Extensive VR testing will be conducted by me before I let anyone else try this stuff, VR can be literally sickening in the worst cases and I'd prefer to allow myself to be the first person hurt rather than allowing someone else to take that on before me). I haven't even gone in to the interaction much yet here, due to some more "Ironing out" I want to do with it, but suffice it to say it's not going to be "traditional" by most sense of the word., I'll go into it more in a "part 2" to this so expect the details then.

No comments:

Post a Comment