LAN multiplayer
This is being done on the server branch.
- [x] Client and server separation
- [x] Client/server threads (452d77d2b3fe91a9081dde6dcc3bea1d7f81b7d5, c09d0091db3592898c78e64106a00dda380fc7dd)
- [x] Client/server/common crates (01263feecb43048146b0747b38c048c5d663c892)
- [x] Client/server executables (adb2d5ef3d6b3b1a4d8112e885d19d973190f6e4)
- [x] Clients should request blocks from the server, rather than the server pushing them. (ca3ada57bb7ad5f9a04905d7d628d702515bfc3e, fff5e98590bf2f95f27e9ac67f21fcf5822007c9)
- [x] Support multiple
Clients (7cbad25c0d15a6933661522646a5b6c5571e8796).- [x] Clients should get their
OwnerIds from the server (4f4e5d86846a74af3244bd81a8b2a01698ac8319).
- [x] Clients should get their
- [x] Give
Players meshes (47e3a8953af94c549572218ce70a4d902a52ba3d). - [x] Support multiple
Players (7a4e88ab8616d4a3ebc80518a7c5d1857eaf6789).- [x] Add players dynamically when clients connect (7a4e88ab8616d4a3ebc80518a7c5d1857eaf6789).
- [x] Clients get unique IDs to annotate their messages (827ba8ba082ff068e8e39162f55fe490d90ccfc0).
- [x] Networking (26ccf9b787fd4fdbfec47864cc9cbba4a2b31f6f, c9089a3e9e99c2d57b8c60161083640f017059fd)
- [x] Make it fast/scalable again (8383f41bc5b622374f65c5c2fd953c10eef898f6, 1d3621df9161adf173f85b9306364381805ad387, 37d3a825439dc15ad9adc5add779c277db53ec2e, 3707b3e2402c24970a41283fffb4a7d319128480, 246bfa446aa2be125daa89865507d2005f19e019)
- A lot of refactoring happened near the
mainlevel. We're not as smooth as before, but smoother than this branch has ever been. It still tanks at bigger render distances though. - Release builds are smooth for low render distances.
- [x] Terrain message rate limiting in the client
SurroundingsLoader(b6c5e4179e05a8708f66f2d663da660bd5834073).
- A lot of refactoring happened near the
This sounds fun!! On Sun, Feb 8, 2015 at 2:06 PM Ben Foppa [email protected] wrote:
We need:
- Client and server separation (started in #104 https://github.com/bfops/playform/issues/104)
- Networking
- Multiplayer
— Reply to this email directly or view it on GitHub https://github.com/bfops/playform/issues/114.
I think a nice goal would be to make playform into something we actually like killing time with. Maybe a casual fighting game or something.
Moved world updates into a new thread in 452d77d2b3fe91a9081dde6dcc3bea1d7f81b7d5 (https://github.com/bfops/playform/issues/104). This starts the client/server separation.
might be worthy of a read, if you plan on doing your own networking model: tribes networking model pdf
Looks interesting, thanks!
Added a client thread, and renamed some world* things to server*. c09d0091db3592898c78e64106a00dda380fc7dd
The server branch has most of the client/server split-up done. It's jittery though - we need to look at latency and reducing the amount of messages being transferred (because processing each one increases latency).
The crates branch is keeping track of my progress on the client/server cratification.
Release builds are slow for low render distances. Need to fix up the bottlenecks for higher render distances and then this can be called done!
Merged 9e1d36ff206aa0dd8f02bdaea1bbaa8cd2185222.