Finally a working game ( test )


unfortunately at the moment I have only this snippet of video, that BTW I found pretty challenging to take ‘a convincingly looking video’ as it’s really hard to capture a good view.

This is literally “Minotaur Arcade Volume 1” ( apologizes in advance for the ‘shameless promotion’ but there you’ll find better videos and description of what it is : MA Vol1 on Steam ) with my NEW totally-re-done version of our custom engine, with now added support for Looking Glass.

The thing with an NVIDIA GTX 1070 manages to run around 45 … 50 FPS, could do more with some optimisation, overall it’s a playable game :slight_smile:

We are planning for the near future to do an “MA Vol2” with maybe “a specific game for LG”, we are certainly going to show some LG stuff at our next exhibition and this coming week end ( 11th to be precise ) we’ll be in Rome at an internation video game exhibition and we’ll add some talk about LG at the end of our talk.

Anyway here is a quick snippet of the thing Small Video it’s H.264 encoded should be MP4 standard.

Hope you’ll enjoy it, we’ll be “soon” releasing a test version of all this, probably on and/or Steam as well for “a debug/test phase”, I’ll keep you posted on this thread when we’ll do it.


(p.s. could not find any way to embed the video directly in this post, how is it done ??).

1 Like

Cool! It has a great 80’s vibe.

1 Like

Some better videos ( Youtube ) :slight_smile:

It shows a bit of the game/frame rate :slight_smile:


@GilesGoat Hi! Your game looks really cool :slight_smile:

We encourage you to submit this to our Submission Form so that it can be included in the Looking Glass official Library!

1 Like

we are still in a testing phase, we’ll first open a test phase somewhere before to stick it out given this is fundamentally an ‘upgrade’ to an already existing commercial application so “we have to be sure it really works”.

This is mostly an upgrade/update to that game, so far sold on Steam/PC only but soon to hit PS4/other plattforms to which we add “Looking Glass” as a test/experiment to support it more in the future and made it become a staple in our engine.

Also how does it work to become “part of the library ?” I mean “at best” I can create a “classic PC installer” where you run a “Setup.EXE” and “does all the thing for you” or if it’s “steam like” I can supply a folder with files and “someway your setup should make it work”, but it has to know “where to put where and what to launch”.

This is NOT a project made using Unity/Unreal and/or any other engine, it uses “100% propietary tech” apart from OpenGL/GLEW/OpenVR libs ( which means some DLLs has to be present and such ).

Anyway we first need to test it well before to put it out otherwise we’d have a mob of really angry people ( and quite a few ) saying “what have you done/put out !” :smiley: :smiley: :smiley:

Truste me … it happens … you have no idea how much grief I already got “because I did not suppor this or that” or “that little thingy that does not work exactly as one wanted” :slight_smile:

Cheers !


Yeah we certainly don’t want to rush you, but we’d love to help promote your work and get it into the hands of people in the community however we can! The Library is our best way of doing that and it should work for any executable (not just Unity/Unreal), but if there are any issues there we can try to figure something out. Just let us know when you’re ready to get this out into the world, I can’t wait to see it! Also, if you’re comfortable sending a build privately I’d love to see it myself - feel free to email me at


when time comes , probably as soon as I sorted out a few things, I’ll keep you posted about ‘the test phase’.

Thing is this is an already commerically sold game and technically this is an upgrade/fix I’ve done MOSTLY to support VIVE and a few other things to which LG been included as “a potential future base” as well.

Because we are still seeling it as a game and we plan to sell it around a few other places I just can’t put it out for free and would be a bit too weird/complex to make a lock down version for LG alone.

However I’ll find a way to give a test build to you, be it via Steam or some other way, also it’s not 100% stand alone, it does require your .JS driver top read the JSON configuration string, without it it cannot work.

Also some of the levels would still require “a bit of trimming/optimisation” because frame rate falls a bit in some of the more complex levels.

Anyway rest assured that in a way or another you’ll get a build and when stuff we’ll be ready we’ll find a way to make it more available to all LG owners :slight_smile:

But to me/us it’s been a interesting “proof of concept” that “yes we can do and it’s worth doing stuff for Looking Glass, you can get nice results” :slight_smile:

Now I can say as well, as someone else around those forums said, “my only regret is that I cannot afford yet the bigger version” :slight_smile: You’ll have to tell me how the game looks in there because I can’t see it :slight_smile:



Hi Giles, Llamasoft, et al:

Love your work, first of all.

Correct me if I’m wrong - are you using the OpenGL API for rendering?
If you’re already linking the DLL, you should be able to call hp_loadCalibration or hp_loadCalibrationIntoShader… but if you’ve written your own lightfield shader, there ought to be a way to grab the calibration with the builtin DLL functions.

Hopefully this is transparent in the current documentation - looping in @kyle, who should hopefully be able to help eliminate the dependency on the JS drivers.


Chatted with Kyle - hp_loadCalibration() configures the internal shader with calibration values, but if you’re not using the included lightfield shader, there is also an undocumented function called load_calibration(char* buf) which you can just call with a char pointer as arg. Since the C API is generally designed to abstract out the nuts and bolts of the lightfield rendering process, that function is mostly intended for debugging, but if you already have code to parse calibration and render with it, it should be available in the current release of the OpenGL shared library.



