Giter VIP home page Giter VIP logo

thedarkmodvr's Introduction

The Dark Mod VR

The Dark Mod VR

This is a VR mod for the free game "The Dark Mod", a Thief series inspired first-person stealth game.

The mod is still a work in progress. It is currently a seated keyboard+mouse (or Gamepad) experience only, without any roomscale or motion controller support. It is recommended to experienced VR players only, and familiarity with the base game in non-VR play is going to be helpful.

A full room-scale experience is the long-term goal, but there's still a long way to go :) Also, I am currently spending most of my free time on Half-Life 2 VR, so development on The Dark Mod VR is effectively on hold. I do intend to return to this project as soon as I have time :)

Please have a look at the Wiki for more information and advanced settings.

Installation

TheDarkMod has an installer that allows you to directly install the VR version. Follow the instructions in the Wiki page: Installation

If you already have the current version 2.10 of the base game installed, you can also head over to the releases and grab the latest version of the VR build. Extract it to your Dark Mod directory and run the VR executable.

If you're feeling brave, you can also download a nightly build. Head to AppVeyor, select either the Visual Studio 2022 (for Windows) or Ubuntu 18.04 (for Linux) job, then go to the Artifacts tab and download the build.

Selecting the VR backend

The Dark Mod VR uses OpenXR as its VR API, which means it can run natively on any PCVR headset. Make sure the preferred runtime for your headset (SteamVR, Oculus or WMR) is set as the default OpenXR runtime, then just launch TheDarkModVRx64.exe.

Calibrate seated position

The game requests the seated reference position from your runtime, so it's important that you have it properly calibrated in your runtime, or else your view point will misalign with the actual player position and you may be stuck in a wall/ceiling, or the UI overlay will not be visible! To do so, once you've assumed your seating position:

  • SteamVR: choose "reset seated position". There's a button for it in the SteamVR overlay, alternatively on your desktop click on the settings icon for SteamVR, and the option should be available there in the menu.
  • Oculus: press and hold the Oculus button to recenter your view.

thedarkmodvr's People

Contributors

fholger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

duzenko

thedarkmodvr's Issues

Incorrect light/shadow culling based on mouse position

Observed e.g. in the NHAT abandoned prison cells. A gate would cast (or not) shadows depending on where the mouse cursor (not even the head view!) points. Might be using the wrong view setup for culling purposes, need to investigate.

My head in a ceiling (Windows Mixed Reality)

I use Lenovo Explorer HMD (Windows Mixed Reality) and my head is in a ceiling. A hands with a bow is under my feets.
I tried to change a SteamVR space with a room setup app and readjust floor height to 0 or -200 cm. This will change space until i restart SteamVR. But no luck.
Only working solution for me - readjust floor height in WMR portal (Put my virtual head to the floor). After that TheDarkModVR working fine.
Seems TheDarkModVR completely ignore SteamVR space and use parameters from WMR portal (I don't know how this is possible).

If this game is a "seated experience" then maybe you need to consider the starting position (When game start) of the HMD as "zero point" to game camera.
Or add a recalibration button.

Indicate where the mouse is pointing at

Right now, it's a bit hard to guess where the mouse is actually pointing to, particularly since its vertical movement is not reflected in the rendered view. Ideally place a simple reticule or pointer in the scene indicating where the mouse is pointing at.

Spyglass doesn't work

All it does is place a spyglass cutout on the UI overlay, no actual zooming or anything.

Not sure how to best approach the spyglass in VR; I'm afraid it might need a very different approach, which could make it time-consuming to implement.

Currently very low priority.

Remove typeinfo from artefacts

You shouldn't be packaging Typeinfo.exe into artefacts.

I suggest reading this article once. For the sake of fun, and in order to understand wtf it is and why it is not necessary for anything =)

Add simple IK player skeleton

Define a primitive skeleton for the player and use head and controller poses to IK-solve the skeleton's poses. Needed to approximate the current player position, orientation and state.

Adjust game tic rate to headset refresh rate?

At the moment, the game logic runs at 60 Hz, which generally works decently as long as the fps counter is at or above that rate. However, when VR reprojection kicks in, the fps fall below that to e.g. 40 or 45 fps. This currently leads to very choppy input processing that makes the experience not very pleasant.

The game would probably control and feel better if the game logic were adjusted to the headset's refresh rate. However, such a change is potentially very risky, as it could break physics or AI in unforeseen ways... still, would be worth investigating.

Rotation / body position seems to be based on center of room

Your body position seems to be based on center of room, which if your chair/desk are not exactly in makes rotation with the mouse feel like you're on a merry-go-round. It'd be good to calibrate the player's position based on where the headset was when the mission was started. The Oculus Home 'reset my position' doesn't appear to affect this game.

gl4stereo - linux compiling

hi
the vr/Framebuffer.h need <GL/gl.h> not <gl/GL.h> to compile on linux
after that we now get

renderer/gl4/OcclusionSystem.h: At global scope:
renderer/gl4/OcclusionSystem.h:36:13: error: extra qualification ‘OcclusionSystem::’ on member ‘ReserveOccluders’ [-fpermissive]
Occluder * OcclusionSystem::ReserveOccluders( uint count );

--

side note : I would suggest to look at the Doom3BFG-VR implementation for a successfull one
(I don't know the details but it works great on win and linux, - except for the VR controllers for some reasons on linux... )
https://github.com/ChristophHaag/DOOM-3-BFG-VR

Enable basic movement input from controllers

Add functionality to handle input from controllers.

  • Bindings should be configurable per controller type.
  • Ensure that hand assignments can be easily swapped for left-handed support.
  • Implement movement and aim with thumbsticks/trackpads similar to gamepad input.
  • Add bindings for jump and crouch.

Deal with cutscenes in missions

Scripted cutscenes that take control of the player camera need to be dealt with, because they contain uncontrolled movement and turns which easily induce motion sickness. An example would be the beginning of "No Honor Among Thieves".

The easiest solution is probably to render such cutscenes in 2D to the UI overlay instead of the eyes.

Stereo render is broken (Build v2.09.65).

I tried to test a new update and how render of shadow is working now, in "Volta 1: The Stone".

When I look ahead, do not see any problems, but if I try to observe surroundings and turn my view in left or right, than stereo render behavior is changing.

Normally, "stereo picture" means "move a view position to the left and create picture to the left eye, and move to the right and create picture to the right eye".
But now, with a wrong render, it's working like "move a view position to the UP DIRECTION and create picture to the left eye, and move to the DOWN DIRECTION and сreate picture to the right eye".
I do not tested further cause it's painful to my eyes. I just roll back to the old build (v2.09.61).

Check view pos "552.59 5499.43 -923.75 -0.0 -7.7 -0.0". This place have the bench (Look to right) and this bench have a very contrast moss stains on the surface, so it's easy to see what is wrong.
(It's just an example. I see this wrong render everywhere, of course).

Also, issue #38 are not resolved. Now whole room is disappearing. Light sources will disappear first and the whole room after that.

Use controllers as pointer inputs for menus

  • Project from controller pose to the current overlay position.
  • Use intersecting point as mouse position input
  • Add bindings for menu clicks and escape key
  • Add binding for opening the main menu and the inventory screen.

(Feature request) Sharpening and saturation adjust

Hello.

Please add support of a sharpening shader.
Something similar to the "Contrast Adaptive Sharpener":
https://www.nexusmods.com/skyrimspecialedition/mods/38219
https://gist.github.com/martymcmodding/30304c4bffa6e2bd2eb59ff8bb09d135

It may improve performance - low supersampling can be compensated with a sharpening.
With GTX 1060 I have 30+ FPS in some missions, so, if I set super-sampling to lower level and compensate it, then maybe I will reach ~45 FPS (And reprojection will work again).

Also, the option to increase color saturation may be very useful.
Usually, I increase saturation in any game if I can (My first HMD is based on an OLED screen, and HMD that I use now is based on LCD - color not so good).
Already existed "desaturation" config line can't handle parameters like "-0.20", so I can make my game black-and-white (With "1.00"), but can't make it more colorful.

black screen on startup (Linux)

hello,
I have tested the release and a build on my machine (ubuntu 20.04 steamvr on Vive) and all I can get at startup is a black screen...


./thedarkmodvr.x64
WARNING:Cannot detect SVN version!
Make sure 'svnversion' command works in console on the build machine.

TDM 2.09/64 #0 (Unversioned directory) linux-x86_64 Jul 14 2020 11:03:28
found interface lo - loopback
found interface enp0s31f6 - 192.168.0.15/255.255.255.0
Found Generic CPU, features: SSE SSE2 SSE3
TDM using SSE3 for SIMD processing.
no 'darkmod' directory in exe path /media/user/data/games/darkmod208, skipping
WARNING: using hardcoded default base path
------ Initializing File System ------
Current search path:
  /media/user/data/games/darkmod208/fms/stlucia
  /media/user/data/games/darkmod208/fms/stlucia/stlucia.pk4 (118 files)
  /media/user/data/games/darkmod208/
  /media/user/data/games/darkmod208/tdm_textures_wood01.pk4 (376 files)
  /media/user/data/games/darkmod208/tdm_textures_window01.pk4 (389 files)
  /media/user/data/games/darkmod208/tdm_textures_stone_sculpted01.pk4 (463 files)
  /media/user/data/games/darkmod208/tdm_textures_stone_natural01.pk4 (130 files)
  /media/user/data/games/darkmod208/tdm_textures_stone_flat01.pk4 (302 files)
  /media/user/data/games/darkmod208/tdm_textures_stone_cobblestones01.pk4 (224 files)
  /media/user/data/games/darkmod208/tdm_textures_stone_brick01.pk4 (520 files)
  /media/user/data/games/darkmod208/tdm_textures_sfx01.pk4 (69 files)
  /media/user/data/games/darkmod208/tdm_textures_roof01.pk4 (72 files)
  /media/user/data/games/darkmod208/tdm_textures_plaster01.pk4 (142 files)
  /media/user/data/games/darkmod208/tdm_textures_paint_paper01.pk4 (63 files)
  /media/user/data/games/darkmod208/tdm_textures_other01.pk4 (127 files)
  /media/user/data/games/darkmod208/tdm_textures_nature01.pk4 (286 files)
  /media/user/data/games/darkmod208/tdm_textures_metal01.pk4 (496 files)
  /media/user/data/games/darkmod208/tdm_textures_glass01.pk4 (51 files)
  /media/user/data/games/darkmod208/tdm_textures_fabric01.pk4 (43 files)
  /media/user/data/games/darkmod208/tdm_textures_door01.pk4 (177 files)
  /media/user/data/games/darkmod208/tdm_textures_decals01.pk4 (464 files)
  /media/user/data/games/darkmod208/tdm_textures_carpet01.pk4 (92 files)
  /media/user/data/games/darkmod208/tdm_textures_base01.pk4 (398 files)
  /media/user/data/games/darkmod208/tdm_standalone.pk4 (4 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals_decls01.pk4 (27 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals07.pk4 (1111 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals06.pk4 (696 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals05.pk4 (119 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals04.pk4 (2869 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals03.pk4 (743 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals02.pk4 (1299 files)
  /media/user/data/games/darkmod208/tdm_sound_vocals01.pk4 (82 files)
  /media/user/data/games/darkmod208/tdm_sound_sfx02.pk4 (605 files)
  /media/user/data/games/darkmod208/tdm_sound_sfx01.pk4 (963 files)
  /media/user/data/games/darkmod208/tdm_sound_ambient_decls01.pk4 (8 files)
  /media/user/data/games/darkmod208/tdm_sound_ambient03.pk4 (24 files)
  /media/user/data/games/darkmod208/tdm_sound_ambient02.pk4 (163 files)
  /media/user/data/games/darkmod208/tdm_sound_ambient01.pk4 (220 files)
  /media/user/data/games/darkmod208/tdm_prefabs01.pk4 (968 files)
  /media/user/data/games/darkmod208/tdm_player01.pk4 (125 files)
  /media/user/data/games/darkmod208/tdm_models_decls01.pk4 (103 files)
  /media/user/data/games/darkmod208/tdm_models02.pk4 (2043 files)
  /media/user/data/games/darkmod208/tdm_models01.pk4 (3123 files)
  /media/user/data/games/darkmod208/tdm_gui_credits01.pk4 (49 files)
  /media/user/data/games/darkmod208/tdm_gui01.pk4 (720 files)
  /media/user/data/games/darkmod208/tdm_fonts01.pk4 (696 files)
  /media/user/data/games/darkmod208/tdm_env01.pk4 (152 files)
  /media/user/data/games/darkmod208/tdm_defs01.pk4 (185 files)
  /media/user/data/games/darkmod208/tdm_base01.pk4 (187 files)
  /media/user/data/games/darkmod208/tdm_ai_steambots01.pk4 (24 files)
  /media/user/data/games/darkmod208/tdm_ai_monsters_spiders01.pk4 (80 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_undead01.pk4 (55 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_townsfolk01.pk4 (104 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_pagans01.pk4 (10 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_nobles01.pk4 (48 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_mages01.pk4 (8 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_heads01.pk4 (100 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_guards01.pk4 (378 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_females01.pk4 (172 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_builders01.pk4 (91 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_beasts02.pk4 (292 files)
  /media/user/data/games/darkmod208/tdm_ai_humanoid_beasts01.pk4 (23 files)
  /media/user/data/games/darkmod208/tdm_ai_base01.pk4 (8 files)
  /media/user/data/games/darkmod208/tdm_ai_animals01.pk4 (82 files)
File System Initialized.
--------------------------------------
Couldn't open journal files
/proc/cpuinfo CPU processors: 4
/proc/cpuinfo CPU logical cores: 8
----- Initializing Decls -----
WARNING:file materials/tdm_epi_shader_2.mtr, line 485: material 'wizard_cloth_001' previously defined at materials/tdm_epi_shader_2.mtr:389
WARNING:file materials/tdm_stone_brick.mtr, line 1903: material 'textures/darkmod/stone/brick/even_greyish01' previously defined at materials/tdm_maps_saintlucia.mtr:201
WARNING:file materials/tdm_water.mtr, line 1189: material 'textures/particles/ripple_1' previously defined at materials/tdm_particles_ripple.mtr:1
WARNING:file skins/tdm_epi_skins.skin, line 86: skin 'steam_engine_003_off' previously defined at skins/steam_engine_003.skin:1
WARNING:file skins/tdm_epi_skins.skin, line 97: skin 'steam_engine_003_on' previously defined at skins/steam_engine_003.skin:18
WARNING:file skins/tdm_lights.skin, line 8: skin 'chandelier_unlit' previously defined at skins/saintlucia.skin:1
WARNING:file sound/tdm_ai_maiden.sndshd, line 1709: sound 'tdm_ai_maiden_request_help' previously defined at sound/tdm_ai_maiden.sndshd:1561
WARNING:file sound/tdm_maps_saintlucia.sndshd, line 64: sound 'tdm_builder2_conv_1' previously defined at sound/tdm_ai_builder2.sndshd:2061
WARNING:file sound/tdm_maps_saintlucia.sndshd, line 74: sound 'tdm_builder2_conv_2' previously defined at sound/tdm_ai_builder2.sndshd:2080
WARNING:file sound/tdm_maps_saintlucia.sndshd, line 84: sound 'tdm_builder2_conv_3' previously defined at sound/tdm_ai_builder2.sndshd:2094
------------------------------
/proc/cpuinfo CPU frequency: 4500 MHz
I18N: SetLanguage: 'english'.
I18N: Found no character remapping for english.
I18N: 1274 strings read from strings/english.lang
I18N: 83 strings read from strings/fm/english.lang
Couldn't exec editor.cfg - file does not exist.
execing default.cfg
execing DarkmodKeybinds.cfg
"" isn't a valid key
execing autoexec_vr.cfg
I18N: SetLanguage: 'english'.
I18N: Found no character remapping for english.
I18N: 1274 strings read from strings/english.lang
I18N: 83 strings read from strings/fm/english.lang
----- Initializing OpenAL -----
Setup OpenAL device and context
OpenAL: found device 'ALSA Default'
OpenAL: found device 'HDA Intel PCH, ALC1220 Analog (CARD=PCH,DEV=0)'
OpenAL: found device 'HDA Intel PCH, ALC1220 Digital (CARD=PCH,DEV=1)'
OpenAL: found device 'HD-Audio Generic, HDMI 0 (CARD=Generic,DEV=3)'
OpenAL: found device 'HD-Audio Generic, HDMI 1 (CARD=Generic,DEV=7)'
OpenAL: found device 'HD-Audio Generic, HDMI 2 (CARD=Generic,DEV=8)'
OpenAL: found device 'HD-Audio Generic, HDMI 3 (CARD=Generic,DEV=9)'
OpenAL: found device 'HD-Audio Generic, HDMI 4 (CARD=Generic,DEV=10)'
OpenAL: found device 'HD-Audio Generic, HDMI 5 (CARD=Generic,DEV=11)'
OpenAL: found device 'USB Audio Device, USB Audio (CARD=Device,DEV=0)'
OpenAL: using 'OpenAL Soft'
OpenAL: HRTF is available
OpenAL vendor: OpenAL Community
OpenAL renderer: OpenAL Soft
OpenAL version: 1.1 ALSOFT 1.19.1
OpenAL: found EFX extension
OpenAL: HRTF is enabled (reason: 1 = ALC_HRTF_ENABLED_SOFT)
OpenAL: found 256 hardware voices
----- Initializing OpenGL -----
Setup X display connection
Using screen 0 of 0x667e5b0 display
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
Initializing OpenGL display
Using XFree86-VidModeExtension Version 2.2
XFree86-VidModeExtension: not fullscreen, ignored
Chosen visual: 0x021
...creating GL context: core-fc 
...initializing QGL
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe

------- Input Initialization -------
XKB extension: compile time 0x1:0x0, runtime 0x1:0x0: OK
XKB extension present on server ( 0x1:0x0 )
------------------------------------
OpenGL vendor: X.Org
OpenGL renderer: AMD Radeon RX 5700 XT (NAVI10, DRM 3.35.0, 5.4.0-39-generic, LLVM 9.0.1)
OpenGL version: 4.6 (Core Profile) Mesa 20.0.4 core
Checking required OpenGL features...
v - using GL_VERSION_3_3
v - using GL_EXT_texture_compression_s3tc
v - using GLX_VERSION_1_4
Checking optional OpenGL extensions...
Max texture units: 32
Max active textures: 192
Max geometry output vertices: 256
Max geometry output components: 4095
Max vertex attribs: 16
v - using GL_EXT_texture_filter_anisotropic
    maxTextureAnisotropy: 16.000000
X - GL_ARB_vertex_program not found
v - using GL_ARB_stencil_texturing
v - using GL_EXT_depth_bounds_test
v - using GL_ARB_buffer_storage
No ARB programs loaded
---------- R_ReloadGLSLPrograms_f -----------
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
Linking GLSL program cubeMap ...
Linking GLSL program bumpyEnvironment ...
Linking GLSL program depthAlpha ...
Linking GLSL program fog ...
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
Linking GLSL program oldStage ...
Linking GLSL program blend ...
Linking GLSL program stencilshadow ...
WARNING:Could not open shader file shadowMapA.gs
WARNING:Failed to attach shader shadowMapA.gs to program shadowMapA.

Linking GLSL program shadowMapA ...
WARNING:Could not open shader file shadowMapN.gs
WARNING:Failed to attach shader shadowMapN.gs to program shadowMapN.

Linking GLSL program shadowMapN ...
Linking GLSL program shadowMapNG ...
WARNING:Linking program shadowMapNG failed:
error: fragment shader input `texCoord' has no matching output in the previous stage


WARNING:Validation for program shadowMapNG failed:


Linking GLSL program ambientInteraction ...
Linking GLSL program interactionStencil ...
Linking GLSL program interactionShadowMaps ...
Linking GLSL program interactionMultiLight ...
Linking GLSL program frob ...
Linking GLSL program soft_particle ...
Linking GLSL program tonemap ...
---------------------------------
New buffer size: 12288 kb
New buffer size: 12288 kb
Linking GLSL program depth ...


AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: Wait timeout... buffer size too low?
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe
AL lib: (EE) ALCplaybackAlsa_mixerNoMMapProc: available update failed: Broken pipe


if I try to run it from the steam runtime dir/env :



 user@computer : ~/.local/share/Steam/ubuntu12_32/steam-runtime$ ./run.sh /media/user/data/games/darkmod208/thedarkmodvr.x64
 WARNING:Cannot detect SVN version!
 Make sure 'svnversion' command works in console on the build machine.
 
 TDM 2.09/64 #0 (Unversioned directory) linux-x86_64 Jul 14 2020 11:03:28
 found interface lo - loopback
 found interface enp0s31f6 - 192.168.0.15/255.255.255.0
 Found Generic CPU, features: SSE SSE2 SSE3
 TDM using SSE3 for SIMD processing.
 no 'darkmod' directory in exe path /media/user/data/games/darkmod208, skipping
 no 'darkmod' directory in cwd path /home/user/.local/share/Steam/ubuntu12_32/steam-runtime, skipping
 WARNING: using hardcoded default base path
 ------ Initializing File System ------
 Current search path:
   /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/
 File System Initialized.
 --------------------------------------
 --------- Game Map Shutdown ----------
 --------- Game Map Shutdown done -----
 signal caught: Segmentation fault
 si_code 1
 Was in fatal error shutdown: Couldn't load default.cfg
 Trying to exit gracefully..
 About to exit with code 0

Improve transparency in the UI overlay?

Unfortunately, many UI elements have some inherent transparency in their materials, which can make the UI difficult to read in certain lighting situations. We can't take transparency out of the UI layer, since otherwise it would be a black rectangle blocking the view. But perhaps we can reduce some of the transparency from the UI elements?

Add weapon selection UI

Add a weapon selection dialogue similar to the existing inventory dialogue, or integrate weapons into the inventory grid? Possibly add it to the core mod?

Disappearing of objects when the center of the view is behind corners

Found in FM "Volta 1: The Stone". As an example, if the player tries to observe the guard position, from the ladder in the corridor to the Tower (When The Stone are stolen and the player need to come back and walk pass this guard).

If I walk to a wall corner and try to see what is behind this corner, then, at some angles of view, the NPC and objects will disappear.
Seems the game is deciding what object will be rendered based on the center point between the eyes. If this point is behind this corner and only one eye should see these objects, then these objects will not render to view to this eye.

You must block one eye and the center point of the view to replicate this bug. It is very small "window", though.

The bow is unusable

At now a camera and hand with a bow is decoupled. So I can't predict where an arrow will hit.
New "VR frob helper point" is not helping much.
Need some path visualisation. Not like a straight laser but like in SkyrimVR (The Eagle Eye skill but without crosshair).

Add preliminary roomscale support

Make the game playable while standing and using motion controllers as input. Controllers will be used as a gamepad/mouse replacement, i.e. weapons and items will still function as in the base game and not directly linked to the controllers.

Player visibility based on HMD position (Not on body position)

I do not know bug or feature is it. The player can put head in a wall or shadow and be invisible even nearby light source.
Possibly it good for a room-scale game, but now the player can cheat with that. Or can experience unpredictable visibility changes (If he plays without proper position calibration).

Flashbombs do not blind the player

Instead of it, only the 2D UI screen is affected and I see a white square at a front of me.

As I see, required effect already implemented in the game. In FM "Requiem" view is going to white color when the player meets a ghost of the Builder priest. You can check it right at the beginning - just leave a starting home.

Can you use this effect to flashbombs?

OpenXR backend does not work great with SteamVR

  • in some scenes it errors out when acquiring swapchains
  • there's a huge overhead when submitting the frame, tanking performance

Still trying to figure out whether it's something I'm doing wrong, or if it's SteamVR (in which case I need to post bug reports). It seems to work fine with Oculus, though.

Automate releases as much as possible

Goal: make the VR mod available as a download on Github as well as a custom manifest in the new tdm_installer.

Todos:

  • bundle glprogs_vr (and any additional future resources) into a tdm_vr.pk4 - should be done by AppVeyor
  • auto-publish from AppVeyor to a new Github release when pushing a tag
  • write a script to download files from a Github release, turn them into an installer manifest and upload them

WMR/HP reverb - UI elements are vertically misaligned

The light gem, for example, in one eye is about one full light gem's height offset above where it is in the other eye.

The Reverb is one of the few headets with a pure square per-eye resolution with the values as 2160x2160, maybe has something to do with it?

If theres any commands or logs I can send that would be helpful please let me know!

(Feature request) Using HMD up-down direction when climbing ladders.

When I first started to play TDM-VR I was keep trying to climbing ladders with my head/view direction. It's a habit from other games.
Another problem is I am losing the vr-mouse-pointer. Because this pointer is not staying in my field of view, he may go to up or down.

At now this habit is almost gone. But I keep losing the vr-mouse-pointer. So climbing is problematic sometimes.

Can you remap climbing behavior from a vr-mouse-pointer to HMD? Maybe add a another cvar. Maybe with cvar's for angles (So I will can adjust at what angles I will climb up/down).

HMD view is pointing to "up" or "down" direction in any position of a position tracking. So it will be no problems with angle detection, even if HMD is placed in a couple meters from in-game position.
It will work without conflicts with already existing game mechanics or VR implementation.

Another solution is to set the vr-mouse-pointer to stay in the field of view, like in Quake2VR. It will improve all climbing, not only ladders and ropes.
But, obviously, it required completely rework mouse emulation logic (Set "point of the start of the mouse" moving with HMD).

Possibility to use the same saves for flat and VR TDM

I want immerse myself to the mission with VR and, after FM is going to end, use my monitor and flat TDM to find last secrets or pieces of the loot.
Because it's too difficult to stay in VR for hours just for finding a last 25 gold in FM that have 10000 gold in loot.
Previously I tried to load saves and the flat version is rejecting to use saves from "version 0" of the game.

VR TDM is "2.09.47" (Nightly build). Seems I need to obtain and use "2.09 alpha" TMD cause at now my copy of the flat version of the game is "2.08". But "version 0" issue will remain, I'm right?

It's possible? If the VR version is different in "how is rendered", but not in the game mechanics/in-game position/other?

Spyglass isn't working between portals

Build v2.09.62.
Instead of seeing what's ahead, I see only the sky background.

Try to use spyglass in this viewpos:

"A New Job":
137.32 -1460.77 224.25 -0.0 0.04 0.0
354.84 -1604.09 88.25 -0.0 132.2 0.0 (Walk ahead and back - the wall will appear and disappear.)

"Volta 1: The Stone."
-284.33 3547.72 -603.75 -0.0 83.5 0.0 (Yes, this corridor again. Try to observe the room with spyglass - it will appear and disappear, but without doors in the wall behind the statue).
1404.36 2919.94 -589.75 0.0 -94.8 0.0

Seems the last fix to #38 broke something with the render of portals.

Texts in books are transparent.

I can see the background (Walls, torches, etc.). Difficult to read if the background is light.
May be related to "black alpha channel" issue.

White mirror screen

Sometimes mirror screen going stuck and slowly going to fully white.
(Maybe game do not properly clean up information from the previous frame and just keep adding RGB value from new frame?)

Compass doesn't work

It's not displaying at all, just producing some weird glitches in the rendering output.

Screenshot feature (F12) is broken

(Not the critical issue)
Seems TDM-VR creates a screenshots with dimensions from the resolution of the supersampling. My screenshots are a 1684x1680 pictures. But TDM-VR do not scale an image to this size. So the screenshots look like a black square with a smaller image in the left-down corner.

Light/shadow visibility system is broken

Good example is "CoS3: Sacricide".
First dark corner nearby the road (Where the guard is patrolling in white light). In flat TheDarkMod this place is "dark" and guard can't see me. In TheDarkModVR lightgem is fully lit and the guard kick my ass immediately.

In this FM it is no problem with light visualisation. In both versions of the game this place is the same.

Same situation in other FMs.
Starting room in "The Crown of Penitence". Put out a candle and open the door to the second room with a torch. First room will be "dark" in flat TDM and "fully light" in VR.
In this room light visualisation is broken. If I look at the wall that against the door it will be light in the room all around. But no light if I look at the door.

I assume this issue is related to "Incorrect light/shadow culling based on mouse position" problem. But it's not only "based on mouse position". Maybe the problem is more complicated.

Tested with "reset seated position".

Black alpha channel (Animated textures)

EDIT: FM "Accountant 1: Thieves & Heirs".
Found this problem in a room with mechanical things and the fan at a ceiling. There is a box (With lightnings at above) that have animated clock face with an arrow.
In flat TDM all in normal and in TDM-VR background of this arrow is a black square.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.