example-webrtc-applications icon indicating copy to clipboard operation
example-webrtc-applications copied to clipboard

Add Ebiten game example

Open JoeTurki opened this issue 7 months ago • 2 comments

Description

Add ebiten game by @ValorZard

https://github.com/pion/example-webrtc-applications/pull/317

JoeTurki avatar May 11 '25 04:05 JoeTurki

Codecov Report

:x: Patch coverage is 0% with 773 lines in your changes missing coverage. Please review. :white_check_mark: Project coverage is 0.00%. Comparing base (af3aed7) to head (559eb8d). :warning: Report is 2 commits behind head on master.

Files with missing lines Patch % Lines
ebiten-game/game/main.go 0.00% 402 Missing :warning:
ebiten-game/signaling-server/main.go 0.00% 329 Missing :warning:
ebiten-game/game/ui.go 0.00% 42 Missing :warning:
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #329    +/-   ##
=======================================
  Coverage    0.00%   0.00%            
=======================================
  Files          25      28     +3     
  Lines        2860    3633   +773     
=======================================
- Misses       2860    3633   +773     
Flag Coverage Δ
go 0.00% <0.00%> (ø)
wasm 0.00% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

:rocket: New features to boost your workflow:
  • :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

codecov[bot] avatar May 11 '25 05:05 codecov[bot]

After this PR gets merged, I’ll probably open up a new one to do some refactors

  1. Figure out how to actually use the signaling server between different browsers on different computers (due to I think cross origin issues). Using something like ngix should fix it? IIRC this was something that seems easy to do, so it could be part of this PR.
  2. I want to replace the current long polling we’re doing to use server side events instead (probably using this library: https://github.com/tmaxmax/go-sse
  3. Refactor main.go in the game code to split out the host and client code into their own separate files (host.go and client.go)
  • Host and Client code is so different that it doesn’t make sense to shove it all into one function anymore
  • Would make more sense to have a Host struct and a Client Struct and have associated functions with each
  • Host struct would have an map of all the peer connections for all the clients connected to it
  1. Make it so that players can drop in and drop out of the session at any time
  • this is just a neat feature that webrtc lets us do

ValorZard avatar May 11 '25 17:05 ValorZard