drbeef / quakegvr Goto Github PK
View Code? Open in Web Editor NEWUpdated QuakeGVR with ArCore *Positional Tracking* and Decoupled 3DOF controller support
Updated QuakeGVR with ArCore *Positional Tracking* and Decoupled 3DOF controller support
Platform : Oculus Go
Version : 1.3.2
Controller : Xbox one wireless
issue : Player keeps moving without touching any button
Shouldn't be impossible, because QuakeGVR already supports positional tracking and 6dof. Thanks a lot!
in common.c
char *portable_va(char *buf, size_t buflen, const char *format, ...)
{
va_list argptr;
va_start (argptr, format);
portable_snprintf (buf, buflen, format,argptr); // <-- there should be portable_vsnprintf(...);
va_end (argptr);
return buf;
}
If changing the handedness in oculus home settings, guns appear on the left side, the axe still remains in the right
I noticed just how much smoother and much more immersive the QuakeGVR gameplay is after i installed the Lord Havoc's DPMod mod.
When i move forward in vanilla QuakeGVR and look on the floor, i notice continues micro-stutters.
When the Lord Havoc's DPMod mod is loaded and i look on the floor while moving, there are zero stutters, it is silky smooth and gives me the feeling that i can touch the walls.
The fact that Lord Havoc's DPMod gives a much smoother experience has been confirmed by both the author as well as VR_Bummser in this reddit post:
https://www.reddit.com/r/quakegearvr/comments/9k5qsy/qgvr_running_smoother_on_dpmod/
If i am not mistaken, VR_Bummser uses a Samsung Galaxy S7. I use a Samsung Galaxy Note 9.
Could it be that vsync is not enabled by default in QuakeGVR?
Tested wit two different Gamepads. Problem can be reproduced. Occurring everytime and always through the game.
When the player comes to a full stop after walking/running forward, the player makes a slight step to the side before coming to a full stop. Could induce motion sickness.
Reproduced with two different gamepads, different models, but same manufacturer (ipega).
Ever since /u/DrBeef_ldn 's awesome initial release of QuakeVR, there was a nauseating performance issue when approaching certain torches or blinking lights. There is a certain cvar "slowmo" that can mitigate that but it makes the entire game slow-down, which is cool in itself, but even at slowmo 0.7 (30% slower game speed) the performance issue is still there.
Some places it's not a big deal, with drops to 35-40 fps, but in some areas, like the easy hub (start game, at entrance go to the left slipgate with EASY, look right at fire under stairs) it can drop to a nauseating 15 fps.
I've tried every cvar in darkplaces to no avail to fix this. Except for slowmo, which makes it unplayable, and r_fullbright 1 which is OK, but taking away all lighting from the game makes the atmosphere a lot less enjoyable.
I considered a macro like
if $fps < 50 then set slowmo 0.2 else set slowmo 1
but $fps isnt a variable afaik.
SOLUTION:
Anyway, not the first to have this performance problem as discussed here:
http://quakeone.com/forum/quake-help/quake-clients/4355-old-darkplaces-vs-fitzquake-aguirre-quake
and
http://celephais.net/board/view_thread.php?id=60306&start=57&end=81
lightstyles is quake's switchable light system, and is described here:
https://quakewiki.org/wiki/lightstyle
Also lightstyle data is stored in the save file and the save file is plaintext so I tried modifying one in a problematic area and replacing all the patterns of all the lightstyles under // DarkPlaces extended savegame to just m for normal light level, and the problem completely disappeared.
Here is a modified savegame for the entrance level that was a problematic performance area:
https://drive.google.com/open?id=1j8I2g1lTFgmXqtosoc04N3OZXQrB_CRR
Sadly, it doesn't work after a new map is loaded, so right now,, you can just make a savefile per map, but a more permanent elegant solution would be preferred
cl_controllerdeadzone 0.2 does get deleted after running quake a second time. I does not stick, one has to reenter in before every run.
Request - when playing QGVR with gamepad together with other mods the weapon is sometimes not visible anymore, probably because the mod (like Dpmod) and QGVR both change the position of the weapon to the rightside. It seems to add together. As a result in some mods the weapon isn't visable anymore or barely visible on the far right side.
So when playing with gamepad, there is no need for the weapon to be placed in the right side.
Request - option to center the weapon as in vanilla quake when using non 3DOF Gamepad
I'll make it short.
"sys_ticrate" "0.0166667"
this is the only thing that Dpmod does different! Add this to the next Update and there is no need for Dpmod any more.
Put this line in your config.cfg in /id1 folder and it will run smooth as butter.It took a few evenings to read trough a lot of old Quake wikis. But in the end the solution was very easy.
While playing with the xbox wireless gamepad, as soon as you stop pushing the analog sticks for moving/turning, you keep moving turning in that same direction. Its like a micro drift, very small/smooth/minimal. The only way I found to stop it is to carefully recenter the sticks. Its as the sensitivity of the analog stick is too high or doesnt have a centered deadzone to keep still. how can I adjust this? thank you for this awesome gearvr port!
I'd like to play this using a Bluetooth keyboard and mouse AND headtracking at the same time, so I can use the mouse to turn around quickly, but use my head for more precise aiming. I'd appreciate any help getting this to work.
Could we have a pre-compiled apk (especially one that uses ArCore?
Is it possible to add a command to the commandline.txt so that QuakeGVR starts with a specific mod activated (such as the Dpmod)?
Request - would love to see the crosshair option to return like in previous versions. torchlight and laserbeam work great with the 3DOF controller but I would prefere to play it with the vanilla crosshair when using a gamepad. Easier to aim in fast Multiplayer. Torchlight makes me a little uneasy after a while. maybe of the constant changing of its size, depending on the surfaces distance it bounces of.
edit : Apologies for multi-post.
In the official QuakeGVR page is said:
"It is also highly recommended you download the hi-res textures and unpack them to the id1 folder."
Is this valid yet? Where's the 'id1' folder inside the apk?
I tried to put the .pak files in the apk, but during install I get a signature error. I should create sha-256 hashes for the pak files and put it in the manifest (maybe along with a new signature?)
There's some specific instructions on that?
It is just an feature idea for the long run. I love to play against bots and it works great and is a feature that many people would enjoy on a upcoming Quest version maybe.
The way it works now, unsing console commands, is a bit cumbersome. I found the FrikBot to be most suitable. So the following console commands should at some point be linked to a dedicated menu point to make it easily accessible to all players.
Steps now:
Once the game runs continue with the following console commands:
"skill" "0" (preset for easy skilled bots)
"sv_maxspeed" "200" (Player can adjust how fast he and the bots can run, without
this the bots go crazy fast full speed. maybe as a slider for future releases)
"impulse" "100" (will add one bot)
"saved1" "1" (will make the bot follow through
the map rotation)
"exec" "map_cycle1.cfg" (optional file used by FrikBot to make a custom maprotation. Will change to the next map defined in the cfg after the set timelimit has expired. Highly
recommended cause some of the best maps for VR are custom community maps. Big maps with lots of
space to navigate and evade are best for quake vr.
For anyone want to try this, the bot is here: https://drive.google.com/drive/folders/1oDMb9WehPeGP72YDacVxBr2vXr38GpDC
Installation is drag and drop, readme and custom maps included.
I recommend map dpdm2.
Adding this to configs make quakevr playable on the go @ 60fps and allows for supersampling. The command also massively increases performance and possibly overall comfort for some individuals for all devices.
"r_fullbright" "1"
edit : Apologies for multi-post.
All the messages are impossible to read because they are displayed to far at the edges of the rendered image. Is it possible to move them more to the center?
vid_refreshrate 72
r_restart
didn't work
It would be nice, if we could rotate the view by pressing left/right on the touchpad.
Sometimes...you just cannot rotate that much on a couch ;)
For now i have to use an Xbox One Gamepad for that, but since there is no deadzone for the sticks it keeps on moving me all over the place.
Edit: I think i need to specify this more - Swiping should rotate the player and clicking/touching left/right should move me in that direction.
Suggest locomotion method that allow to use the 3dof controller for pointing in the desired direction of movement (as implemented) WITH static hmd oriented weapon (Gunface) (as in the non 3dof locomotion method)
I really need the same movement method as DGVR (Doom for Gear VR), meaning to be able to move by looking in a specific direction.
The swivel chair movement is making me nauseous, most likely because i lose real world orientation.
Other then that, QuakeGVR is a masterpriece, it's incredibly immersive!
The SUPERHOT team made a cool mod for singleplayer Quake a few years ago. It is very fun to play.
I put their source code up on Github because GPL. Unfortunately, their code has not been merged into the official DarkPlaces Quake source, so it wasn't inherited by QuakeGVR. Still, it would be neat to see this game in VR by merging the changes to Darkplaces Quake made by QuakeGVR and SuperQOT together into one.
It would be really nice if I could enter a server name using the VR controller without needing to pack a Bluetooth keyboard to play on my private server.
QGVR has occasional low fps issues in some game situations. Strangely these framerate drops seem to be unrelated to phone SoC performance. I use the S7 and S8 to run the game and it behaves the same perfomance wise. Even doing massive undersampling (Super Sampling value 0,5) does not have any effect on the framerate drops.
Isn't working.. needs fixing
Tried physical usb and bluetooth. It doesn't work right. Enter/backspace don't work, after opening console ` doesn't close it again, etc.
confirmed on GO and gearVR s7
I thought i'd bring this up because the onward style of locomotion was so well received and perceived to be very effective at reducing nausea.
So the idea is that when you press forward on the Gear VR controller, you can steer yourself in the right direction by pointing the controller in the direction you want to go to.
I am not sure if it will be a lot of work to implement this as an optional feature that can be enabled in the options menu?
Apparently QuakeGVR clarity can be massively improved if it were possible to increase internal resolution (Super Sampling) to 1.5 for example.
Is it maybe possible to add some options that allows one to select from a few different internal resolutions (Super Sampling)?
See also this reddit post:
https://www.reddit.com/r/quakegearvr/comments/9rm4wm/eyecandy_guide_on_how_to_increase_internal/
When ARcore is installed, qgvr heats up the phone pretty quickly even if the worldscale feature is disabled in QGVR.
minor problem - if ArCore is uninstalled issue is gone.
When stoping a forward movement the player always makes a brief sidestep.
Happens with all my Ipega and Xbox one Gamepads. Hours of try and error - Clean reinstall with original config and a checking on two phones didnt bring any improvement.
Strangely it does not occur during a multiplayer game only when singleplayer.
When using ArCore for 6DoF Room / Worldtracking the Axis are sometimes switched from the start. sometimes they work. Forward is backward, or sideways and so on... can't reproduce but the chance of it working is 50:50. tested on S7 and S8. Fresh QGVR install. different versions, no change.
FYI:
http://
http://play.google.com/store/apps/
http://play.google.com/store/apps/category/GAME
http://schemas.android.com/apk/res/android
http://www.example.com
http://www.google.com
https://
https://app-measurement.com/a
https://arworks.hu/gzalai/
https://csi.gstatic.com/csi
https://e.crashlytics.com/spi/v2/events
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/mraid/v2/mraid_app_banner.js
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/mraid/v2/mraid_app_expanded_banner.js
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/mraid/v2/mraid_app_interstitial.js
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/native_ads.html
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/production/native_ads.js
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/production/sdk-core-v40-impl.js
https://googleads.g.doubleclick.net/mads/static/mad/sdk/native/sdk-core-v40.html
https://imasdk.googleapis.com/admob/sdkloader/native_video.html
https://pagead2.googlesyndication.com/pagead/gen_204
https://pagead2.googlesyndication.com/pagead/gen_204?id=gmob-apps
https://play.google.com/store/apps/details
https://play.google.com/store/apps/details?id=%1$s&rdid=%1$s&rdot=%2$d
https://plus.google.com/
https://plus.google.com/%s/about
https://settings.crashlytics.com/spi/v2/platforms/android/apps/%s/settings
https://support.google.com/dfp_premium/answer/7160685#push
https://www.google.com
https://www.google.com/dfp/debugSignals
https://www.google.com/dfp/inAppPreview
https://www.google.com/dfp/linkDevice
https://www.google.com/dfp/sendDebugData
https://www.googleapis.com/auth/appstate
https://www.googleapis.com/auth/connections.read
https://www.googleapis.com/auth/datastoremobile
https://www.googleapis.com/auth/display_ads
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.appdata
https://www.googleapis.com/auth/drive.apps
https://www.googleapis.com/auth/drive.file
https://www.googleapis.com/auth/fitness.activity.read
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.blood_glucose.read
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.blood_pressure.read
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.body.read
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.body_temperature.read
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.location.read
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.nutrition.read
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.read
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.reproductive_health.read
https://www.googleapis.com/auth/fitness.reproductive_health.write
https://www.googleapis.com/auth/games
https://www.googleapis.com/auth/games.firstparty
https://www.googleapis.com/auth/games_lite
https://www.googleapis.com/auth/grants.audit
https://www.googleapis.com/auth/myphonenumbers
https://www.googleapis.com/auth/payments.make_payments
https://www.googleapis.com/auth/paymentssandbox.make_payments
https://www.googleapis.com/auth/plus.applications.manage
https://www.googleapis.com/auth/plus.circles.members
https://www.googleapis.com/auth/plus.circles.read
https://www.googleapis.com/auth/plus.circles.write
https://www.googleapis.com/auth/plus.login
https://www.googleapis.com/auth/plus.me
https://www.googleapis.com/auth/plus.media.upload
https://www.googleapis.com/auth/plus.pages.manage
https://www.googleapis.com/auth/plus.peopleapi.readwrite
https://www.googleapis.com/auth/plus.profiles.read
https://www.googleapis.com/auth/plus.profiles.write
https://www.googleapis.com/auth/plus.settings
https://www.googleapis.com/auth/plus.stream.read
https://www.googleapis.com/auth/plus.stream.write
https://www.googleapis.com/auth/pos
https://www.googleapis.com/auth/userinfo.email
https://www.googleapis.com/auth/userinfo.profile
https://www.googleapis.com/auth/youtube
Suggest adding a new locomotion style. Using the Gear VR controller to only control the aiming and allow to use the thumbstick of a Bluetooth gamepad to control direction of movement in relation to viewing direction.
Up till now none of the available modes allow this. Gamepad input and gear controller always influence each other.
Gamepad only mode is unusable after update.
Happens if: 3DOF diasbled, swievelchair mode activate.
Gamepad mode ia not fixed to hmd orientation.
I think this needs fixing, most people only have a gamepad. They try QGVR, get frustrated real quick. Never come back.
Can not quit the game properly on Oculus GO
When it comes to aiming in VR using 3DoF controller I think having laser beam mounted to each weapon is critical. Any chance you could attach one using code alone ? (I'd add it to each model if there were sane tools to edit those models)
Thanks beforehand
Even after a fresh install of QGVR , the gamepad joystick axis are mapped to the movement and to the numberspad at the same time. Moving the joystick axis does also trigger to change to a specific weapon mapped to the numbers. Makes the game unplayable for people who don't know how to change the config.
This issue is since way back.
I did a cheap but working workaround:
EDIT: Corrected as ManuelGDA pointed out.
bind 0 "impulse 0"
bind 1 "impulse 1"
bind 2 "impulse 2"
bind 3 "+forward"
bind 4 "+back"
bind 5 "+moveleft"
bind 6 "+moveright"
bind 7 "impulse 7"
bind 8 "impulse 8"
by binding the keypad also to the movement.
implemented this fix a while back in the "Express-Install-Pack" on r/quakegearvr to make it easier for people and I then forgot about that problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.