Skip to content

ONLINE MULTIPLAYER #42

@TheYellowArchitect

Description

@TheYellowArchitect

Double Damnation can already be finished fully online, on Steam and LAN
Then, why is it not advertised as such on Steam?
It even has desync as a feature, which exists in no other game in existence - this is where I spent most of my netcoding devtime (5 months?), yet why is it nowhere mentioned or promoted?

Because Forge Remastered(the netcoding framework I used) clashes with SteamP2P. The steamworks integration is buggy, but even worse, Forge Remastered has packet bugs (only noticeable at >0 ping)

Ultimately, on Steam, this means there is jitter for the client (Player2/Mage), and all packets are unreliable (unironically UDP) hence you can imagine the infinite bugs.
On LAN, there is no jitter and all packets are reliable (except streaming packets like position and input snapshots), but there are still some packet bugs:
One of the worse being code-wise that the host has to send a position snapshot each frame even if his position is exactly the same as the past snapshot, otherwise packet acks flood the network because of faulty timestamps!

tl;dr: High-Level Netcoding is complete. Low-Level Netcoding is bugged, and I must port to Mirror.

Forge Remastered is dead, so its not like devs gave up development but at least it was a complete, stable project, no.
Anyway, assuming I'm hyped to return to do some huge update on Double Damnation, I will focus on Online Multiplayer, since all of netcoding game logic is complete, and its a damn shame the transport code below is bugged because of the netcoding framework. "Swapping" low-level should be possible. Porting in Mirror must be done.

==================

Mirror Tracker below, to complete and public release Online Multiplayer

===================

That last item may have surprised you. Believe it or not, coding more players is easier than having another player "share" the same entity. Seriously, generally speaking, all you need to do is sync a position (Vector2), and an animation/sprite (enum ushort)

And for this reason, I plan to release online multiplayer + 12 player mode, together, so its not "the exact same game with the exact same content, but with online multiplayer", but having an incredible unique new mode atop of that! A proper "ultimate" version.

WHEN?
When I get the will and desire. The hype, so to speak. Explained here

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs more infoLacking enough informationnetcodingAnything related to networking or online multiplayernew featureNew feature or requestperformanceAnything related to optimization or FPS

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions