Dustmod Multiplayer Prototype

The multiplayer prototype is now integrated with Dustmod.  Please visit https://dustkidblog.wordpress.com/2016/11/19/dustmod-has-updated/ to get the latest builds, this page will no longer be updated.

Update Nov 14th

  • Added dust projection visualizations
  • Enabled nexus checkpointing in multiplayer
  • Allow levels to be downloaded on demand in multiplayer (you only need to add the five nexuses to your levels2 now)
  • Level downloads now properly go into your user/save folder
  • Misc fixes

Update Nov 4th

  • Fixed a number of stability problems
  • Improved performance by tweaking garbage collecting
  • Implemented multiplayer replays
  • Fixed UI glitches
  • Fixed camera issues

Update Oct 27th

Updated the engines, game script, and level files.  Changes include

  • Significant performance improvements via multithreading
  • Resync PID controller works correctly now to keep both players at roughly the same frame.
  • Updated Nexus Levels

Please redownload your engine, main3 script, and multiplayer level files to try out.

Hi All!  I want to take a moment to introduce the latest Dustmod build that I hope to release properly soon.  Currently I’m looking for people to try this build and provide feedback.  I’m mostly interested in the following

  • Crashes
  • Performance during multiplayer (let me know if you stream multiplayer!)
  • Desyncs during multiplayer (what map, what was happening)
  • Any behavior that could be abused to cheat.

I’m aware there are visual glitches during multiplayer that I’ll work on addressing.

How To Install

The base install requires you to download the engine executable and the main3 script.

Engine

Download the appropriate engine and place it alongside the existing executable.  You may rename the executable to whatever you’d like; however auto updates will use the names “dustmod.exe” on windows and “dustmod.x86_64.bin” on linux/osx.  For Windows users I’ve offered DirectX and SDL2 based builds which you might give you different performance (SDL2 works better for me on Win 10).  If you want to try an SDL2 based build you’ll need to download SDL2.dll and put it in the same directory as the executable.

I’m not supporting Linux/OSX Steam just yet; I figure this will affect a small amount of people.  You can always setup the DRM free version on top of the steam installation which will work except you won’t get logged in with your steam account.

Script

Unlike previous versions of Dustmod there’s now only one version of the script for both drmfree and steam.  Additionally it uses the name ‘main3’ rather than ‘main2’ so it may sit alongside a vanilla installation.  Put the main3 file in your content/scripts directory.

What’s Changed

  1. Dustmod now includes a modded executable and uses main3 instead of main2.  This means you can have Dustmod alongside your vanilla DF installation and control which one is used
  2. There’s a multiplayer mode!  Additionally TwinkieSWF has selected maps and created nexuses to house them that are appropriate to 2 to 4 players.
  3. You can now save state and load state when frame advance is on.  This functionality has replaced save checkpoint and load checkpoint.
  4. The windows binary continues to run in the background.
  5. The DF client communicates directly with dustkid without modifying the hosts file.  I’ll be adding an option to switch this back to hitbox for those who’d prefer replays not show up on dustkid.

How To Play Multiplayer

If you want to play multiplayer you need to also download the multiplayer maps TwinkieSWF has prepared and put them in your levels2 directory.

Things To Know About Multiplayer

The multiplayer is based on rollbacks so that the movement of your own character can be done immediately and remote character movement can be fixed up after the fact.  Therefore you may see other players teleporting or even dying then coming back to life.

The most unfortunate side effect of this right now is if the remote player is near spikes or death zones they may frequently be seen as dying to the local player causing a fade out and input locking just for that death to be reverted. My current plan to address this is to allow players to die independently and avoid non-local interactions like this.

Additionally the following things have yet to be done:

  • Multiplayer Leaderboards

Things That Will Cause Problems

  • Using your mouse to navigate menus
  • Interacting with the leaderboards
  • Watching a replay
  • Downloading a level

There is nothing preventing you from doing any of these things however they each could lead the game states desyncing.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s