Immediately, I’m reminded of Zaxxon, which had an inherent 3D element to its gameplay. This would work very well with a proper 3D display, like LG. I would whole-heartedly suggest you or someone develop a clone. Check it out:


Of course, other retro games ripe for a 3D conversion would include Q*Bert

and Marble Madness

I know there’s already an open source clone of the latter, called Trackballs. I wonder how hard that would be to hack LG support into…


Hi Gille !

Instead of capture the device with your smartphone, could you make a video-screen-capture of your screen in full-screen and save the result with a format of 2560x1600. It will allow us to see the result in the highest resolution possible, in 3D , at 60 fps.



having already been “in the land of lawyers and we are going to destroy you pronto” I would NOT touch with a pole 2 miles long any “too well known IP/game” unless I’d get a proper licensing from someone.

Someone else MAYBE can risk to do it, I CAN NOT !

We are really not in the position to be able to get some IPs like that and make “a clone/re-make for fun” even it’s totally free/for a charity(*)/whatever , as I said “lawyers would be just out of door knocking”.

(*) you need some special things in place even for doing that the “defense” of “I am doing it for non-profit / etc. is NOT sufficient and will NOT keep you out of troubles”.

Been there, don’t want to be there any more.

Original ideas yes, “clones” NO !


thing is as I explained in my various previous posts I did try to use that lib, for reasons I still don’t know “I wasn’t able to use it” ( was giving me errors or doing nothing ).

I ended up by reverse engenerring a bit some samples to re-create my own which fundamentally “does what your does but in a different way”, the biggest trouble for me was finding the correct view/projection matrices but then I got it all working.

The shader I am using fundamentelly is yours ( got from the Java sample ) with some minor modifications.

However I think the way I generate the quilt and submit it to the shader is lightly different, once I decided there are mn views at resxresy per view I generarte ONE single texture mresx,nresy and I move viewports/etc. in that sending the thing to the shader in one single pass so I always and only render in one single “render target”.

The way I read the calibration string is via your “driver” where I literally open a WebSocket and get the JSON string out of it then I parse it with “an extremely simple parser” done specifically for that.

The more I am thinking the more I believe that “OpenGL is still not the best way to do”, nor DX unless we are talking Directx12.

I have plans “possibly before the end of the year” to start re-working on a Vulkan version of my “graphics front end” where I have in mind “a number of possibly better ways” to do this “multi view rendering” that cannot be done in OpenGL for various reasons ( owing to the nature OpenGL works ).

For the moment I am doing all this “kinda in the spare time” I’d love I could work more on it but for the moment I have to follow “what pays the bills” first.

Still seeing this “first game test” going so well on it makes me wish to really support it ( the LG ) more and more in the future because I really like it and I have “quite a few ideas”.



OK, long as you got it to work out.
One piece of advice, if you don’t want to open up a websocket you can just pull the calibration executable directly out of the Holoplay.js driver and pipe its stdout into your program. On PC, it lives at Program Files (x86)/Looking Glass Factory/three.js Driver/load_calibration.exe.


I maybe have a look however it’s been an interesting learning experience about Winsocket and windows, for me it was totally new as WebSocket stuff is not my field of expertise :slight_smile:

Just finishing to work/test on the ‘test setup’ of the whole game, I still have “one big hurdle” ( hopefully not too big ) that are the VIVE controllers, unfortunately GLEW seems not to work well with those.


I figured those videos might at least inspire some gameplay elements.

Anyway, I’m inspired by what they were able to achieve with 1982 and 1984-era hardware. Marble madness must’ve used some crazy tricks, because it’s not like you could use commodity hardware to rasterize something like that as you’d do, today. If you look closely, they have shadows (though probably static) and what appears to be simple texture mapping. The grid is also variable resolution.


I am a bit older then 1982, and the first machine I coded on had 839 bytes of ram available :wink:

You had to use “all the tricks you can” in those times :smiley:

A quick search to wikipedia says " Unlike most other arcade games of the time, the course images were not drawn on the pixel level. Instead, Cerny defined the elevation of every point in the course and stored this information in a heightmap array. The course graphics were then created by a ray tracing program that traced the path of light rays, using the heightmap to determine the appearance of the course on screen. This format also allowed Cerny to create shadows and use spatial anti-aliasing, a technique that provided the graphics with a smoother appearance. "

Also sounds like this was one of the first games programmed in C, they had some luxury then :wink:

Yes sure looking at the old things and such is ALWAYS source of inspiration and awe but really, I repeat, having been there “beware of lawyers and IPs” because nowadays there are just people can’t wait to jump on you for that !!

It’s no fun when a lawyer begins to tell you things like “sure I can send one quick reply to this letter but I need at least $10K for that” … …


So, I wonder if they just used some lossless bitmap compression format to store the levels. It also seems like they’d need a Z channel (or comparable hack), to handle occlusions.

Also, this:

In the mid 2010s, Cerny served as the lead architect and producer of Sony’s PlayStation 4 and PlayStation Vita video game consoles.

I probably shouldn’t be surprised.

Anyway, I always fire up Trackballs to test the 3D graphics acceleration in Linux installs on new hardware. It’s available in many distros. Gameplay with a mouse is pretty decent. Truly, timeless fun.


If anyone knows of some good lightfield compression techniques, perhaps a similar scheme could be used to make LG games playable on Pi-class hardware.