diff --git a/README.md b/README.md index 28d44e1..be1f171 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,14 @@ # Preface -This project is a demo for a websocket-based input synchronization method inspired by [GGPO](https://www.ggpo.net/). -![screenshot-1](./screenshot-1.png) +This project is a demo for a websocket-based input synchronization method inspired by [GGPO](https://www.ggpo.net/). + +_(how input delay roughly works)_ + +![input_delay_intro](./charts/InputDelayIntro.jpg) + +_(in game screenshot)_ + +![screenshot-1](./charts/screenshot-1.png) Please checkout [this demo video](https://pan.baidu.com/s/123LlWcT9X-wbcYybqYnvmA?pwd=qrlw) to see whether the source codes are doing what you expect for synchronization. @@ -67,7 +74,7 @@ The easy way is to try out 2 players with test accounts on a same machine. - Open one browser instance, visit _http://localhost:7456?expectedRoomId=1_, input `add`on the username box and click to request a captcha, this is a test account so a captcha would be returned by the backend and filled automatically (as shown in the figure below), then click and click to proceed to a matching scene. - Open another browser instance, visit _http://localhost:7456?expectedRoomId=1_, input `bdd`on the username box and click to request a captcha, this is another test account so a captcha would be returned by the backend and filled automatically, then click and click to proceed, when matched a `battle`(but no competition rule yet) would start. - Try out the onscreen virtual joysticks to move the cars and see if their movements are in-sync. -![screenshot-2](./screenshot-2.png) +![screenshot-2](./charts/screenshot-2.png) ## 2 Troubleshooting diff --git a/charts/DelayNoMore.drawio b/charts/DelayNoMore.drawio new file mode 100644 index 0000000..8f29415 --- /dev/null +++ b/charts/DelayNoMore.drawio @@ -0,0 +1 @@ +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 \ No newline at end of file diff --git a/charts/InputDelayIntro.jpg b/charts/InputDelayIntro.jpg new file mode 100644 index 0000000..1be39b3 Binary files /dev/null and b/charts/InputDelayIntro.jpg differ diff --git a/screenshot-1.png b/charts/screenshot-1.png similarity index 100% rename from screenshot-1.png rename to charts/screenshot-1.png diff --git a/screenshot-2.png b/charts/screenshot-2.png similarity index 100% rename from screenshot-2.png rename to charts/screenshot-2.png