Wednesday, January 17, 2024

Dev Update #61 - VRidge releases on Steam.

VRidge releases on Steam

Hello RiftCats. After years, we have made an effort to release VRidge on Steam!

This move is a significant step towards making VRidge and affordable PC VR gaming even more accessible. To mark this occasion, we're offering a special 30% discount and regionally adjusted prices. If you haven’t yet purchased the full version of VRidge or want to add it to your Steam collection, now is the perfect time to do so.

You can find VRidge on Steam by following this link: https://store.steampowered.com/app/2677750/VRidge/

I want to continue using my old VRidge purchase

For those who have already purchased VRidge, rest assured that your license is still valid. The non-Steam RiftCat client will continue to work seamlessly, and you can always access it at https://riftcat.com/vridge, referred to as the “Legacy Client”. To unlock the full version of this client, use your RiftCat account credentials, VRidge/GameWarp invoice ID, or VRidge/GameWarp code from Kinguin or other sources.

As part of this release, we've cleaned up VRidge by removing some obsolete features and addressing minor bugs.

We're excited about this new chapter and hope that VRidge will continue to introduce people to the world of PC VR gaming for years to come.

Stay tuned for more updates and happy VR gaming!

Friday, May 21, 2021

Dev Update #60 - Beta Android 11 bug fixes.

 

Minor VRidge update.

Hello RiftCats. It's been some time since the last time we wrote.

Today, we have released a Beta update for VRidge. The update focused on addressing several bug fixes that came up with the release of newest phones and Android 11.

New changes in Android VRidge version 2.7.9 include:

  • App should no longer start with black screen on Samsung devices.
  • App should now correctly support high refresh rate displays (e.g. 120Hz)
  • Devices with Variable Refresh Rate should now switch to highest available refresh rate for better and smoother experience.

To test the Beta features, learn how to join Beta channels by reading THIS guide. After testing this release on a Beta channel for some time, we will push it to everyone.

What's going on at RiftCat?

You might have noticed that we didn't make too many VRidge releases over the past several months. The reason for that is that we consider VRidge to be everything we ever wanted it to be from the very beginning:
  • It's an inexpensive entry point to PC VR using simple Google Cardboard headset using any mobile operating system (Android, iOS) and any VR ready PC configuration (NVidia, AMD graphics cards).
  • We have created our own stable backend with reprojection that provides smooth 3DOF headtracking experience.
  • It supports various standalone headsets like HTC Vive Focus, Oculus Quest, GearVR and other headsets that came and went away throughout the years. Most of these headsets start to rollout their own streaming solutions now so we are not pushing there further.
  • VRidge supports various plugins and extensions that increase its capabilities further.
  • Everything in an easy to use package with tutorials, quite good UX, generally pretty optimal experience and active support at support@riftcat.com 
With this in mind, we consider VRidge to be a software product that is complete. We could make a new minor feature here and there but it would not change the overall perception of it. We simply consider VRidge to be in "the maintenance mode" where we are making sure that VRidge works and is operational. There are other factors for this decision which some of you might have read about in detail at this Reddit post. We might of course release something big when a new technology will come up but for now nothing major is planned.

In short, VRidge will still work - it is a good product that we'll make sure is operational :)

What's next?

VR market is still being shaped by the major players. We had several of huge corporations in this space, before they cancelled their VR products (Google Daydream) or switched to enterprise VR solutions (HTC). The whole landscape of VR became unsustainable for such small company as RiftCat, so we need to make some strategic change or we would fade into nothing with time.

Gaming is what brought us to the VR in the first place, that's why we made a decision to shift to something we always dreamed of - game development. We are working on our first game designed for mobile with aspiration of being as fresh in mobile gaming space as VRidge was for VR industry when it first came out.
It is still quite early in development, but the game will be of a tycoon/strategic type, heavily influenced by games like Transport Tycoon: Deluxe, Anno series and Industry Giant. We cannot wait to show you what we came up with so await more news from our team!


Thursday, July 16, 2020

Dev Update #59 - RiftCat 2.7 - Reprojection for Everyone RELEASED

Reprojection for Everyone is RELEASED
New VRidge 2.7 release brings reprojection capabilities to most mobile phones. Everyone will now have this feature on default (granted that your hardware supports it).

Your VRidge mobile app should update automatically. RiftCat client version stays unchanged.

What does it mean for me?
Basically, if you are using a Cardboard viewer + smartphone with VRidge, you should see much smoother head turning motions while streaming. See our previous blog post.

VR reprojection is one of the most important things that makes everything feel smooth and natural. Without reprojection moving your head has a long response time because the data needs to travel from the mobile device to the PC and back making few stops along the path at different pieces of hardware, each stop adding some latency and inconsistent delays.

Rotational reprojection conceals the delay, smooths out the judder and makes the image respond nearly instantly to your head rotation, as if it was rendered locally. The technique is already used in most PC HMDs and we were already using built-in reprojection where it was possible (Daydream-certified, Oculus mobile and Vive devices) so you might have already used it. This update includes our own reprojection system which makes it possible to support it on much wider range of devices.

This is more important now than ever because as you may have heard – Daydream is no longer supported on the most recent smartphones. While there are many users that use VRidge on Oculus Quest which has the benefits of full 6DOF tracking and motion controllers, there is still a lot of you with regular phones. As you upgrade to the latest iPhone, Samsung Galaxy or other great Android devices, we've upgraded our algorithms to keep up with the hardware. We’re happy to announce that with the 2.7 update you will be able to enjoy motion quality similar to Daydream-certified devices. If your device has high-end hardware, we’ve made sure it’s utilized to its full potential.

The new update will work with both Android and iOS devices. VRidge detects your phone capabilities automatically to enable the suitable reprojection mode.

Enjoy Reprojection for Everyone!
If you'll encounter any issues, send an email to support@riftcat.com where our team will try to quickly resolve your issue.

We hope that you'll enjoy the new update. See you in VR!

Tuesday, April 28, 2020

Dev Update #58 - RiftCat 2.7 Beta - Reprojection for Everyone


RiftCat 2.7 Beta - Reprojection for Everyone
This was originally planned to be a part 2 of the VRidge 2.6 Streaming Enhanced update but we had to postpone it due to various reasons. Now it's here as its own update!

This update will improve head turning motions on most mobile phones (even those not designed with VR in mind) by utilizing reprojection (also known as TimeWarp in Oculus products).

To test the Beta features, learn how to join Beta channels by reading THIS guide.



Reprojection and reasons behind it.
As some of you might have read, Google killed another project of theirs which is Daydream. This means than there is a constantly rising chance the next mobile devices generation will not be able to launch Daydream apps on which VRidge is based a lot.

We could not allow our users to lose the ability to play PC VR games with their Android devices so we created our own reprojection within VRidge so capable devices can use it even without being Daydream-certified.

What this means is that if your mobile phone supports some specific GPU capabilities it will be able to utilize reprojection - it will provide a completely smooth experience when moving your head in your Cardboard device!

VRidge will now ask for the camera and file read/write privileges on your device (to be able to read and store your VR viewer QR code) as previously Daydream SDK handled that.



Will it work on my device?
As of this Beta release, this feature will work only for Android devices (iOS is in progress). We will deploy support for next devices to the Beta channel as soon as they'll be ready.

Our reprojection implementation has 3 modes, best mode will be selected automatically, depending on GPU capabilities, OS version and so on. Those levels are:
  1. Synchronous reprojection - Most simple implementation. All rendering work is done on one GPU thread. After app finishes frame, that frame is being warped to screen with offset to cover difference between pc render orientation and current mobile orientation. In this mode frames should be placed correctly, however motion might not feel silky smooth.
  2. Asynchronous reprojection - This mode separates app rendering loop from VR rendering loop. Because of that we can achieve stable framerate and smooth motion, even if some frames are dropped in transport from PC.
  3. Asynchronous reprojection with direct rendering - Just like in previous mode, this one preserves constant framerate and smooth motion. However because of rendering directly to screen, latency can be significantly lowered. Typically when frame is rendered, it goes to Android Surface Flinger, which is responsible for composing final image that is displayed on the screen. Because of that composing step and double buffering, in default rendering mode frame is displayed 1-2 vertical syncs after it is rendered. That means about 17-33 milliseconds of latency on standard 60Hz display. With direct mode we are able to render directly to front buffer of display. That allows to skip all composing steps for VR layer, significantly lowering latency. Our current implementation works at 8ms latency on 60Hz display. This mode however requires a lot of modern GPU extensions and is mainly designed for newer phones (we mainly tested it on Samsung Galaxy S20, Samsung Note 10 and Razer Phone).
