
Show HN: VRWorkout – A VR calisthenics rhythm game made with Godot - blensor
http://www.vrworkout.at
======
blensor
Developer here. I built this for my own daily workout but it may be useful for
others as well, so I decided to make it open source.

It was built using Godot 3.2 [1] and uses the Oculus Quest hand tracking to
free up your hands which is especially important for the pushups.

[1] godotengine.org

~~~
jachee
Is it within the realm of possibility to use this with a Rift S?

~~~
blensor
I've pushed some changes today that will make it run on SteamVR, so it should
run on a Rift S as well. There is no precompiled binary yet because I still
have issues with one of the two controllers not being recognized, but you can
try it out if you want.

------
cagenut
This is awesome. I wish someone would put vive trackers[0] on bowflex
selectable dumbbells [1] and do something similar.

IMHO VR for lifting will be an easier place to start than VR for cardio or
calisthenics because you're not moving around as much and sweating the same,
so the HMD size is less of an issue.

[0] [https://www.vive.com/us/vive-tracker/](https://www.vive.com/us/vive-
tracker/)

[1]
[https://www.bowflex.com/selecttech/560/100581.html](https://www.bowflex.com/selecttech/560/100581.html)

~~~
blensor
I can attest to sweating. If you really get into it you can expect to change
all your clothing afterwards.

For those who are curious what score the dev reaches. I've just done the full
workout (all 6 songs in a row, each on hard to get the most points) and im
soaked now.

The total time is ~20 minutes (1172.86 seconds) The final score was 306080
points

------
phreack
After struggling with Unreal for a while, I wholeheartedly thank you for open
sourcing this! I'm a Godot lover and it's incredible that you can make such a
fun game as a solo dev with it

------
falcolas
Personal opinion: Beating Beat Saber as a workout program (as much of “not a
workout program” as it is) is going to be really tough - Beat Saber is _fun_.
Most workout programs, be they games or with a trainer... aren’t.

~~~
quickquackquock
Have you tried Synth Riders? It's similar but the aesthetic is different, the
music is different, and rather than chopping at things you have to dance
through them. The more energetic and accurate your dance is, the better your
score. I find it more fun than Beat Saber.

Both are beat games. The most obvious way to see the difference between them
is to watch someone else playing each. One game looks like someone dancing
around and trying to look cool, the other looks like a robot being short
circuited.

If you have experience with Beat Saber you can go straight in at expert modes
in Synth Rider (e.g. level 4 or 5).

SR is also more like a puzzle game for me, there are certain songs where you
have to figure out what kind of dance moves would make it physically possible
to complete the track perfectly, how you could modify them to get more points
etc.

No connection to the developers of either game, and both are worth owning.

------
tsherr
Is there an option for non-oculus vr gear?

~~~
blensor
At the moment it will only run on the Oculus Quest. There is nothing really
keeping it from working on other 6DOF headsets as well, the Initialization
code may need to be tweaked a bit but I don't plan to at the moment.

You could take the source and check the Godot VR tutorial
([https://docs.godotengine.org/en/3.1/tutorials/vr/vr_starter_...](https://docs.godotengine.org/en/3.1/tutorials/vr/vr_starter_tutorial.html))
to see if you can modify it for your own headset.

And without hand tracking it may be a bit uncomfortable to do push ups. But
maybe the knuckles controller will be comfortable enough.

------
jobseeker990
How did you get hand tracking working?

~~~
blensor
That depends on where you are coming from. If you are using Godot 3.2 stable
then you just need to set "Hand Tracking" to "optional" in the Android export
settings.

As for the code for using it there are a initialization steps you have to do
in your main scene. I suggest you take a look at the hand tracking demo in the
godot_oculus_mobile plugin
([https://github.com/GodotVR/godot_oculus_mobile](https://github.com/GodotVR/godot_oculus_mobile))

However, if you are using an older beta release of 3.2 then I suggest
upgrading to 3.2-stable because the packaged apk in the export templates does
not have to correct permissions to support hand tracking.

------
noja
Will this also check my form?

~~~
blensor
It does the usual point counting how many and how accurately you hit the cues.
This is somehow an indicator how in shape you are but, apart from that there
is no measurement of body properties

~~~
noja
Please make something that checks form! You will corner the home trainer
market!

------
jobseeker990
Why use Godot vs Unity3D? I don't know much about it. Is it easy to get
something running for the Quest? Where do you get the assets?

~~~
blensor
I am developing on a linux laptop with a mediocre graphics card.

Godot is a ~500MB Download (including the export templates), and that's it.
It's fast, and does not take much space (disk and ram). Once started it takes
up 0.8% of my RAM (about 256MB).

Oculus Quest support is currently only semi official. You have to compile the
godot_oculus_mobile plugin yourself but that is really easy and in the future
it will be available as an asset from the assetlibrary.

As for assets I used, you can import fbx, obj and gltf that should be
sufficient enough for most basic things.

Mostly my workflow is to download something from sketchfab or blendswap pepare
it in Blender, export it as gltf and import it in Godot.

Or for simpler stuff like the claws or the head cues I just do it in Blender
myself.

~~~
carlosdp
The plugin was added to the asset library a few days ago actually:
[https://godotengine.org/asset-
library/asset/500](https://godotengine.org/asset-library/asset/500)

~~~
blensor
I can now confirm that this works. So no more compiling the plugin required.

