Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

ROM / Emulation Support #269

Open
2 of 4 tasks
Alfagun74 opened this issue Oct 19, 2023 · 7 comments
Open
2 of 4 tasks

ROM / Emulation Support #269

Alfagun74 opened this issue Oct 19, 2023 · 7 comments
Labels
💻 client There are things to do on the client 🔧 feature New feature or request 🧩 milestone This issue will take a lot of effort and will make a big difference. 🤑 monetized This feature will cost money 🎛️ server There are things to do on the server 🎨 ui This issue needs a UI Design.

Comments

@Alfagun74
Copy link
Contributor

Alfagun74 commented Oct 19, 2023

Exploring GameVault as a Retro Game Management and Emulation Solution

Background:
Our community is home to numerous retro game enthusiasts, and we're considering the possibility of integrating GameVault as both a ROM manager and an emulator.

Current Status:
At present, there is no detailed plan in place, and some preliminary research is needed to address this endeavor.

To-Do List:

  • Investigate the availability of retro gaming platforms and consoles on RAWG.
  • Explore the integration of an emulator, such as emulatorjs, into GameVault.
  • Implement game types and develop a game type detection system for titles on these platforms.
  • Test and confirm the ability to launch and play ROMs directly from within GameVault.
@Alfagun74 Alfagun74 converted this from a draft issue Oct 19, 2023
@Alfagun74 Alfagun74 added 🔧 feature New feature or request 🎛️ server There are things to do on the server 💻 client There are things to do on the client labels Oct 19, 2023
@ShadowPeo
Copy link

Perhaps do not need to re-invent the wheel here. Integration might be the name of the game

https://github.com/linuxserver/emulatorjs
https://hub.docker.com/r/linuxserver/emulatorjs

@Alfagun74
Copy link
Contributor Author

@ShadowPeo ticket literally says

Explore the integration of an emulator, such as emulatorjs, into GameVault.

@ShadowPeo
Copy link

@Alfagun74 , Huh, so it does, Totally missed it

@wiseoxejah
Copy link

Would you also consider the option for emulator distribution rather than just server side emulation? I'd love to be able to upload emulator packages independently. Maybe a text file within the archive could specify the location for roms. Then you'd be able to download roms and have them moved into the specified folder similar to (W_P).

Feel free to let me know if this is a terrible idea.

@Alfagun74 Alfagun74 added 🧩 milestone This issue will take a lot of effort and will make a big difference. 🎨 ui This issue needs a UI Design. labels Apr 28, 2024
@MoSattler
Copy link

Would you also consider the option for emulator distribution rather than just server side emulation?

Personally I am looking for the "Steam-for-Roms" experience. As in, have my devices (RetroPie, RetroArch) being able to download the games from my self hosted backend, and then just play them. Extra points for sync of safe games!

@jedinjapan
Copy link

jedinjapan commented Oct 22, 2024

To echo some of the comments here: The emulatorjs project covers the goal of server-side in-browser emulation just fine on its own, and has multiple other deployments. Integrating that project directly into Gamevault is just duct taping two different projects together and, in my opinion, offers little value to what is supposed to be a library management and deployment app. This in fact would drive me away from using Gamevault to manage things, as I already have an emulatorjs instance setup and this only serves to complicate that instance while also diverting the focus of this tool, and ensuring it will never properly manage emulators.

It distracts from the idea that this is supposed to be a library resource for those connecting to it. Similar to PC titles, consider associating ROMs with their emulator, and using Gamevault to manage and distribute a ROM/Emulator pair based on a script that can place them in the appropriate folder, and skip the emulator deployment if it is detected. This would be absolutely a game changer in terms of simplicity for non-technical family members. This could allow a user to host their Gamevault instance of ROMs in the same manner they host their PC titles, and easily setup single titles on new systems, including allowing deployment of different emulators based on the platform accessing the vault, all without migrating the entire ROM collection or without the latency/lag or limitations of in-browser emulation. This would make instant co-op in emulated titles infinitely easier when one has guests.

Often times with newer emulation titles need specific tweaks and setups to function, and using Gamevault to make these into "packages" for your family could make the process painless.

Playnite handles Emulators and ROMs separately from standard applications for this same reason, and being able to connect the two platforms and use Gamevault to remote install your emulation collection from Playnite with a few clicks would be amazing.

@Alfagun74
Copy link
Contributor Author

@jedinjapan Thanks for the feedback! To clarify: We currently plan that EmulatorJS is just an optional add-on/feature for the client and not the main focus in this milestone. It’s a way we want to offer to emulate without any extra software, but you’re not required to use it.

It is just a starting point, and we will definitely be exploring deeper integration with existing emulators. We may even monetize the EmulatorJS part, while keeping external emulator integrations free.

I think that's a good compromise to offer our GameVault+ users more features, without taking away too much from the free users, to keep the project alive and all that.

@Alfagun74 Alfagun74 added the 🤑 monetized This feature will cost money label Dec 1, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
💻 client There are things to do on the client 🔧 feature New feature or request 🧩 milestone This issue will take a lot of effort and will make a big difference. 🤑 monetized This feature will cost money 🎛️ server There are things to do on the server 🎨 ui This issue needs a UI Design.
Projects
Status: 🔧 Planned
Development

No branches or pull requests

5 participants