Skip to content

Commit fd1af07

Browse files
committed
doc: Update README.md
1 parent 53c1963 commit fd1af07

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

README.md

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1-
# Networked client-server multiplayer game demo written in Rust
1+
# Networked client-server multiplayer architecture demo written in Rust
22

33
[![Build](https://github.com/balintkissdev/multiplayer-game-demo-rust/actions/workflows/ci.yml/badge.svg)](https://github.com/balintkissdev/multiplayer-game-demo-rust/actions/workflows/ci.yml)
44

5-
> A proof-of-concept networked multiplayer game demonstrating UDP socket programming and asynchronous runtime usage in Rust.
5+
> "A technical demonstration showcasing UDP socket programming, Tokio
6+
> asynchronous runtime usage, and client-server game architecture in Rust.
7+
> Features real-time synchronization of 2D movement between local and remote
8+
> players."
69
710
![Menu](doc/img/menu.png)
811
![Demo](doc/img/demo.png)
@@ -59,12 +62,12 @@ custom-tailored reliability protocols on top of it.
5962
- Client-server architecture for multiplayer networking. UDP socket
6063
communication for low-latency networking.
6164
- Health-check mechanism to detect lost network connections.
62-
- Reliability patterns to mitigate harsh network environments like UDP packet losses.
65+
- Mitigation of UDP packet losses in harsh network environments.
6366
- Real-time multiplayer gameplay with smooth synchronization.
6467
- Graphical client application with GUI menu
6568
- Hardware-accelerated OpenGL rendering for 2D top-down perspective graphics.
6669
- Flexible server hosting options:
67-
- Clients can host hybrid server sessions from GUI.
70+
- Peer-hosted server: clients can host their own server sessions from GUI.
6871
- Headless/dedicated server-only mode running without GUI.
6972

7073
## Requirements
@@ -104,8 +107,10 @@ The application can also be deployed as a Docker container, which will run in se
104107
docker build -t multiplayer-game-demo-rust .
105108
```
106109

107-
2. Launch the Docker container. This starts with `--server-only` and `--trace` options by
108-
default. See [Command line options](#command-line-options) for more info.
110+
2. Launch the Docker container. This starts with `--server-only` and `--trace`
111+
options by default. Make sure to allow the container's port (`8080` by
112+
default) to the host. See [Command line options](#command-line-options) for
113+
more info.
109114

110115
```sh
111116
docker run -d -p 8080:8080 multiplayer-game-demo-rust
@@ -134,3 +139,8 @@ switch.
134139
- `--trace`: Enable tracing of UDP messages on console log.
135140
- `-h, --help`: Print help.
136141

142+
## Resources
143+
144+
- Roberto Vitillo. (2021). *Understanding Distributed Systems: What every developer should know about large distributed applications*.
145+
- Josh Glazer and Sanjay Madhav. (2015). *Multiplayer Game Programming: Architecting Networked Games*. Addison-Wesley.
146+

0 commit comments

Comments
 (0)