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
- 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.
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.
- Windows Steam (DirectX) (32 bit)
- Windows DRM Free (DirectX) (32 bit)
- Windows Steam (SDL2) (32 bit)
- Windows DRM Free (SDL2) (32 bit)
- Linux DRM Free (64 bit)
- OSX DRM Free (64 bit)
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.
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.
- 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
- There’s a multiplayer mode! Additionally TwinkieSWF has selected maps and created nexuses to house them that are appropriate to 2 to 4 players.
- You can now save state and load state when frame advance is on. This functionality has replaced save checkpoint and load checkpoint.
- The windows binary continues to run in the background.
- 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.