• Hey! Guest! The 39th GMC Jam will take place between November 26th, 12:00 UTC and November 30th, 12:00 UTC. Why not join in! Click here to find out more!

Asset - Demo EZ Networking - Platformer Build

JasonTomLee

Member
EZ GMS Networking - (Platformer Build)
Hello fellow Gamemaker Devs! This asset is an extension of the Reference Build( Itch, GM:S Marketplace ). Check it out if you already haven't!

I made this as simple as possible for others to learn & implement into their projects. And I hope to help& teach others just as how the Community has helped me. Enjoy!

INFO
- It uses a fairly simple system called LockStep.
- It involves the Client mimicking other clients by sending each command the player presses.
- Simple scripts to send keypress / releases
- All the server does is send each action to every connected player.
- CHAT is included!
- Player can WIGGLE~ (using draw_sprite_pos() )
- Dynamic Cam (Zoom In & Out)







Dynamic Cam



Dyanamic Cam Example



Networking Example




**I will work hard to update & release new assets often. So please feel free to send me any suggestions, feedback & questions, Thank you !! :") **

=====Stay Updated=====
Find me via:
@jasontomlee
Gamemaker Marketplace
www.jasontomlee.com
 
Last edited:

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
can you provide some example code to see what it looks like the make a platformer game online multiplayer?
Lockstep networking can be roughly classified as:
  • You have relatively small amount of networking code mixed in the actual game logic.
  • There is input latency (depending on implementation, either equal or half of "ping")
    Adding lag compensation on top of a lockstep system is a complicated process.
  • If one of the players lags, performance degrades for the rest (or game looses sync and has to re-send entire game state to player later).
    Resolving this (rollback networking) is an even more complicated process.
  • Debugging sync/determinism issues is honestly one of the worse things to deal with in any sort of networking, involving adding verbose logging and state dumps and then comparing logs and dumps to figure out where the things go different.
    Judging by reviews, it would seem like the asset' author themselves slightly lacked expertise in this area (which is fine, it takes a while).
Overall, it can be good (multiple of my multiplayer mods use lockstep variants), but you really need to know what you're in for.
 

YellowAfterlife

ᴏɴʟɪɴᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ
Forum Staff
Moderator
no I mean't he doesn't have any example code to what his extension looks like
Ah. Only author would be able to tell you that.

I have other information though: I briefly tested the demo from itch.io page and this is not lockstep at all - there's no synchronous lock - if a player lags or drags the window around, they desync permanently. There is also no input buffering, which is a requirement for lockstep networking. Maybe the topic author will explain themselves.
 
Top