Does this support windows mixed reality headset?
Freedom Locomotion VR
A downloadable demo for Windows
Version 1.2.0 release
13th March 2017
Freedom Locomotion VR is now fully compatible with the Oculus Rift!
A fair number of changes has been made to the demo to take on board feedback and provide more and better options for locomotion.
Key changes include:
- The Freedom Locomotion System adds Snap Turning. This new method, of turning (which can be selected from the menu) allows users to instantly turn to their new location. Unlike other 'snap turning' methods, FLS' snap turning allows users to turn arbitrarily to any angle.
- To use this, users simply point their controllers in the direction they want to turn and press the 'turn' button on the Rift, or hold down the grip button and click the touchpad for the Vive.
- You'll turn to face the new direction instantly. If you're already looking in the direction you want to turn to, it won't turn you much, if at all however.
- Walking algorithm tweaked once more. Now users have more direct control over movement when walking in place. Locomotion should feel more 1:1. So long as your foot motion moves your head up and down a reasonable amount, it'll almost feel like you're wearing foot trackers!
- Movement on the Vive is now click and maintain touch to activate, rather than click and hold. This reduces the stress on user's thumbs and the Vive touchpad. Users lift off their thumb from the touchpad to deactivate movement.
- Touch to move is now deactivated by double clicking the touchpad. This means users can toggle touch to move on and off by double clicking.
- Simple Touch mode (uses controller direction for heading only, instead of controller direction + touchpad input) is improved. Users can now indicate backwards movement (relative to controller) without having to point their hands and controllers backwards.
- CAOTS movement defaults to the improved Simple Touch mode, making it easier to learn. Option to turn off Simple Touch is still available in the menu.
- Dash and Blink Step functions have changed. In order to move faster, users angle their elbow up. Point down to move at the slowest step pace. Point forwards to move at the fastest.
- To increase the length of steps, touch the touchpad further from the center, and/or move the controller physically further away from your body.
- Blink Step now has a 'fade to black' option that can be found in the menu.
- Random height changes should no longer occur while using Dash/Blink Step. General Dash/Blink step movement should be smoother.
- Movement speeds (and speed presets) have been tweaked. The stated max speeds are now more accurate.
- Tutorials and control guides have been updated to reflect these changes.
- Boundary reveal changed from squeezing one grip button to squeezing both grip buttons.
- Other minor bug fixes have occurred as well. Please report them if you see any others!
- Some changes have been made to effects and materials to improve performance. The most noticeable will be the change to The Nexus (opaque material used instead of a transparent one). The space is now enclosed by a roofless room with curved edges.
Rift Compatibility Changes:
- User starts at normal standing height now, and not in the ground.
- Touch controllers shown instead of Vive controllers.
- Hand orientation now correct to Touch controllers.
- Grab collision now works properly.
- Rift users can now climb.
- Head tracking works properly on the Rift now. Previously wasn't tracking the head properly for Rift users in some parts of the code.
- Menu button now works, allowing Rift users to access all the options.
- Automatic detection of 2 sensor or 3+ sensor setup. Provides users with a back facing indicator for 2 sensors (forward facing). This option can be turned off in the menu.
- Movement input functionality changed to suit the Touch. User doesn't have to click down the thumbstick or press in a button to register movement. Simply push the thumbstick in the desired direction of movement.
- Turning functionality has been given its own buttons on the Touch controllers and doesn't require the user to squeeze the grip while pressing another button to use it.
- Rift users get control guides specific to Touch controllers.
For the Oculus Rift + Touch & the HTC Vive
Version 1.1.1 release
2nd Feb 2017
- Tweaked walking algorithm to provide more control at the low end of the walking motion. Users should find slow sneaking movement to feel more natural now (before it would cut out and stutter at the lowest movement ranges).
Version 1.1.0 release
1st Feb 2017
1.1.0 sees a number of substantial updates to the Freedom Locomotion System, which should help it feel a lot more intuitive and natural for a wide range of users.
- Comfort options have been upgraded significantly, and are highly recommended for users who have any knowledge or even suspicion that they might be prone to motion/sim sickness.
- Added a more detailed calibration system to account for improved functionality.
- Calibrates CAOTS movement ranges to allow it to feel natural for a wide range of different users and their on-the-spot movement styles.
- Comfort mode functionality improved. FOV restriction uses a more distinct black boundary (as opposed to the hazy effect that had the side effect of darkening the entire screen that was used previously) that shrinks and grows per the function that's been used.
- Comfort boundaries can be seen through the black FOV restriction borders, making it a great pairing.
- The comfort level is selected during calibration so that more experienced users will never have to see it if they don't wish to.
- Comfort FOV settings can be tweaked extensively.
- CAOTS calibration sensitivity can be tweaked in menu as well (allowing users to set the sensitivity for different movement bands).
- Improved climbing functionality by providing more feedback. Audio cues and colored outlines to the hands will let players know when they can grab at a surface (yellow outline), and when they've successfully grabbed at it (green outline).
- Improved climbing instructions to make it more obvious what needs to be done.
- Changed Dash and Blink Step functionality to mirror the CAOTS 'touch to move' function.
- Instead of clicking (or double/triple clicking for faster movement speeds) and holding down the touchpad button to move continuously, now the user can simply press the touchpad once, and maintain thumb touch contact to continue moving.
- This allows them to relieve pressure from the touchpad and their thumbs while moving around.
- To stop moving the user must lift their thumb completely off the touchpad.
- CAOTS stopping functionality has been improved. Slide to a stop mechanic has been implemented that quickly but gradually slows the user to a halt, rather than stopping them immediately.
- Slide to a stop has been made an option that can be turned off in the menu (it's on by default).
- Removed the Maze from the tutorial level (currently gone, will add back in at a later stage as more development is required).
- Replaced it with a 'throne room' to the sword.
- Added a ladder near the Huge Robot to allow players easier access to the gun.
- Also unlocked the second gun in The Nexus for immediate use, allowing players to experiment with running and shooting functionality immediately.
- Added a couple more climbing walls to The Nexus - A red platform for 'hard', a yellow platform for 'medium' and a green platform for 'easy'.
- Fixed a bug that was causing falling acceleration occasionally.
- Fixed a bug with prone crawling causing the user to 'bounce' after releasing their grip.
- Fixed a bug where prone crawling wasn't following along with the slope of the virtual ground.
- Fixed a bug where users could pull their head through objects by grabbing and pulling.
- Fixed a bug where the glowing ring indicator around the Comfort mode placard in the Tutorial Level was been bypassed.
- Now if the user attempts to put their head through an object while climbing, both controllers will start to rumble, their screen will continue to black out as per normal, and if they get too close, they'll lose grip on their climbing hand, causing them to fall.
- Redesigned boundary violation system to affect the user mainly when they're moving only in room space (as opposed to moving around with CAOTS while drifting around in room space).
- As a result, the boundary violation system no longer teleports them back if they run against a wall or a waist high boundary while in CAOTS (allowing users to navigate, for example, the Maze (which is currently not available) without been teleported back repeatedly due to grazing the walls).
Version 1 release
The Freedom Locomotion VR Demo showcases the revolutionary Freedom Locomotion System - an immersive way of getting around for VR users that allows them to feel like they're running along a long mountain trail or clambering around on huge robots.
There are 3 types of locomotion that allows users to quickly change between them:
CAOTS - highly immersive in-place locomotion solution that is easy and intuitive to use and will help reduce motion sickness for the majority of VR users.
Dash Step - Alternative to in-place movement, using short dashing teleportations that essentially mimick the action of taking a step, and also reduce motion sickness in the majority of VR users
Blink Step - Alternative to Dash Step - removes the visual motion - like other traditional teleportation solutions but retains everything else, meaning it should make the fewest VR users nauseated.
The demo itself features a variety of levels and terrains for you to traverse, from easy wide open relaxing abstract spaces in the sky, to a rocky mountain trail that takes you over picturesque undulating terrain over the course of 500 meters.
There are also a variety of test objects that allow you to observe the viability of this locomotion system while interacting with various objects, including swords and guns.
For the HTC-Vive
Compatible with the HTC-Vive
Unzip into a directory of your choice.
Log in with your itch.io account to leave a comment.
Yes and no. WMR can use it through SteamVR. But Freedom Locomotion was built in a version of Unreal which had a hand flipping bug - a 50/50 chance of loading the left hand as the right hand - which never posed a problem for the Vive due to the symmetrical nature - but will do for the WMR controllers which are asymmetrical and mirrored copies of each other.
I'm sure I could lost some weight after developing a game with this :D
Greetings! I'm very impressed with your system, and I think it's very enjoyable. I would like to use it in the VR game I'm developing with my team, so I was wondering how does one acquire the system to use? I'm sorry if you've already posted the link or information on how to actually get the project files and blueprints, but I haven't seen anything. Thank you!
is it possible to get the blueprint for the dash movement i have tried to figure out it myself for some time
I've been puttering around with various locomotion systems for the HTC Vive at roomscale, and I have to agree that this is the best locomotion system I've seen. It does wonders for immersion, and although I don't personally suffer much from VR sickness, even my most sensitive friends are relatively unaffected, even without comfort settings.
You mentioned plugin development earlier, and that you would be working on a UE plugin first. Is there any kind of update on when a UE plugin would be available?
This is by far the best locomotion for VR. I really would love to use it in the game I'm making. I know you have mentioned porting this to unity. How far away are we from seeing that? I have already started to try and mimic this in Unity but if you are close to releasing it then it would save me time. Seriously though we need this system in games yesterday!
Thanks Mikekan13. At this time, it's still a while a way to be honest - various issues (including business development) has taken my focus away from plugin development. It's quite probable that I'll be detouring from plugin development to making a game out of it first, so that I can fully understand the sort of issues that one would face in a real development situation - ultimately making for a cleaner, more robust plugin when it's released.
At this time, the VRTK is still a great go to for Unity VR developers, and it features an in-place locomotion solution as well (albeit with a different feel to the one in Freedom Locomotion) - which should serve as a good base to experiment upon! Good luck!
I climbed the robot :). It was a trip. I climbed really high on one of the ladders on the wall, then I fell off; the first time I'd ever 'fallen' in VR. I thought I was going to die, for real, my heart sank. It was great!
Thanks for this. I think you are a really talented, artistic and prolific developer. This demo truly inspired me, beyond just VR and locomotion.
I am really really hoping that the industry follows your lead here. Several big titles were announced recently at E3 for VR retrofitting. Looks like teleport is the status-quo....bummer.
Anything we can do to help push this into the AAA market?
Thanks for the kind words Tadd.
I've been continuing to work on the functionality in response to feedback from users; including the climbing stuff (much more robust now, not so easy to fall inadvertantly).
I've been planning various strategies for getting the broader VR industry to take notice - most devs have their own idea of what constitutes a good solution to their problems at this point, so best as I can figure, I'll need to put together a package that can ably demonstrate the versatility and usefulness of what I've put together here; preferably in the form of a fun (actual) game that can gain some traction in the media.
I still find locomotion to be slightly nauseating but with Freedom Locomotion, that relationship between what my body was doing with what my eyes were seeing completely eliminated that. You've done an amazing job on this Project HugeRobot.
The settings and menus were intuitive and the levels provided good examples of how this can be applied. This could be one of, if not the best solutions to VR motion sickness. I'd really like to know if this also cured motion sickness for other users. Regarding the software itself - no operational glitches or bugs. If there was anything I'd like to see is the option of a compiled display mirror (but that's only really for video capture and something most users wouldn't require).
I did a video on some of my thoughts and reactions to Freedom Locomotion here:
I look forward to future developments.
Hi intraVRt, thanks for the review and the kind words! Much appreciated!
A note about hand selection... for this particular demo, both (hands controlling movement) is really the best way to go - as it lets you use either hand to specify the direction. So you can grab a gun and a sword in both hands, and then when you're running around shooting, you can use the hand grasping the sword to direct movement... but when you close in and start swinging the sword, you can use the gun hand to direct motion. There's a few minutes of learning curve involved there, but it's very natural once you get used to it.
I only actually have hand selection in there for the 'secret' teleport function I've left in (you access it with the off hand, and it works in most places, not all though... although now that I think about it, this might only work on the Vive, so I'll have to double check that). Also it's intended as a way to show other developers that you can use locomotion on one hand, while retaining the other touchpad/thumbstick for buttons and other functions that developers might want to use that part of the controller for.
I've been working on polishing up and also adding a number of new features. Hope to get a major update out in a few days or so.
With regards to motion sickness reports from users using CAOTS - I still get some, but I also get more reports from users saying that it really does work for them (they get motion sick in sliding experiences, but not in this) - showing that this really is a pretty effective solution for many users.
The real intent though is to provide VR with a solution that can allow everyone to use and engage in continuous VR locomotion, so that's why there's dash step and blink step... and soon I'll be adding more, including sliding and an option for proper hybrid-armswinger/CAOTS (as opposed to right now where swinging your arms only helps add more speed at a jogging/running pace).
Once I'm done on feature development, I'll be turning this into a plugin that initially will be accessible by Unreal developers, and then for Unity as well; where VR developers can then build on top of it to make their game. Unfortunately, this also means that it's not really suitable as a mod - so it won't be plugging into existing games and solutions.
Finally, this demo is also available on Steam if users prefer to download from there. Just google for 'Freedom Locomotion Steam' and it should pop up right away.
Oculus Touch/Steam user here. Great job putting this together and kudos for making it free. I really like the walk in place movement. It felt more natural than I expected it to be.
A few bits of feedback:
- The tutorial level should probably have hand rails or collision to prevent users from accidentally falling off the edge. When new users are trying to get their "VR legs" and learn your movement system, they definitely don't want to fall off the edge so easily. In fact, placing users on a series of catwalks in the sky is more likely to cause nausea, or at least some VR anxiety. Since there is no functional benefit to the floating city location other than looking very cool, consider placing the first area on the ground. You can still restrict the path to be fairly linear. Having said that, I enjoyed the overall aesthetics of the scene.
- The dev notes and other buttons require the user to walk right to the edge of the catwalk to touch and activate them. When the text appears, the user is now so close that they need to back up to read the panel comfortably. When a user is still getting used to the system and adjusting to the movement speed, this all feels awkward and cumbersome. It might be better if the button to activate the panel was positioned so the panel appears 1 to 2 meters away when activated.
- Opening doors feels awkward. I feel like I need to get very close to the door to reach the doorknob but then my own collision is preventing the door from opening toward me. I'm not sure if the mechanic of interacting with doors is an important enough feature in this demo to justify significant development time. Maybe the door should just open away from the user automatically as they approach it? Once a user is very close to a level exit, is there really any reason to make exiting the level difficult?
- Consider adding a point-and-click teleport for to be used in conjunction with COATS. This could be especially useful for elevation changes like dropping from a rooftop or even traversing stairs.COATS movement was comfortable most of the time but vertical drops and upward movements still left me a little off balance.
Hi d3lux3, thanks for the feedback. Some good points in there, I'll definetly consider how to best tweak it during the revision process.
The small distance interaction is... tricky. A lot of it is me combining room scale interaction with 1.5m+ distance travel. If you're relying solely on Freedom locomotion for short scale movement, it does become less than ideal. Indeed, this stuff has become so second nature to me that the problem has largely become transparent to me. It's only when you framed those separate (but entirely related) elements like that, that it's clicking for me. So thanks.
The ideal is still to combine room scale and locomotion - that's when the system is at its best. And that's my intent for the door opening/closing - you get up to the door, and you pull it back, taking a step back in real life, then walk through the doorway, again in roomscale. It's a pretty fantastic feeling. On the other hand, if you don't have the physical space to step back as you pull the door open, then yeah, absolutely I can see how it's a not the best way to deal with it! Perhaps a button to the side (like with the dev notes) to open the door automatically so you can stand clear of it.
With that said, the last point you mention is already in there (albeit as an undocumented function) - by switching to the left or right hand for locomotion, your secondary hand turns into a teleportation function. Doesn't work everywhere, but it works in most places. I think there may have been an issue with the rooftop level that prevented teleportation - I'll have to double check (I generally don't use it as you might be able to tell).
I think in general, up/down motion is tougher for many people, so I'll definetly have to design alternative movement mechanics for those sorts of areas (e.g. push button teleportation).
If a player should need to walk through a door or whatever but would be facing their guardian/chaperone, could you not "blink-flip" the person around 180 when they touched or got too close to the boundaries so that the player would physically have to turn around to proceed forward through the door, in which case they would have the rest of the length of their play space to move forward within. Maybe a colored screen flash matching the boundary colors be it guardian or chaperone to go along with the blink-flip to add to the effect of what is happening systematically. It's a little crude, but it beats having to readjust yourself physically. Starfox 64 used a third person animated version of this method if memory serves to keep Fox and team from going past the boundaries, however in VR, a blink-flip would probably be best.
Thanks for the suggestion. Having tried a blink flip solution like you suggest... it's super disorientating. You touch/open the door, and then it blinks, and then you're looking at the other side of the door. Except because you haven't spatially reoriented yourself, it just feels like you're staring at a different door and you've teleported to some non-contiguous location.
Easiest solution... as crude as it'll be, is probably just allow doors to swing both ways, so you can open into it.
Hey, just letting you know that the Steam version of it was not letting me download it without having the VIVE / SteamVR active. It throws the error "Notice: Requires a virtual reality headset...." Since mine's portable system, it's not always attached. I don't know if you can change your Steam settings to allow download at other times. But I wanted to let you know this quirk.
I've only just released the demo on Steam today. Are you able to download it now?
Hi there, HugeRobot! Not to be "that guy," but I was just wondering if you had any ETA on an Oculus version of Freedom Locomotion? I just got my Touch controllers a month or two ago and just found your demo yesterday (through a Robo Recall mod). As someone who has found VR's standard teleportation thing a little disappointing, I was really excited to discover someone was working on this... but then sad to discover that you don't support my HMD yet. I know you'll get there with it, so please don't read the tone here as complain-y. I'm still very excited by the concept and was very happy with the bits of the demo that *did* work.
For what it's worth -- data's always good, yeah? -- I really enjoyed being able to walk around the virtual space of your demo. I know you're probably aware of most of them already, but the only problems I ran into were:
1) The movement was REEEAAAALLLY slow, and there was a barely noticeable difference between the walk and jog speeds for me (and sometimes it didn't seem to kick in at all). Sprint didn't seem to work at all, no matter how much or fast I bobbed my head and swung the controllers.
2) Climbing didn't work at all. I could grip the edge of the ledge and the lowest rungs of the ladders, but I was completely unable to pull myself up. Whenever I tried, it would occasionally seem to raise me up (or sometimes down) by an inch or so, but, inevitably, I'd fall through the floor and end up under the level. NOTE: This had nothing to do with my grip either, as I fell through the floor even when my grip was still actively gripping the rung (or ledge).
3) The MENU button does nothing at all. This makes sense, of course, as it's designed for the Vive menu and not the Oculus, but I was being an optimist. :>) I really, really wanted to change the movement speed so I could run faster through the environment (I was limited to what I'd consider a slow sneak speed and even the jog was slower than a normal walking speed for me), but had no way to get to it. I even tried to find a config file with numbers I could edit manually, but no luck. Ah well. Guess I'll have to wait for Oculus support.
4) Fwiw, during the calibration stage at the beginning, it put the floor at my eye level (roughly). I held my Touch controller up over my head and clicked CALIBRATE, and it decided I was 5 inches tall. I ran calibration again and -- just as an experiment -- stood on a chair (not advised, btw, while wearing an HMD) so that my head was a couple of feet higher and held my controller up until I touched the ceiling of my room and clicked CALIBRATE again, and it set me at 5" tall again. I.e, it seemed to ignore my height (as well as both my Oculus Home and Steam VR setups) completely. Once the actual demo started, however, I was at the right height.
Anyway, I know these are all issues that likely have to do with it not being compatible with my HMD yet, so maybe this is useless info for you. But as a fellow dev, I know sometimes key information can come from places you least expect. :>)
However long it takes, keep up the good work, HugeRobot! This is exactly the direction VR needs to go and I'm glad to see someone is leading the charge. I can't wait til this is not only available for the Oculus but also standard for VR games.
Oh! And since I was so long-winded here, I should probably repeat my initial question: Any ETA on an Oculus version? I'd love to review this on my channel when the time comes.
Thanks for the detailed feedback! Much appreciated. Good news is the Rift update is pretty much done. Just some final testing and upload. Going to get it up on Steam as well, so I'll have to go through that process too.
But yeah, all the things you've identified are reasons I told people that it wasn't compatible with the Rift (but I didn't take action to lock out Rift users explicitly).
The Rift version is every bit as good as the Vive version now; if not better, because of the analogue stick - so hopefully when I get the update live in the next day or two, you'll be able to go through it again and give me the same level of detailed feedback there! :D
Awesome! I can't wait! And thanks for the quick response. I expected it would be a while before you got around to it, so I'm very excited to hear it'll be sooner rather than later. Especially because -- and no offense to any other devs because I'm glad people are working on this stuff and trying lots of things -- when your demo didn't work for me, I checked out a few other VR locomotion solutions that I found floating around the web and, tbh, I didn't like any of theirs as much as I liked yours. I really think you're on the right track.
And now I play the waiting game.... *steeples fingers* :>)
The Steam and Rift release is taking longer than expected due to some learning pains. But it's available to select users now. Let me know if you're interested. Contact me via my website to take me up on the offer. Cheers.
It took longer than anticipated, but the Rift update has gone live :)
Give it another shot, I hope you enjoy it!
Hey HugeRobot! I really like the system you have provided and I have a couple of suggestions:
1) allow for some horizontal head movement to be applied to walking. I don't tend to move my head much vertically which means even at max sensitivity I am having to bounce awkwardly to walk, its not an issue for jogging and running, just walking.
2) I think this is a bug: whenever I am pulling myself over something, if I look down at my feet while I bring the surface to my feet, I end up teleported many yards in the air, not sure why. Does not happen if I do the same thing looking forward.
3) allow for some griping of terrain at an angle. In the mountain level I tried climbing a hill, but because it was too steep and the terrain would not allow me to grab it, I was unable to
Thanks for all the hard work! I am really enjoying this demo! Whenever the system is complete will it be made available for developers to use? And if so will it be ported to Unity or just Unreal? Thanks again!
Thanks for trying out the demo, and for the kind words. The feedback is much appreciated. In response to your questions/points
1. Unfortunately, horizontal head motion is fraught with its own issues; primarily if you read horizontal motion as forward vector motion - you'll be moved around inadvertantly when you're just looking around (with the movement active). It's what I started with, but moved away on, because it just didn't feel good.
There are a lot of options that can be tweaked to adjust the movement more to your liking... if it's the case that you don't move your head much, and thus keep falling below the activation threshold, in the version I'm working on right now (nearly done; just a bunch of UI work to update) I've removed the activation threshold... it just comes at the cost of rejecting some inadvertant head motion when turning your head - but it's fairly minimal, and I think ultimately improves the outcome.
I think the other thing I can do to improve the walking situation is to give an explicit walking video demo to show exactly the extent to which you need to walk/move on the spot to provide a good outcome. In my live demos, the instruction 'walk on the spot/in place' seemed to be insufficient for some people (while others understood right off the bat); mainly with people producing minimal or timid movement.
Ultimately, these issues tend to disappear once you've spent a bit of time acclimatizing and getting used to it... but this kind of feedback is valuable in helping me know where to focus to make it better *right off the bat*.
2. Yes, that certainly is a bug. I'll have to test it a bit more as you describe it - but I recently solved a problem very similar to what you're describing; hopefully that solution has caught the same issue you're experiencing.
3. There is some ability to grip flatter terrain (it's what allows for you to grab the ground while prone), but relaxing the angle too much essentially makes everything climbable. Which isn't a terrible thing, but it's also kind of a 'game breaking' thing - not that there is a game to break per se; merely that I wanted to show that the system could have reasonable limitations. The angles and the rules of climbing can certainly be altered according to many different elements (e.g. a stamina grip system, equipment, etc). But I don't have specific plans to do it with this demo, because I wanted to focus it more on the walking/movement aspect.
Yes, the plan is to build it as a plugin for first the Unreal system and then the Unity Engine so that I can help get this functionality far and wide in VR. That said, I've had to deal with a lot of non-development work recently, so work has slowed down a bit; but hopefully the time I'm investing into the non-development side now will help speed up future development.
Hi HugeRobot, I can not download a demo! it give an error on download.
I tried couple browsers and download manager, but met with a failor also.
If there some other way to try out your demo :)?
That's disappointing to hear. I'm not sure why that'd be - I've been told the same by a couple other people - but I've also had thousands of user successfully download it... so my guess is it might be some sort of VPN issue with itch.io? I'm not certain there.
I've been working on an update to this for a while (things going slow due to non-development activity occupying a lot of time), so will be releasing a steam version of it soon - hopefully within a week or so.
Will post here and on the social media channels (reddit/twitter/facebook/etc) when I've uploaded the Steam version. Thanks for the interest!
Took a quick look at CAOTS, got motion sick with movement that was not foreword facing (can explain more if you like). I am creating VR content within UE4 and interested in non teleport based VR locomotion. I am very sensitive to motion sickness so I can quickly identify what works. I will be testing out Dash Step and Blink Step today. If you like I can provide detailed feedback.
Thanks for the feedback. How'd the dash/blink step testing go if I may ask?
CAOTS has a lot of mechanics that help reduce motion sickness for a wide range of users... but it's not a bullet proof solution unfortunately. That's a large part of why dash and blink step are included in the first place. But at the same time, I think it's capable of slowing the rate at which people get motion sick - such that people can reasonable use it to build up their motion sickness resistance over time, especially if they're mindful and avoid the actions that are more likely to cause motion sickness... although this too isn't a perfect solution by any means - given that resistance can go back down over time if the user doesn't continue using VR on a regular basis.
I tested them out, the blink step was the best for me. I noticed that with VR moving foreword works best. When the movement changes based on the controllers direction or look direction it start the motion sickness. Any artificial movement that is not foreword facing makes me nauseous.
Elevation change was a big one, as soon as I moved up the stairs or down, it was nasty and had to stop.
I got an idea for you. On the touch pad button press start moving the player in the foreword direction they are looking. But allow the freedom to look without any change in direction. Then when the button is released stop the foreword motion. The speed should be slow, maybe at walking speed or even slower.
I got a feeling that could work and it should be simple to build.
Thanks for the feedback. Glad blink step worked out for you.
As for the suggestion - I'm aware that there are a few other games that employ a scheme similar to what you're describing (e.g. Technolust), but through my own research and testing, it's not an ideal scheme for most users, because you lose a great deal of the flexibility of movement... moreover, most people don't expect motion to be stuck in one direction, but follow their bodily direction of movement.
The main thing I'd suggest if you know you can get nauseous easily from non-forward movement is to keep your hand by your side, aligned with your torso. This should be easy as it's essentially the default resting position for your arms when moving. Also there's an option for 'Simple Touch', which rejects the thumb direction and only uses the controller direction.
This way, you're only moving in the direction of your body - but retain the flexibility to turn and move without having to stop and start.
For more advanced users, simply moving in a manner that roughly indicates their intended direction of travel is sufficient to help further reduce motion sickness (e.g. if I'm moving sideways, I mimic a motion for strafing, or if I'm moving backwards, I mimic a motion of backpedadling).
As for the elevation issue - it's a difficult one to deal with outside of teleportation/blink stepping. I think a reasonable compromise is to make elevation changes optional by allowing players the ability to teleport between the different levels, or to reduce the amount of elevation changes in general.
I assume you had the comfort mode on high?
You can actually mimic the 'walkabout' solution featured in cosmic-wandering in Freedom Locomotion VR - by using the grab turning functionality. To activate grab turning, you hold down grip and press and hold the touchpad. The camera then rotates along with the position of your hand, meaning that you can walk from one end of the room to the other - grab turn, keeping your arm by your side, turn around physically, and then let go of grab turning. You end up facing along the same direction on the path in VR (much like the cosmic wandering system) while having the full extent of the room in front of you to continue walking. Repeating this process allows you to walk physically in a much larger space then you'd otherwise have access to.
Indeed, it's actually a better implementation of that sort of system in my opinion (even though it's only a secondary intention of grab turning) - because instead of locking the view to your head, it locks it to your hand, meaning that you can continue to look around freely while turning around, which is useful for seeing where you actually need to turn to next without actually affecting where you'll end up turning to, which can feel quite disorientating.
Despite all this, I don't prefer using grab turning in this manner - the frequent turns in order to cover any reasonable amount of space is both inconvenient and pulls you out of the immersion of VR - even though you get the benefit of actual 1:1 physical movement. This is because CAOTS is more than a good enough solution (at least for me) for covering both large and small distances in VR while still staying highly immersed without much motion sickness to boot.
Very interesting, looking forward to the demo.
Hope you enjoyed it! On the off chance you mean that you think it hasn't come out yet, the link to the download is right above!
I really liked the demo. Actually, it is a wonderful jogging simulator as it is, especially the mountain level. I can see myself using it everyday to get some exercise. Regarding the CAOTS system, running is perfect. As for walking, the first few minutes i tried, i had to exagerate my movements and i felt like walking like a thug from GTA, but after a while i managed to be able to walk quite normally. I think it helped me to set the "speed off head movement only" a little faster than default. i felt it was more natural this way and easier to walk moving slowly. I also found the gun (but didn't manage to get the robot angry ;-) ) and shooting while walking/running felt very good. Overall i am sure i'll play this locomotion demo more than most VR games i have.
Hi ch4r13 G0rd0n,
Glad to hear you liked it! I've had a lot of comments about the walking speed not been quite sensitive enough, but the users that have managed to spend a bit more time with it have ended up liking it, like yourself. But nonetheless, I've taken on board the feedback and have spent the last couple weeks tweaking a lot of details and have also added a calibration system - which means the system will fit your movement style as best it can without forcing the user to tweak until they get it right (although you can, and there are now more options to do so!).
I'm literally in the process of uploading that update, so hope you give the updated version a shot!
Huge fan of the CAOTS system you have here. You mentioned interest in bringing this to Unity and I'd be very interested in using it in my own projects if that was the case. As others have said the climbing could use some refinement but I think that will come with time. The physical movement of CAOTS is the best I've used in VR and I really want this in my own game(s).
Thanks for the kind words! It's in my plans to bring this to Unity, but it's not something that will be happening quickly - not least because I actually have to go through the process of learning Unity as well. If I can find a pathway to accelerate development, then that'll be the way I'll go so I can get it out to everyone faster - there's a lot of demand for a full featured physically oriented locomotion system like what I'm showing off, so I'm working hard to fulfill that demand.
Hey HugeRobot, if you're looking for some help with Unity I'd love to help. I imagine you might be able to base your work in Unity off of what VRTK has already done. They have a climbing system, full interaction as well as locomotion but it's not as smooth as yours. Their work is open source on GitHub if you want to check it out.
Either way, I've never written a locomotion system myself, but would love to contribute or at least help with Unity if you need it.
I am very excited by your approach and any possibities to work with the development you have made.
Thanks for the interest. At this point in time, the system is only a tech demo to showcase the potential of these systems to both VR users and developers. I'm continuously working on it to refine it based on the feedback received, and once I'm satisfied with the functionality, I'll be working on refactoring and refining the code so that it can be released as an Unreal Marketplace asset that I'll be proud of. I estimate (very roughly) that this process will take 3-6 months. Unity support will come after that (or sooner if I'm able to grow my company faster than that).
It's a neat idea but I've got a weird problem. The menu doesn't work. I can't click on any of the options. Oh and also, the climbing is very frustrating. Tried climbing the robot but could never make it more than a few bars up on the ladder. There's basically zero margin of error. I'm really good at Climbey but trying to climb in here is just frustrating. In Climbey, you don't have to be perfectly spot on with your grabs because your hands have a bit of magnetism (I guess) and so, as long as you're close, you'll grab it. Here, my hand was visibly grabbing the bar (felt the vibration and everything) and I still fell as soon as I let go of my other hand. The climbing mechanics is this, feel far inferior to the climbing in Climbey. Overall, I do like it but between the climbing issue and the menu issue, I probably wont be revisiting it.
Thanks for the feedback. Sounds like you've been affected by some of the bugs that I've been having difficulty tracking down.
Also are you using an Oculus Rift or a Vive? The Rift is currently not compatible (although I haven't specifically turned it off), but I've been getting reports of a couple users with hard to hit buttons using the Vive too.
That said, I've made a number of improvements to the climbing system based off feedback from others; hopefully once I rerelease/update, people like yourself will find it much more intuitive!
Hey HugeRobot! I just finished going through the demo and I have a few comments on it. I'm using a Vive and am running a gtx 1080 and i6700. As far as climbing goes, I had the same problems as Balian. I could never make it past more than a few rungs and the collision on the blocks seems to be very strange. It feels like you may only be able to grab edges of objects or something, I can't quite tell. The physics seem to be a little wonky as well. Sometimes when I let go, I seem to start falling immediately at super fast speeds. As Balian said, Climbey feels great to play so I'd suggest spending some time with it and trying to capture the same feel. Climbing stuff may need a little more tweaking, but the main reason I checked this demo out was for the movement system.
First off, I'd like to say that running felt great. However, it was a little annoying having to hold the trackpad the whole time. I'd suggest changing the double click feature from a tap to activate into a straight up toggle. Basically, double tapping the pad will engage movement without the pad needing to be held. If that were the case, I feel like jogging around would have been a real treat. Otherwise, running felt natural and I picked it up extremely fast. Unfortunately, I can't say the same thing about slow movement.
It might need more time with it, but trying to walk slowly with precision was pretty much impossible. I found myself trying to take small steps and observed when doing that, my head made very little vertical movement. I tried bobbing my head, which worked, but felt extremely unnatural. One thing I was surprised by was that the hand movement only activated while the head was also moving. I was constantly trying to walk by slowly swaying my hands, but of course nothing happened as my head wasn't moving. I'd suggest making the hands cause movement by themselves to see how that feels. Climbey uses a hand sway system to walk around and it feels pretty darn good.
As an extra to the slow movement problems, I also had huge difficulties in the confined space of the maze. The slow movement difficulty was a big part, but the main problem was the system for dealing with walls. Whenever I touched a wall (which was all the time due to the movement) the screen when black and teleported me a couple steps away from it. This was insanely disorienting and made navigating the maze by far the most frustrating part of the demo. I did very much enjoy how when inside a wall, the boundaries appeared and showed where the playable space was, I think all games should implement that feature. However, I could only see it for moments at a time because I was teleported away, I'd suggest tweaking the system so that running into a wall makes you stop movement, but teleportation is saved for only extreme cases when the person has used room scale to try and walk through the wall completely. Wall clipping and teleportation should never be activated by the movement system alone.
Taking everything in, I'm very happy I gave this a shot. The system shows a ton of promise, especially for open areas. In the mountain level, I actually took the time to run to the highest point I could get to, and worked up a sweat in the process. It felt great! With some tweaking, I think this could be quite an elegant solution to the VR locomotion problem. One strange thing I ran into was a somewhat terrible framerate. Even with my 1080, I had to keep SS to 1.0 and even then I experienced quite a bit of stutter. This has nothing to do with the locomotion system though so it didn't really impact my thoughts on that, but some optimization is definitely necessary for the eventual Steam release. I'll be keeping my eye out for updates and thanks again for such an interesting experience!
Thanks for the reply. Excellent comments.
I've been working on remedying a lot of the issues you've described (as they've also been experienced by other users). The comment about the boundary walls is quite useful, and I'll have to have a play around with it.
I actually had the double click to toggle movement on implemented before, but changed it under advice from another tester. Having tried both methods, I think I prefer the touch to move option more; allows flexibility without adding additional stress to having to push down. I might actually merge the options into one unified - click to start movement, but lift off finger completely to stop as the default. That way you don't accidentally trigger movement, but you don't have to grind your thumb into the touchpad. I'll see how user feedback goes.
The climbing is something I've been working hard on - both in conveying when you can climb and in communicating to users how to climb. The long and short of it is essentially that you can grab corners to pull yourself around. You can also grab shallow inclines (like the top of a table, or the top of the Huge Robot foot). Hopefully those changes will help improve how the climbing is perceived.
The slow walking locomotion is another issue I've been working hard on. The real challenge is that there are a variety of styles of walking in place, that a single default setting can't readily capture. So working on a detailed calibration system that will allow users to set it closer to their personal preference/style of moving right off the bat. For the people that it works for (currently), I've been told it's fantastic for all movement speeds though.
Hope to get an update in shortly.
Thanks for the quick reply! For the movement toggle, I like the idea you have about the press to activate, but stay tapping to move. Even so, I'd love to try a toggle approach. Maybe just keep it as an option and see what people are into? As for climbing, knowing that it applies to edges is a useful tip. I'll have to go in with that knowledge and see if I can't get it down and maybe offer some better feedback. I actually have been talking to friends and they have liked the slow movement, I might just need more time with it. I'm still pretty set on using your arms to move though... I'd need to try to be sure. Anyways good luck and thanks for the demo!
> I actually have been talking to friends and they have liked the slow movement, I might just need more time with it.
There are a fair number of options in the menu to tweak to your hearts content. 'Realistic' has been calibrated against my own movements - I measured the number and distance of steps it'd take me to cross my room and tweaked it to match the same with walking in place.
Having said that, I think the issue that many are finding with 'slow' movement (and probably effecting yourself) is that the system currently prefers exaggerated head motion when walking. The best way to achieve this is by essentially pushing off and landing on the tippy toes before allowing the heel to land on the ground. This produces a pronounced head motion which works well with the system.
The other method of walking that I've observed and tested myself is definetly much slower than intended (about 1/4 to 1/3rd of intended pace) - so hopefully the calibration changes will allow both users to enjoy the system at all motion ranges. Luckily, jogging and running speeds consistently produce sufficient head motion for all users.
Hi Steve, just to let you know, the demo has been updated with a lot of the fixes. You should find the experience to be substantially improved if you'd like to give it another shot! Cheers.
Hello, you're making an awesome job! Unluckily I've downloaded your demo and tried to run it with my Oculus+Touch setup through SteamVR, but it doesn't work: it seems to launch directly through Oculus and this is an issue. If I try to use FakeVive, it throws an exception. Have you an idea on how to fix this?
I'm not sure how to fix that - but I do know that Rift users trying it now will get a very sub-optimal experience.
Rift support is something I'll be working on for the Steam release (and I'll update the itch.io version then too if you prefer to download from here), and will provide a far better experience if you can hold off until then.
I would have liked to review it on my blog :(
Anyway, when I launch the game, it doesn't even launch SteamVR by default... it is like it does not pass through SteamVR on my PC... very strange stuff