To check out with which mode your reprojection is working (or not working at all), launch VRidge (Diagnostics). It will display the appropriate information.



How to help us with testing?
When you'll test this Beta release and encounter any issues then please send us detailed logcat to support@riftcat.com with a description of your phone model. You can read about logcat here.

If your issue is directly visible on the screen, then simply send us the screenshots. Any additional info is highly valuable.

Your personal opinion also interests us! What do you think about the update? Give us all your thoughts.

Tuesday, April 14, 2020

Dev Update #57 - Streaming Enhanced release.


RiftCat 2.6 Release
Thanks to the Beta tests, we were able to catch most of the bugs within the new version and today it is becoming available for everyone.

To be sure that your update goes smoothly:

Platform What should happen?
PC RiftCat client should update automatically. Make sure to switch to stable channel in RiftCat Settings -> Update tab.
VRidge from Google Play It should update automatically.
VRidge from iOS store It should update automatically.
Oculus Quest Re-do the installation process if installed via script. SideQuest version will update automatically.
Oculus Go / Gear VRIt should update automatically.
Daydream It should update automatically.
Viveport It should update automatically.

Streaming Enhanced brings vastly improved streaming quality, especially on NVidia GPUs.

Initially, we planned Streaming Enhanced to be a two part update, but due to certain circumstances we decided to postpone Part 2 to a separate 2.7 update that will be available in Beta soon. For now, just enjoy VRidge with a much better quality.

There are three categories where VRidge got upgraded.

Image Quality
Some time ago, we found out that streamed image by VRidge has a bit oversaturated color pallete. At the time we thought that it made colors a bit more dynamic and alive. Turns out, it causes visibility issues in dark environments - which is especially visible in Skyrim VR.

The issue is now resolved. We have improved color accuracy to be 1-1 between the generated image on the computer and the receiving mobile device. Everything should now be clearly visible.

Below image shows the color comparison between VRidge 2.5 and the newly released version 2.6.

Click image to enlarge

The 2.6 frame may seem to look a bit more washed out but it is nearly perfectly color-accurate with frame rendered by SteamVR. Mobile VR displays often use low persistence displays where 2.5 frame was displayed too dimly, resulting in lost detail in darker scenes. You can also manually adjust frame brightness with gamma slider in PC app settings.

Latency

An endless subject of latency is often asked whenever PC VR streaming is discussed. We did a fairly good job at keeping the delay of streamed image at bay but we found out a way to squeeze even more performance.

Stream latency
If you have an Nvidia graphics card you can expect a quicker image response. Thanks to the optimizations that we made you should expect latency reduced by additional 5 to 10 ms.

The image below, shows the sampled latency before VRidge optimizations.

Click image to enlarge

Next image shows the sampled latency after new changes got applied.

Click image to enlarge

Rendered at 1080p@60FPS, encoded with GTX 970 @ 17 Mbps, transported with 5 GHz Wi-Fi.

Pictured latency is measured as a time between first and last event of this process:
  1. Getting fresh head and controller pose data from device sensor. Usually sampled at 200 Hz, depends on mobile device.
  2. Sending sensor data to your PC.
  3. Submitting sensor data to SteamVR.
  4. Rendering game frame with the tracking data from phone.
  5. Encoding pixels by NVENC with H264 or HEVC.
  6. Sending encoded frame back to your mobile device.
  7. Decoding frame from H264 or HEVC to GPU-understandable RGB texture.
  8. Binding texture to target VR environment.
At this point the frame is out of our control, it is going to be displayed ASAP with reprojection appropriate to target VR runtime.

In 2.6's NVENC update we improved CPU, GPU and memory transfer delays that were occurring between steps 4 and 6 which should result in 7-8ms better latency.

Controller latency
Additionally to the stream speed improvements, we have used better prediction algorithms for rendering and sampling of the controllers.

With this, you can expect a much faster response whenever you'll move your hand in virtual reality - no matter if you are using VRidge Controller, Oculus Quest Touch or Daydream View 3-DOF controller. All of them should benefit from this new improvement.

