Virtual reality

From Emulation General Wiki
Revision as of 10:40, 13 September 2023 by 172.71.250.29 (talk) (Comparison)
Jump to navigation Jump to search
Vr-nerd.png
3DNes VR

Virtual reality (VR) is a field of technology surrounding direct interactivity with virtual 3D environments. This is often achieved with a head-mounted display and some form of input tracking. Some new emulators and forks of established emulators have support for VR headsets. There are a lot of different ways the emulators use the features of VR headsets. A lot of them allow you to play the game on a big screen inside your headset. Some of them have a virtual game room where you can play on a CRT TV or arcade cabinet. Some of them allow you to play games in 3D, either by emulating the original experience of a native 3D system like Virtual Boy or by giving a new way to play a traditional 2D system like NES or GameCube in 3D.

Overview

Virtual reality is still in its early days. All applications (such as emulators) that want to support a VR headset have to deal with different APIs, controls and sensors unique to each platform. This will hopefully get better now that OpenXR has been released. OpenXR is an open and royalty-free standard from Khronos (the organization behind open standards such as OpenGL and Vulkan) that will act as a middle man between VR/AR hardware of all sorts with the purpose to solve VR/AR fragmentation. This will hopefully make it possible to implent VR code once with the OpenXR API and have it compatible with all current and future VR headsets. If OpenXR succeeds, VR support in more regular emulators is much more likely.

Emulators with VR support

Name Emulates Operating System(s) Latest version Headset(s) VR[N 1] 3D[N 2] FLOSS Active Recommended
PC / x86
3dSen VR NES Windows 0.9.5 ($) Valve Index, HTC Vive, Oculus Rift, WindowsMR
Dolphin VR Wii, GC & N64 VC Windows 5.0-250 HTC Vive, Oculus Rift
BigPEmu Atari Jaguar Windows 1.17 ?
VBjin-OVR VB Windows 3.0 Oculus Rift
RetroArch Multi-system Windows Linux 1.19.1 Valve Index, HTC Vive, Oculus Rift, WindowsMR
Emukit VR N64, PS1 Web Git ? ? TBD
PPSSPP VR PSP Windows 1.1.1 Oculus Rift ? TBD
Citra 3DS Windows Linux Nightly Valve Index, HTC Vive, Oculus Rift, WindowsMR TBD
Dolphin Wii, GC & N64 VC Windows Linux Dev Valve Index, HTC Vive, Oculus Rift, WindowsMR TBD
RPCS3 PS3 Windows Linux FreeBSD 0.0.34 Alpha Valve Index, HTC Vive, Oculus Rift, WindowsMR TBD
Decaf VR Wii U Windows Linux Git Oculus Rift ? ?
VBA-Next 3D fork GBA Windows Linux N/A Valve Index, HTC Vive, Oculus Rift, WindowsMR ?
Mobile / ARM
ePSXe PS1 Android 2.0.17 ($) Google Cardboard ? ? TBD
FPse PS1 Android 12.1 ($) Oculus, GearVR, Google Cardboard, Homido, etc. ? ? TBD
PPSSPP PSP Android iOS 1.18.1 Google Cardboard ? ? TBD
RetroArch Multi-system Android 1.19.1 ? ? TBD
Dolphin Wii, GC & N64 VC Android Dev Google Cardboard ? TBD
VR MAME Arcade Android 1.0.1 Google Cardboard ? ? ? TBD
VR VICE C64 Android 1.0.3 Google Cardboard ? ? TBD
Standalone
VirtualBoyGo VB Android 1.3.1 Oculus Quest, Oculus Go ? ? TBD
VRC64 C64 Android 1.1 Oculus Quest, Oculus Go ? TBD
GearboyVR GB/C Android 1.0 Oculus Go ? ? TBD
NES SPACE NES Android 2020.1023 ($) Oculus Quest
  1. Emulators with VR support have support for VR functions such as head tracking, first person viewing, VR controller input methods, etc.
  2. Emulators with 3D support can output the video in 3D, this can be used to view the game in 3D with a VR headset.

Comparison

