giongto35 / cloud-morph

Decentralize, Self-host Cloud Gaming/Application
MIT License
1.08k stars 106 forks source link

[Discussion/Question] Non-cloud variant and easier customisation #70

Open toby63 opened 3 years ago

toby63 commented 3 years ago

So this might be a bit off topic, but still I would like to discuss this topic:

My idea would be to use this project as an In-home-streaming solution (just like Nvidia GameStream or Steam Link etc.). While this is of course to some degree already possible, there are still some scenarios that are not covered natively, for example:

  1. A PC-Setup would not be headless.
  2. Non-Docker Setup:
    • either just native on the computer
    • or alternatives like LXD could be used
  3. No need to copy things around -> just use the local game installations (assuming it's on Linux of course).
  4. (optional idea) Control the desktop (instead of just one application).

While I am sure that users who are programmers themselves, could change the source code to adjust it for other purposes, it is quite difficult to understand everything for other people.

So the potential solution would be to have easier configurable settings/structures etc., that would allow the users to setup the above mentioned scenarios more easily.

I can of course understand if you say that this is not the scope of this project, but I wanted to mention it, as I think it would be useful for many people.

Thx :slightly_smiling_face: .

giongto35 commented 3 years ago

Thanks for the great suggestion. Running things natively in non headless mode is indeed easier and it's common usecase as well. The in-progress work when I port it to Native Windows is to change run-wine.sh with a bat file that just runs exe file natively : https://github.com/giongto35/cloud-morph/blob/windows/run-app.bat .

For now, with Linux, I can provide different alternatives of run-wine.sh like run-wine-native.sh that spawn wine app natively, no virtual display, control the desktop. This simplified script can help developer understand and try the project at the first time as well.

gedw99 commented 3 years ago

Hey all,

Interesting proejct.

@giongto35 It sounds like cloud-morph is similar to a RDP / VNC system, but with a different approach.

@toby63 I was also thinking about the same thing. Why do we need a central server when we have webrtc. I am using gio to build golang based games. It support Forms, 2D and 3D, and can compile for Web ( using wasm), Desktop and Mobile. Its a bit like Flutter ( if you know it), but is 100% golang based. It can do sound, and can be used with the Ion SFU, etc.

I used to use flutter, but changed to gio because its pure golang and so makes it easy to do the GUI and the Server. Also the support is amazing. Fixes often happen in one day.

https://gioui.org/

https://github.com/gioui

Here is a chat demo built with it: https://github.com/gioverse/chat

If your interested in this let me know :) i am currently building a game for people with psychology disorders that helps their treatment. Sort of a long story... But anyway i just wanted to chime in about this approach.

giongto35 commented 3 years ago

Hi @gedw99, Thanks for your interest In CloudMorph, there is no central server. The P2P is just between the application and user. There is a small server "discovery" to show all applications in the network. I also like building game with Go (https://github.com/giongto35/gowog). Your project sounds cool to me when using WASM, ION SFU but I can't find a live demo from your link : D

gedw99 commented 3 years ago

https://github.com/gioverse/chat/blob/main/example/kitchen/main.go

no dependencies. Just go run .

thid is only a chat system that run on web, desktops and mobiles.

there are some games in gio also . Just can’t find them now as I am a little busy.