This change brings the controllers latency to near native level, making a pleasant gameplay experience. With newly released Half Life: Alyx - Quest users have an awesome gaming time ahead of them :)

Stability

Some of VRidge users had issues with artifacting. It could happen from time to time or happen constantly depending on the user hardware configuration. Especially on 2.4 GHz WiFi networks.

With this upgraded release we re introducing an error correction system. It will compensate for lost packets during the stream allowing for more stable video streaming.

This should allow VRidge to push for higher bitrates as the stream won't get broken with even the smallest packet drop. It will increase the picture quality and get rid of ugly artifacts.

On default, VRidge stream will now add 5% additional data with each frame for the error correction. The system is adaptive, when it will discover that the stream is losing more data than usual, it will adjust the amount of error correction data to provide the best experience possible in granted conditions. If you want to manually tinker with this system, you can override all values as described in our previous blog post (link).

In addition to that, VRidge should now detect lost frames much faster than before to make the error correction system response quicker. With this, you should expect basically no image artifacts during your playthroughs.

If you have Nvidia video card, we did some encoder tweaks as well which should also provide additional improvements in this area.



What's next?
We still have before mentioned Part 2 of this update in preparation. It is related to Daydream cancellation and it will be a game changer for many VRidge users that use regular phones with it. The Beta should be ready soon - we'll let you know about it as soon as it will be published.

We hope that VRidge Streaming Enhanced update will greatly improve your experience. If you like the new changes, let us know about it. If you don't, also provide us feedback so we could fix any issues that might have appeared. Your voice can always be heard at support@riftcat.com

If you like VRidge and the new update - spread the news. Our software lives thanks to your engagement in VRidge community. Any social media posts, articles, videos with VRidge help us tremendously.

Have fun in VR!

Tuesday, March 10, 2020

Dev Update #56 - Streaming Enhanced Beta - Part 1

RiftCat 2.6 Beta - Part 1

We did a huge internal rework of VRidge streaming possibilities, squeezing more performance from our streaming technology. 

To test the Beta features, learn how to join Beta channels reading THIS guide.



In this Beta release you should have a significant improvement to the streaming latency, quality and stability. VRidge should also handle much higher streaming bitrates.

This is a part 1 of this Beta release. We have one more thing in preparation for this update package which will be updated to the Beta channel in the upcoming weeks.

Improved picture compression quality.
Error correction has been added that should compensate for small packet loss. This allowed us to push for higher bitrate with lesser chance of artifacting. On average, picture quality should be 20% better. We also tweaked encoding settings that should improve quality further on nvidia cards.

Improved color accuracy, especially in dark scenes.
We changed the way color palette is mapped during compression. Transmitted picture stream is now color-identical with original rendered picture. Previously contrast was a bit off which resulted in generally reduced visibility in darker scenes.

Reduced latency on Nvidia cards.
On average we reduced encoding path by 5-10 ms. This means that in 50% of cases, it will be one frame faster than before.

Reduced latency of Oculus Quest controllers.
Oculus Quest controllers are now using better prediction during rendering and sampling which reduced perceivable latency to near-native levels. This has effect on other controllers but Quest benefits the most from these changes.

Implemented multiple ways to reduce mid-stream artifacting.
Along with error correction, we added a better frame loss detection which should correct lost packets faster than before.

Known limitations

First few seconds of stream may be unreadable in certain cases. This should resolve by itself in 1-5 seconds.

Minor changes

  • Oculus Quest controllers should have more accurate positional placement.
  • PC builds are now 64-bit only.
  • Updated enet networking library.

Advanced configuration options

There are new options in VRidge.cfg file that can be edited by hand using any text editor.

"Video.ECC.MinPercent": 5,
"Video.ECC.MaxPercent": 30,

Configures minimum and maximum amount of error correction packets. It will dynamically adjust ECC percent between Min and Max, based on frame loss.

"Video.ECC.FixedPercent": null,

When not null, it will override ECC percent to a fixed amount.

"Video.Encoder": "NVENC",

Now starts the new Nvidia encoder, old one can be switched on by using LegacyNVENC instead of NVENC.

