mirror of
https://github.com/giongto35/cloud-game.git
synced 2026-01-23 02:34:42 +00:00
parent
490e8eb02f
commit
e547b69bb7
3 changed files with 85 additions and 8 deletions
76
.github/workflows/build.yml
vendored
Normal file
76
.github/workflows/build.yml
vendored
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# ------------------------------------------------------------------------
|
||||
# Build workflow for multiple OSes (Linux x64, macOS x64, Windows x64)
|
||||
# ------------------------------------------------------------------------
|
||||
|
||||
name: build
|
||||
# run only when pushing into the master only
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags-ignore:
|
||||
- 'v*'
|
||||
env:
|
||||
go-version: 1.13
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Get the source
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: ${{ env.go-version }}
|
||||
- name: Set up Go environment
|
||||
shell: bash
|
||||
# add Go's bin folder into environment (to be able to call its tools)
|
||||
run: |
|
||||
echo "::set-env name=GOPATH::$(go env GOPATH)"
|
||||
echo "::add-path::$(go env GOPATH)/bin"
|
||||
|
||||
- name: Get Linux dev libraries and tools
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y make pkg-config libvpx-dev libopus-dev libopusfile-dev
|
||||
|
||||
- name: Get MacOS dev libraries and tools
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
brew install libvpx pkg-config opus opusfile
|
||||
|
||||
- name: Get Windows dev libraries and tools
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: numworks/setup-msys2@v1
|
||||
with:
|
||||
msystem: MINGW64
|
||||
path-type: inherit
|
||||
|
||||
- name: Load Go modules maybe?
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~/go/pkg/mod
|
||||
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-go-
|
||||
|
||||
- name: Build Windows app
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: |
|
||||
msys2do pacman -S --noconfirm --needed make mingw-w64-x86_64-gcc mingw-w64-x86_64-pkg-config mingw-w64-x86_64-dlfcn mingw-w64-x86_64-libvpx mingw-w64-x86_64-opusfile
|
||||
msys2do make build
|
||||
|
||||
- name: Build Linux app
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
run: |
|
||||
make build
|
||||
|
||||
- name: Build macOS app
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
make build
|
||||
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
|
|
@ -17,7 +17,7 @@
|
|||
# a new Github release is created with such tags.
|
||||
# ------------------------------------------------------------------------
|
||||
|
||||
name: Release
|
||||
name: release
|
||||
# run only when pushing v-prefixed SemVer tags (e.g. v1.0.0, v2.0.1, and etc.)
|
||||
on:
|
||||
push:
|
||||
|
|
@ -46,7 +46,7 @@ jobs:
|
|||
go-version: ${{ env.go-version }}
|
||||
- name: Set up Go environment
|
||||
shell: bash
|
||||
# add Go's bin folder into environmet (to be able to call its tools)
|
||||
# add Go's bin folder into environment (to be able to call its tools)
|
||||
run: |
|
||||
echo "::set-env name=GOPATH::$(go env GOPATH)"
|
||||
echo "::add-path::$(go env GOPATH)/bin"
|
||||
|
|
|
|||
13
README.md
vendored
13
README.md
vendored
|
|
@ -1,10 +1,11 @@
|
|||
# CloudRetro
|
||||
|
||||
[](https://github.com/giongto35/cloud-game/actions?query=workflow:build)
|
||||
[](https://github.com/giongto35/cloud-game/releases/latest)
|
||||
|
||||
**Open-source Cloud Gaming Service For Retro Games**
|
||||
**Video demo**: https://www.youtube.com/watch?v=GUBrJGAxZZg
|
||||
**My Slide at GopherconVN2019**: https://docs.google.com/presentation/d/1VFv8l2hVUINv2U36r7L11g4Oa_zVjHlr6MYymUbQXT4/edit?usp=sharing
|
||||
**My Slide at GopherconVN2019**: https://docs.google.com/presentation/d/1VFv8l2hVUINv2U36r7L11g4Oa_zVjHlr6MYymUbQXT4/edit?usp=sharing
|
||||
|
||||
## Introduction
|
||||
CloudRetro provides an open-source cloud gaming platform for retro games. It started as an experiment for testing cloud gaming performance with [WebRTC](https://github.com/pion/webrtc/) and [libretro](https://www.libretro.com/), and now it aims to deliver the most modern and convenient gaming experience through the technology.
|
||||
|
|
@ -12,8 +13,8 @@ CloudRetro provides an open-source cloud gaming platform for retro games. It sta
|
|||
Theoretically, in cloud gaming, games are run on remote servers and media are streamed to the player optimally to ensure the most comfortable user interaction. It opens the ability to play any retro games on web-browser directly, which are fully compatible with multi-platform like Desktop, Android, ~~IOS~~. It enhances crowdplay ([TwitchPlaysPokemon](https://en.wikipedia.org/wiki/Twitch_Plays_Pok%C3%A9mon)) with realtime interaction. E.g: [Play Pokemon Emerald together](http://cloudretro.io/?id=652e45d78d2b91cd%7CPokemon%20-%20Emerald%20Version%20%28U%29).
|
||||
|
||||
## Try the service at
|
||||
Single play: **[http://cloudretro.io](http://cloudretro.io)**
|
||||
Crowd play: **[Pokemon Emerald](http://cloudretro.io/?id=652e45d78d2b91cd%7CPokemon%20-%20Emerald%20Version%20%28U%29)**
|
||||
Single play: **[http://cloudretro.io](http://cloudretro.io)**
|
||||
Crowd play: **[Pokemon Emerald](http://cloudretro.io/?id=652e45d78d2b91cd%7CPokemon%20-%20Emerald%20Version%20%28U%29)**
|
||||
*Chrome and Chrome on Android is recommended. It's not working on iPhone and some other explorers. Click help button in the game UI to see keyboard mapping.*
|
||||
|
||||
\*In ideal network condition and less resource contention on servers, the game will run smoothly as in the video demo. Because I only hosted the platform on limited servers in US East, US West, Eu, Singapore, you may experience some latency issues + connection problem. You can try hosting the service following the instruction the next section to have a better sense of performance.
|
||||
|
|
@ -91,7 +92,7 @@ By clicking these deep link, you can join the game directly and play it together
|
|||
- [Play Pokemon Fire Red](http://cloudretro.io/?id=68bf168be6728020___Pokemon%20-%20Fire%20Red%20Version%20%28U%29%20%28V1.1%29)
|
||||
- [Mario](http://cloudretro.io/?id=1953c570fee1f9e4___Super%20Mario%20Bros)
|
||||
|
||||
And you can host the new game by yourself by accessing [cloudretro.io](http://cloudretro.io) and click "share" button to generate a deeplink to your current game.
|
||||
And you can host the new game by yourself by accessing [cloudretro.io](http://cloudretro.io) and click "share" button to generate a deeplink to your current game.
|
||||
_Disclaimer: You may experience lagging when joining a room because the room is in a different zone. In that case, you should create a new room for crowd play._
|
||||
|
||||

|
||||
|
|
@ -111,9 +112,9 @@ _Disclaimer: You may experience lagging when joining a room because the room is
|
|||
|
||||
## Author
|
||||
|
||||
Nguyen Huu Thanh
|
||||
Nguyen Huu Thanh
|
||||
https://www.linkedin.com/in/huuthanhnguyen/
|
||||
|
||||
Tri Dang Minh
|
||||
Tri Dang Minh
|
||||
https://trich.im
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue