JediAcademy_OculusRift02

Oculus Rift DK2 support for Jedi Academy

The Oculus Rift DK2 support for Jedi Academy is finally released. It took me longer than expected, but it looks stable now and runs on Windows and Linux.

https://github.com/xLAva/JediAcademyLinux/releases

For the DK2 support I had to use the OculusSDK. The OpenHMD library just doesn’t support all the features. It is still possible to build the game with OpenHMD support. Just follow the instructions in the Build.md file.
The OculusSDK library is loaded during runtime and the game also works fine without the library.

This version can also be played without any Head Mounted Device. All HMD tweaks will be disabled and the game should behave like the original version.

Changes and new Features:
  • DK2 support
  • Position tracking support
  • Head-Mounted-Device recenter using the start button on the gamepad
  • Small tweaks and bugfixes

Play the game

Extract all the files from the Windows or Linux zip file into the root directory of your “Jedi Knight III: Jedi Academy” installation and start the “jasphmd” executable.

For those not having the Steam version: you’ll need the 1.01 update from here http://help.starwars.com/articles/en_US/FAQ/Where-do-I-find-the-latest-patch-for-Jedi-Knight-Jedi-Academy?section=Star-Wars#patch

The version was tested on Ubuntu 14.04 and Windows 7.

Windows:

Oculus Rift DK2:

Direct Mode and Extended Mode are supported.

Oculus Rift DK1:

Make sure you set the DK1 to Extended Desktop Mode.
The current OculusSDK doesn’t work with Direct Mode, OpenGL and DK1.

Ubuntu:

The universe repository has to be activated (Software & Updates)

Needed libraries on Ubuntu 14.04 32bit:
sudo apt-get install libsdl2-2.0-0 libopenal1

Needed libraries on Ubuntu 14.04 64bit:
sudo apt-get install libsdl2-2.0-0:i386 libopenal1:i386 libgl1-mesa-glx:i386

Be sure to mark “jasphmd” as executable and start the game with it.

Source

The source code and the instructions to build the game can be found on my Github page:

https://github.com/xLAva/JediAcademyLinux/tree/HmdSupportDK2

JediAcademy_OculusRift01

Oculus Rift support for Jedi Academy

I want to share my new project: Oculus Rift DK1 support for Jedi Academy (for Windows and Linux)

https://github.com/xLAva/JediAcademyLinux/tree/HmdSupportGPL

This project was on my mind since the source code was released last year. Finally I had some time this summer to get started.

This Oculus Rift support implementation is designed for first person game play. It is possible to switch to 3rd-person view, but the best (and motion sickness free) experience is in first person mode.

I haven’t tested the whole game yet, but the first 7 levels are working very good.

Changes and new Features for the Oculus Rift

  • Free look during in-game cut scenes
  • Removed all forced camera rotations and a lot of camera movements
  • Improved game controller support (SDL2 Xbox Controller layout)
  • Auto detection of the Rift display position
  • Enabled first person lightsaber mode as default
  • Resized UI rendering

Play the game

There are binaries for Linux and Windows checked into the Github repository, so if you want to just play the Oculus Rift version, download the binary files and start playing right away.

https://github.com/xLAva/JediAcademyLinux/tree/HmdSupportGPL/binary/win32

https://github.com/xLAva/JediAcademyLinux/tree/HmdSupportGPL/binary/linux

Copy all the files from the Windows or Linux platform folder into the root directory of your “Jedi Knight III: Jedi Academy” installation and start the “jasphmd” executable.

The version was tested on Ubuntu 14.04 and Windows 7.

Needed libraries on Ubuntu 14.04 32bit:
sudo apt-get install libhidapi-libusb0 libsdl2-2.0-0 libopenal1

Needed libraries on Ubuntu 14.04 64bit:
sudo apt-get install libhidapi-libusb0:i386 libsdl2-2.0-0:i386 libopenal1:i386 libgl1-mesa-glx:i386

JediAcademy_OculusRift02
JediAcademy_OculusRift03
JediAcademy_OculusRift04
JediAcademy_OculusRift05
JediAcademy_OculusRift06

Build the game

This time around I used cmake instead of Code::Blocks. It is configured to work on Linux and Windows. If you want to build the code yourself, just follow the instructions in the Github repository.

More information

Because of the license issues with the original Oculus Rift SDK, I used the OpenHMD library. It works pretty good, but the original SDK has more high level features. I might experiment with the alternative solution to run the Oculus Rift SDK in a separate process.

There are some hacks inside the code to improve the Oculus Rift experience, which also affects the normal gameplay without a connected HMD device. I plan to replace all hacks with a proper implementation and merge the Oculus Rift changes with the original port.

Before I started this project, I had a look at the rift support implementation from LeeN (mtbs3d forum). This helped me to get started. Thx LeeN.