Gear VR and Oculus Go port

Subforum for discussion and help with ScummVM's Android port

Moderator: ScummVM Team

Post Reply
Thaurin
Posts: 6
Joined: Thu Jan 20, 2011 6:23 pm

Gear VR and Oculus Go port

Post by Thaurin » Thu Jun 21, 2018 1:27 pm

Hi,

Has anybody every considered porting the Android version of ScummVM to Gear VR or Oculus Go? I'm shocked that I could not find any mention of this on Google or forum search. It must have crossed someone else's mind before?

It would be glorious.

digitall
ScummVM Developer
Posts: 957
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall » Fri Jun 22, 2018 4:52 am

Not sure of the utility in porting a "program which allows you to run certain classic graphical (2D) point-and-click adventure games" to systems which are Head Mounted Displays for 3D / immersive gaming, but *shrug* ScummVM is open source and the Android build guide is here ... Feel free to have a go and see how it works out:
http://wiki.scummvm.org/index.php/Compi ... VM/Android

If you come up with something usable which you would like to upstream any changes, then patches / pull requests are welcome.

Thaurin
Posts: 6
Joined: Thu Jan 20, 2011 6:23 pm

Post by Thaurin » Sat Jun 23, 2018 6:39 pm

Yeah, I might take a crack at it. I've been wanting to get into Oculus Go development, but it's gonna be a challenge for me.

Why would you want ScummVM on a HMD? Imagine playing your favorite point-and-click adventure games on a massive screen in front of your face with your standalone device that you can take with you anywhere, like a flight. I got the idea stuck in my head after streaming a PC point-and-click to my Oculus Go and noticing how extremely well the Go controller works for point-and-click games, because you know... the controller is exactly that, point and click.

It would play very nicely on the Oculus Go, I'm very sure. So I hope I can get it working some day!

digitall
ScummVM Developer
Posts: 957
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall » Sun Jun 24, 2018 1:04 am

Ah, I see. A bit like https://www.roadtovr.com/newretroarcade ... l-reality/ did with arcade games.

OK, sounds reasonable now. Good luck on the coding!

To help kick you off with our codebase, see:
http://wiki.scummvm.org/index.php/Developer_Central

I suggest going through the "Getting Started" and "Help! Where do I start with the code base?" section to get the codebase via Git and compile for your desktop platform i.e. Windows / OSX / Linux before you look at the cross compiling and Android porting. Once you have that working, then take a look at the Backends (Platform specific code) HOWTO:
http://wiki.scummvm.org/index.php/HOWTO-Backends

Then look at the existing Android code found here:
https://github.com/scummvm/scummvm/tree ... s/platform

We have two Android backends, depending on whether SDL is being used. I suspect you will need to do some heavy modifications so may need to copy this across and create a new specific platform backend for AndroidVR. You may also want to look at the OpenGL and OpenGLSDL backends for Graphics since I think you will want to create a virtual "TV" as a GL Surface and then blit to that:
https://github.com/scummvm/scummvm/tree ... s/graphics

Good luck... and if you get anything working, feel free to drop a Pull Request to the project and/or drop us a message on here :)

digitall
ScummVM Developer
Posts: 957
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall » Sun Jun 24, 2018 1:05 am

P.S. Oh and also see:
http://wiki.scummvm.org/index.php/Compi ... VM/Android
http://wiki.scummvm.org/index.php/Compi ... ndroid-SDL

for the platform specific compilation instructions.

Thaurin
Posts: 6
Joined: Thu Jan 20, 2011 6:23 pm

Post by Thaurin » Sun Jun 24, 2018 2:25 pm

Thanks!

This is really gonna be a challenge, but that's okay. I have never done any graphics development, neither in 2D or 3D. There have been people doing similar things, though, so it should not be impossible. Getting anything like the LucasArt games to run on my Oculus Go would be nothing short of magical.

If I have any sort of success, I'll be sure to let you know.

Thaurin
Posts: 6
Joined: Thu Jan 20, 2011 6:23 pm

Post by Thaurin » Sun Jun 24, 2018 8:22 pm

So it looks like compiling the Android version of ScummVM requires gcc and some pretty old Android SDK/NDK versions?

digitall
ScummVM Developer
Posts: 957
Joined: Thu Aug 02, 2012 1:40 pm

Post by digitall » Mon Jun 25, 2018 3:13 am

Well, I am not an expert on this nor am I the Android porter / maintainers, but AFAIK the older Android backend is going to be a bit behind the curve (though this is partly so we can target a wide range of Android devices, running older versions of the OS). The AndroidSDL backend is the newer one and I think now the standard for the project's official Android releases

Apart from that, we do support natively building ScummVM on a wide variety of platforms, but in general most of the cross compilation targets are only tested building from a Linux host Doing this from Windows or OSX should be possible, but would be more troublesome and require non-free software so "your mileage may vary". Note also that the wiki instructions are useful, but may be outdated as porters do not always update them regularly. I think the Android SDL version wiki instructions show more up to date versions of the various tools:
http://wiki.scummvm.org/index.php/Compi ... ndroid-SDL

I would suggest using a Virtual Machine and/or container system to build this. We do have reference implementations for doing this using Buildbot and Docker and these configurations are more likely to be accurate on the current versions. See:
https://github.com/scummvm/scummvm-site ... .cfg#L1132
https://github.com/csnover/scummvm-buildbot

Thaurin
Posts: 6
Joined: Thu Jan 20, 2011 6:23 pm

Post by Thaurin » Mon Jun 25, 2018 8:15 pm

There's been an interesting development. Oculus released a new app called Oculus TV that is basically a sort of streaming app. It puts you on a couch in front of a huge screen and you can stream video.

The interesting part is that people have found out that sideloaded Android apk's work inside this app! I sideloaded the 2.0.0 version of an Android build and it showed up in the app! I actually played The Secret of Monkey Island in it.

This development is huge, but there are some things left to figure out about controls (like F5 for saving). I don't have the Android keys to access System functions for like the ScummVM menu. Having the controls used for the iPhone version would work great here.

UPDATE: ScummVM is pretty configurable. I've been able to remap most of the keys I need to do everything. This means I can now play ScummVM games in VR on a huge screen. This decreases the value of a proper port a bit, but that might still be fun.

Post Reply