Cavern of Sorrow

A small demo multiplayer game showcasing how netcode is done, using the Godot engine with GodotSteam plugin.

map

Installation

  • You need Godot, which you can download from their site, or even from Steam

  • GodotSteam has already been installed, all you need to do is go to their site and follow steps 2. and 3.

    • download Steamworks by logging in with your Steam account and agreeing to their terms of use
    • create a new folder sdk under addons/godotsteam
    • in addons/godotsteam/sdk add the folders redistributable_bin and public from Steamworks SDK
  • You are now ready!

Additional resources:

https://www.youtube.com/watch?v=lnFN6YabFKg&list=PLZ-54sd-DMAKU8Neo5KsVmq8KtoDkfi4s&index=1 - godot netcode with rpc (code was mostly based on this)

https://www.gabrielgambetta.com/ - fast-paced multiplayer

https://gafferongames.com/#posts - netcode done right

https://meseta.medium.com/netcode-concepts-part-1-introduction-ec5763fe458c

http://www.kehomsforge.com/tutorials/ - multiplayer game setup in godot

https://docs.unrealengine.com/udk/Three/NetworkingOverview.html - netcode in unreal engine

https://www.ra.is/unlagged/ - "lag" compensation techniques

https://fabiensanglard.net/quakeSource/quakeSourceNetWork.php - quake engine code review - network

https://www.youtube.com/watch?v=h3qDOSJneFA - title

Credits

Tiles and sprites - https://opengameart.org/content/tiny-16-basic
Font - https://www.dafont.com/pixel-operator.font