"Video.Nvenc.IntraRefresh.Duration": 15,
"Video.Nvenc.IntraRefresh.Period": 360,

Configures how "keyframes" are spread over the stream. Example above means that a keyframe is issued every 360 frames and is fragmented over 15 consecutive frames.

"Video.Nvenc.Invalidation": true,

Configures NVENC to use reference frame invalidation which lets encoder know that some frames were lost in transport and should not be used as references for predictive frames (less artifacting).

"Tracking.Controllers.PoseAge.Api": 0.03,
"Tracking.Controllers.PoseAge.Default": 0.06,
"Tracking.Controllers.PoseAge.Quest": 0.0,

Configures how old (in seconds) the controller data is compared to rendering time. Changing this value will affect prediction (perceived latency vs overshoot and judder)


Stay tuned for more

As always, we are awaiting your feedback to this Beta release at support@riftcat.com. Also, keep tracking our dev blog for news about part 2 of this update.

Have fun with improved VRidge quality!

Thursday, December 12, 2019

Dev Update #55 - GameWarp release!

It's finally LIVE. We have released VRidge update 2.5 which is now available to everyone. It contains GameWarp feature and several other improvements that we made over the last months.

Deployment status:
Platform Version Status Link
PC 2.5 Deployed Link
Google Play 2.5 Deployed Link
iOS App Store 2.5 Deployed Link


GameWarp - prepare for a new VR adventure!

Details
You can now use GameWarp feature to play non-VR games in your VRidge PC VR setup. GameWarp will turn the in-game visuals into SBS (side-by-side) view for you to see in your VR headset. Your head movements and VR controller buttons will also let you control the game.


Using GameWarp is easy - simply press the "Play GameWarp" button in the top bar play menu of RiftCat client.


For more detailed tutorial, simply watch our instructional video:


Pricing
VRidge was planned to have a higher price since the beginning of its development but we didn't want to just increase the VRidge price and call it a day. We wanted to provide value in exchange of the cost increase. That's why we have decided to make GameWarp a paid expansion feature to VRidge. 

This way, we can make a "soft" price increase of our services while at the same time - keep the VRidge base function in the same affordable cost range so anyone can start with inexpensive PC virtual reality.

Current pricing details are as follows (prices in EUR / USD depending on your region):
Unlocking VRidge - 14.99 EUR / USD
Unlocking GameWarp (requires unlocked VRidge) - 9.99 EUR / USD
Unlocking VRidge + GameWarp in a bundle: 19.99 EUR / USD

Users that have already purchased VRidge will receive a special 50% discount code for GameWarp purchase via email so they can benefit from the bundle purchase discount, too.

VRidge changes

VRidge itself also received some improvements so your experience should now be better!

Better quality for Daydream devices
Daydream phones will have better picture quality due to more uniform resolution scaling.

Gamma correction slider
Display too dark? Simply increase the gamma of your stream with a convenient slider! Works both with VRidge and GameWarp streaming.

Better detection of laptops dedicated GPU 
If you are using a gaming laptop, there is an integrated graphics card available and a dedicated one. VRidge sometimes launches on the weaker, integrated GPU making the experience much worse. VRidge should now do a much better job at detecting such cases.

Fixed controllers detection for Vivecraft
Controllers of Oculus Quest, HTC Vive Focus and other VR headsets will now work in Vivecraft. Playing Minecraft with VRidge will be possible once again to the full extend.

Tilt Brush will work correctly for everyone.
Let loose of your imagination in Tilt Brush. Paint anything you'd like using Oculus Touch, HTC Vive Focus or other controllers. Tilt Brush now works correctly.

Moonlight streaming will no longer be capped at 30 FPS.
If you are a Moonlight user, expect much smoother experience. Due to some mistakes on our side, Moonlight streaming was capped at 30 FPS. Now it will stream correctly.

Fixed AMD RX 5000 series green lines issue.
AMD RX 5000 series GPUs should now work correctly with VRidge.


Final notes
Thank you guys for your Beta testing. With your feedback, we were able to drastically improve GameWarp experience from its initial Beta release. We hope that this release will allow you to rediscover your favorite games in virtual reality.

Don't hesitate to still provide us feedback via support@riftcat.com! Sharing the information about the new release is also highly appreciated. Have a nice VR time!