robovm icon indicating copy to clipboard operation
robovm copied to clipboard

Nintendo Switch target

Open bladecoder opened this issue 7 years ago • 13 comments

Hi,

I am thinking about how to port my libgdx games to Nintendo Switch. Could we take an approach like that of iOS adding the Switch target to the RoboVM? What do you think?

Cheers,

Rafael

bladecoder avatar Feb 12 '18 12:02 bladecoder

Nintendo Switch is TegraX1 cpu, which means it is aarch64. Compile java to that target is almost now available (64bit iOS devices uses it) What you basically need is to get everything together with probably playing around Switch SDK as it looks like good enough to go. There is some homebrew tutorials in web so it looks possible.

Oh wait, you need the SDK, which hard to apply to, costs some $. Switch hardware. And many-many hours getting it working.

dkimitsa avatar Feb 15 '18 13:02 dkimitsa

That would be super cool, but platform holders certainly dont want to make it too easy.

piotr-j avatar Feb 15 '18 19:02 piotr-j

without having official SDK it is not clear what is available. checked what hackers provided for homebrew and it is not so nice: there is no linux kernel as it was mentioned in web, no opengl (at homebrew level) lot of posix stuff they are trying to emulate over existing Switch API etc.

this means that getting robovm to compile for homebrew is problematic and not due robovm itself but huge basket of dependencies which will fail to compile due posix stuff is missing.

but having official SDK might change things. another moment is using of SDK with open source projects will be not allowed due NDA. So everything has to be not exposed which doesn't fit RoboVM license.

other moment: lets assume there is Robo for Switch. The general Switch development looks like bellow: you show Nintendo complete game -- they send you Dev kit if you are good enough. How many libgdx devs will go this way ? Cost of entry is high enough.

dkimitsa avatar Feb 16 '18 07:02 dkimitsa

Sorry, guys, any news here?

egordorichev avatar Apr 19 '18 18:04 egordorichev

NDA is still there last ive checked.

piotr-j avatar Apr 19 '18 19:04 piotr-j

Slaythespire have released their LibGDX game on Switch (as well as PS4 and OpenBSD).

electronstudio avatar Jul 29 '19 23:07 electronstudio

@electronstudio its is not clear how it was done (and probably it was port of game itself to the platform). as even in leaked stuff there is no such things exposed as OGL and Posix layer. As long it is under NDA it might be hard to provide OSS to support this target.

dkimitsa avatar Jul 30 '19 06:07 dkimitsa

mini2Dx will offer in the near future a Switch target, it's a bit higher level than libgdx and some things are different, but it looks promising.

Disclaimer: I'm a developer paid by Viridian Software, the company behind mini2Dx

augustozanellato avatar Aug 15 '19 13:08 augustozanellato

@augustozanellato How you gonna achieve that? and as far as I know mini2Dx is Open Source so will you publish the implementation for the switch Backend as well?

mustii82 avatar Aug 15 '19 19:08 mustii82

Looks like it's a wrapper around LibGDX. So LibGDX works as one backend for Mini2DX, but it also has other backends such as Monogame. (I think Monogame supports Switch?)

I don't think it would be that useful for me if the backend doesn't support OpenGL. Once you've been using LibGDX for a while you end up replacing most of it with your own code anyway and just using LibGDX as a cross platform way to access OpenGL.

electronstudio avatar Aug 15 '19 20:08 electronstudio

So yeah, until 1.9.x it was only a wrapper around LibGDX, now we’re making this console port using our proprietary cross compiler with monogame as a backend. It’s not clear yet if the console specific stuff will be open source, but definitely you’ll get access to it only if you’re a registered developer for the console you want to release your game to.

augustozanellato avatar Aug 15 '19 20:08 augustozanellato

So you are going closed source?

Tom-Ski avatar Aug 15 '19 21:08 Tom-Ski

No, mini2Dx will continue to be open source, the compiler that’ll be used for console deployment will be closed source. The only thing that’s not clear is if console specific code will be open source or not

augustozanellato avatar Aug 15 '19 21:08 augustozanellato

The only comment that acknowledges homebrew in this thread dismissed it immediately due to the capabilities at the time. I love that 5 years later, after much improvement on that front, the thread was closed without further discussion. Wonderful. For the record, the Switch has a rich homebrew development kit called LibNX that could easily handle this project, given the right developers. Some individuals have even ported small portions of the JVM for smaller projects, but they don't have the support of a full team and community for the implementation.

halotroop2288 avatar Aug 18 '23 22:08 halotroop2288

@halotroop2288 That's great. Issue is closed for issue tracker clean up as this is not planned as no one of the very few maintainers of this project is going to to be doing this, and by the looks of it and the activity on this thread, no one else is. Anyone is free to open up discussions/PRs again if they are willing to contribute.

Tom-Ski avatar Aug 18 '23 23:08 Tom-Ski

Apparently, there already is a fork of RoboVM which allows targeting the Nintendo Switch.

crykn avatar Sep 03 '23 11:09 crykn