So it all started with a conversation in #godotengine, the guys were planning to go to the Kieler Open Source und Linux Tage and since Bastiaan recently implemented OpenHMD support in Godot, we thought it would be the best opportunity to tag along and do a shared booth!
We arranged our travel, got a place to stay at one of the locals (Thanks Stefan! it was much fun!) and started packing.
We wanted to show off recent work, so we build a demo using the Oculus DK2 and the NOLO for room scale and controllers with the dev branch of Godot 3.0.
After a week of on and off scene building, I went on with my brother Yngwie towards Kiel by plane (over Hamburg). Of course after some delays and some confusing German train-rides we arrived and found a great location which accurately depicts the German Linux community as I know them (with course on the Friday evening the Grill and beers were setup and a good time was had).
With pH5 already waiting for us, together with the Godot guys we setup a nice presentation and hacking area to show off what we have been up to.
Godot
So Godot is a Open Source game engine which has really been improving over time. 3.0 Which is currently in development adds a lot of neat functionality such as a full PBR pipeline and really improving upon their 3D workflow.
OpenHMD is part of this list of improvements, making a full open source VR pipeline possible.
The demo we slapped together was effectively done in about 2 afternoons including some game logic and even some voice acting!
The Godot developers were really active in helping out whenever we found something that needed adjusting, bugfixing and general support, they are great guys in general as well!
We will work on improving the demo and eventually release this to the public as a demo, we will also continue to use this as demo on events.
Live Hacking
Of course no event is completed without some Live Hacking, we used this time to figure out performance optimization for Godot, look at Pipeline but also worked on some OpenHMD stuff directly!
PSVR
pH5 took the PSVR and started working on a blob tracking method, so webcam’s and similar can be used to add positional tracking using some CV algorithms.
A lot of manual math was done to calculate the locations of the led’s, do some filtering, and add basic blob tracking to the system.
In theory, every 60fps capable webcam would be able to deliver a decent experience, though even 30fps webcam’s could at least work to add a decent (but probably slightly laggy) experience.
NOLO
So the big star of the show was the NOLO, which i started to like more and more over time. The build quality is quite good, they ‘borrowed’ the right things from the other solutions, and made it quite easy to use.
We tested our implementation (which has been in branch for quite a while) and eventually decided it was ready for master!
We did not test the ‘ceiling mode’ that the NOLO delivers through alternative firmware, this way you can tape the base station to your ceiling and have a room scale setup without to much options for occlusion, since the trackers are (almost) always in view.
Livestream!
To keep our contributors and community involved, we setup a impromptu livestream with a random laptop and a shoddy internet connection. We spoke a bit with some local people, the Godot guys, the Kieler Hackerspace and just had some general fun.
The way back
Unfortunately we were not that lucky the way back, literally at the gate at Hamburg ready to board, our flight status changed to ‘canceled’. So a long wait later and a re-booking for the next day resulted in a unplanned stay at the Marriott (on cost of the flight company of course!).
Fortunately they did not block the HDMI on their screen so we hooked up our presentation Intel NUC so we could let the others know what is up, do some programming and chill out and watch a movie!
Overall we had a great time, lots of cool people and good beers.
Thanks to all the Kiel community and the Godot guys for making it such a success!