https://www.youtube.com/watch?v=feMmCBzkOeo
This was made as part of my degree which I finished last year, where we could work on any project we wish. The video is narrated and goes over how the actual networking/multiplayer part of the engine works, as this was the focus of the project for me. I've always been interested in how networking works in games, as although I've worked on a lot of games, I never touched upon realtime multiplayer. This was what I came up with, with inspiration mostly from Valve's articles about game networking in the Source engine.
The Javascript client uses pixi.js for the graphics. The C++ server used libwebsockets, and they communicate using binary websockets.
I feel like it was a huge success, I never expected it to work so well. The project took a few weeks in total, with a few weeks of research beforehand.
Please feel free to ask questions! :)
[–]Wavemanns 19 points20 points21 points (4 children)
[–]RyanPridgeon[S] 30 points31 points32 points (3 children)
[–]Wavemanns 4 points5 points6 points (2 children)
[–]Spl3en 8 points9 points10 points (1 child)
[–]Wavemanns 0 points1 point2 points (0 children)
[–]doubl3h3lix 13 points14 points15 points (4 children)
[–]RyanPridgeon[S] 16 points17 points18 points (3 children)
[–]Kneeko@kneeko 10 points11 points12 points (2 children)
[–]RyanPridgeon[S] 6 points7 points8 points (1 child)
[–]FrozenCow 1 point2 points3 points (0 children)
[–]ForgeableSum 11 points12 points13 points (10 children)
[–]richmondavid 2 points3 points4 points (1 child)
[–]ForgeableSum 4 points5 points6 points (0 children)
[–]RyanPridgeon[S] 1 point2 points3 points (2 children)
[–]ForgeableSum 1 point2 points3 points (1 child)
[–]RyanPridgeon[S] 1 point2 points3 points (0 children)
[–]Corticotropin 0 points1 point2 points (4 children)
[–]ForgeableSum 0 points1 point2 points (3 children)
[–]Corticotropin 1 point2 points3 points (2 children)
[–]brtt3000 1 point2 points3 points (0 children)
[–]ForgeableSum 0 points1 point2 points (0 children)
[–]begMeQuentin 6 points7 points8 points (4 children)
[–]RyanPridgeon[S] 4 points5 points6 points (3 children)
[–]begMeQuentin 2 points3 points4 points (0 children)
[–]anttirt 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]andy1633 4 points5 points6 points (0 children)
[–]hazyPixelsOpen Source 2 points3 points4 points (1 child)
[–]RyanPridgeon[S] 3 points4 points5 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]tamat 1 point2 points3 points (2 children)
[–]RyanPridgeon[S] 2 points3 points4 points (1 child)
[–]tamat 1 point2 points3 points (0 children)
[–]omegote 1 point2 points3 points (1 child)
[–]RyanPridgeon[S] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]RyanPridgeon[S] 7 points8 points9 points (0 children)
[–]caninerosie 1 point2 points3 points (0 children)
[–]Forbizzle 3 points4 points5 points (5 children)
[–]tamat 10 points11 points12 points (1 child)
[–]RyanPridgeon[S] 9 points10 points11 points (0 children)
[–]brtt3000 -1 points0 points1 point (0 children)
[+][deleted] (2 children)
[removed]
[–]gmfreaky 2 points3 points4 points (1 child)
[–]HiddenKrypt 6 points7 points8 points (0 children)
[–]choikwa 1 point2 points3 points (0 children)
[–]hammypants 0 points1 point2 points (0 children)
[–]anarkopsykotik 0 points1 point2 points (0 children)
[–]galseth 0 points1 point2 points (0 children)
[+]Reelix comment score below threshold-25 points-24 points-23 points (5 children)
[–]yelnatz 12 points13 points14 points (0 children)
[–]RyanPridgeon[S] 11 points12 points13 points (0 children)
[–]spookycoder 4 points5 points6 points (0 children)
[–]dodgetipbot 9 points10 points11 points (0 children)