3dSen VR
Converts two dimensional NES games to 3D and allows you to rotate and change the viewing angle. Was previously know as 3DNes VR, name was changed for release on Steam and itch.io.
Dolphin VR
A VR fork by CarlKenner (AKA 2EyeGuy). 3D Games can be played in Virtual Reality with accurate life-size scale, full FOV, a 3D HUD, independent aiming, and the ability to look around. 2D Games can be played on a life-size virtual screen at the correct angle, sometimes even in 3D. Supports Wii, GameCube and Nintendo 64 Virtual Console games. There are also romhacks that can be used to make games more VR friendly, an example being this Ocarina of Time romhack. For more info check out Dolphin VR Quick Setup Guide, Dolphin_VR subreddit and this compatibility spreadsheet.
VBjin-OVR
Has a Head Locked mode where the screen is fixed in view and head tracking is ignored and a Immersive mode where the screen is placed in the world and head tracking is used to allow you to look around. This mode should be considered experimental and suffers from artifacts inherent to the Virtual Boy's implementation.
RetroArch
Can output side-by-side video for 3D games. This can be used to view the game in 3D with a VR headset, 3D TV, 3D projector or Android phone with cardboard. With these glsl-shaders it is possible to play both anaglyph systems (like Virtual Boy) and active shutter stereoscopic 3D games (like Famicom 3D System or SegaScope 3-D). For PC, use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset, for Android it should work right away.
Emukit VR
Web based N64 & PSX emulation in 3D.
PPSSPP VR
A VR fork by CarlKenner (AKA 2EyeGuy). PPSSPP VR is a PlayStation Portable emulator for the Oculus Rift that lets you actually be inside PSP games. You are not playing on a virtual handheld or screen, you are inside the virtual world. Important: do not resize the mirror window while in VR mode! Otherwise the GUI will stop working. It will still render at full resolution in the Rift. Don't forget to set the internal resolution to whatever you want, 6x works well. Check out this video to see what it's like. Compatibility spreadsheet.
Citra
Regular Citra merged support for side-by-side Stereoscopic 3D on Jun 18, 2018.[1][2] You can enable it by heading to Emulation → Configure… → Graphics → Layout, ticking the Enable Stereoscopic 3D checkbox, and changing the screen layout to Side by Side. This should make it possible to view the game in 3D with a VR headset, 3D TV, 3D monitor or 3D projector. For a VR headset, use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset.
Decaf VR
A VR fork by CarlKenner (AKA 2EyeGuy). Abadoned. It's just a 3m wide TV floating in the black void 1.5m in front of you (and another one behind you), with a correctly-sized gamepad screen held in your left hand.
Dolphin
Regular Dolphin has had support for Stereoscopic 3D video output for a long time.[3] There are support for Side-by-Side, anaglyph, top-and-bottom, 3D Vision output and passive stereoscopic displays. For use with a VR headset, use side-by-side output. For PC, use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset, for Android it should work right away. As of October 2019 an OpenXR implementation for full VR support is being worked on, see this pull request for more info.
RPCS3
Added support for PlayStation 3D on March 7, 2020[4]. Initially only for Anaglyph output but stereoscopic will be added later. Use something like Bigscreen and enable SBS3D mode to show SBS content in your VR headset. There is a list on Wikipedia with games that have 3D support.

VR game room simulations

EmuVR rooms

A VR game room simulation provides a virtual customizable game room; within that room there are cartridges, CD/DVDs and VHS tapes with artworks (CD/DVD covers, cartridge/VHS labels etc.), arcade machines, VCD/DVD/VHS player, personal computers or home consoles connected to virtual CRT screens that the user can interact with as they would a real-life TV.

Name Emulates Operating System(s) Latest version Type Headset(s) Netplay FLOSS Active Recommended
EmuVR Multi-system Windows Beta 90's game room HTC Vive, Oculus Rift, WindowsMR ?
New Retro Arcade: Neon Multi-system Windows Steam ($) 80's arcade Valve Index, HTC Vive, Oculus Rift
SEGA Mega Drive and Genesis Classics Sega Genesis Windows Linux Steam ($) 90's game room Valve Index, HTC Vive, Oculus Rift
RetroVR Multi-system Android N/A 90's game room Oculus Quest, Oculus Go ? ?

Comparison

EmuVR
Let's you play around in a virtual 90's gamers bedroom. Pick up games/movies, connect cables and play them on your virtual CRT TV. Uses and requires specific RetroArch version (1.7.5 at the moment) to run the games. EmuVR also supports netplay so you can enjoy your virtual room with friends.
New Retro Arcade Neon
Virtual 80's/early 90's arcade. You can walk around, play arcade machines and other games. Uses libretro. You have to configure the arcade machines by yourself, there are tools to make it easier such as the: Arcade Manager Add-on which auto-downloads and fully set ups cabinet art and attract videos for an unlimited number of ROMs and even randomize the cabinets of your choice every time you visit the Arcade, or you can download pre-made packs.
SEGA Mega Drive and Genesis Classics
Segas official emulator for Genesis games. Has a virtual 90's gamers bedroom. Look at game covers and play them on your CRT. Has mod support, it's possible to play your own ROMs and to play the official ROMs in other emulators.

References