Neos-Metaverse / NeosPublic

A public issue/wiki only repository for the NeosVR project
196 stars 9 forks source link

In game emulators(e.g. Mupen64, N64 etc) #2359

Closed alexderpyfox closed 3 years ago

alexderpyfox commented 3 years ago

Is your feature request related to a problem? Please describe.

Yesterday I was in a arcade world in Neos but then i thought wouldn't it be cool to have emulator intergration so you can play retro games in neosvr ofc it needs to have a configurable input binding component where you can connect logix to the emulator buttons so you can completely customize it incl just binding it to regular vr controllers or just in-game buttons oh and also for things like GameCube you can then have multiplayer GameCube in-game since multiple player input binding would allow to play the game multiplayer in split screen with each their own controller just like irl OwO

Relevant issues

I couldn't find one that got this exact request incl customizable button inputs via component and multiple people support

Describe the solution you'd like

GBA nes game gear neogeo Sega Dreamcast nds PSP mupen64 dolphin GameCube etc emulator intergration

Describe alternatives you've considered

Yeah

Additional context

Multiplayerable emulator since it's in VR

shadowpanther commented 3 years ago

I think that is better be left for desktop/browser streaming. Integrating random pieces of code (of questionable legality because emulation often uses proprietary ROMs) into Neos is a bad, very bad idea.

Electronus commented 3 years ago

This seems out of scope for something like neos. I dont think it would be added for a number of reasons.

Psychpsyo commented 3 years ago

I'm with Shadowpanther and Electronus on this one. This seems way too specific and out of scope and could probably be covered by some more general system.

alexderpyfox commented 3 years ago

of

Nah that wouldn't work because browser streaming and such can't be used as object that can be placed in a world without the owner of the stream being there I'm talking full on support in-game

3x1t-5tyl3 commented 3 years ago

I don't think that's something that neos should support. I'm agreeing with the rest of the bois here and say: This is really better solved through streaming your desktop in session and using external software for that "Playing mariokart 64 LAN with the drunk bois" time. I really don't think that implementing something like this is a good use of development resources.

alexderpyfox commented 3 years ago

But desktop streaming is userspace only so how would other people connect to it or even see it streaming and binding inputs is impossible to do when you don't know how to code how else could you be able to controll it from in-game without complex systems or do you mean that emulator support all together is a bad idea 😔

shadowpanther commented 3 years ago

It is not streaming right now, just a tab that shows you personally your desktop view. Desktop streaming to the world is planned, but is not a priority right now, from what I know.

Including the emulator code is a bad idea in itself because emulator developers often are forced to take their code down because they are breaking the copyright of the gaming platform's manufacturer or something in the same area of law. You won't want the big N to file a DMCA takedown against Neos, would you?

Khosumi commented 3 years ago

From the get go, legality very much so makes this impossible. I don't see this happening, ever.

Geenz commented 3 years ago

Due to the logistics of implementation, the fact that for a shared experience this would likely be quite poor due to stream latency, and the sometimes legally grey areas surrounding emulation for what would amount to a very narrowly scoped feature here pushes this into out of scope territory. Maybe it can be a thing someone else adds as a library you can load using something like retroarch, but it’s extremely unlikely we will ever directly support this in an official capacity.

In time, desktop streaming will be something that would get you to a point where you can at least show people what you’re doing. Offering others input- that’s another matter entirely, and something that we would need to very carefully consider.