Summary

Turn Jump King into a Skinner Box!

This is a mod that I implemented with content creators/streams in mind- it interacts with an external device (only the PiShock is currently supported) to trigger force feedback as you make and lose progress while playing Jump King. The mod is highly configurable to allow controlling the strength and duration of the feedback, which feedbacks are enabled, the distances the feedback triggers at, and more!

Development

This is a C# mod I built for Jump King in about a week. In a case of some of the worst (or best?) timing in the world it started as an addition to an existing mod for Twitch integration into Jump King. But, soon after that was completed official mod support for Jump King was introduced and it ended up as the first non-dev created code mod for Jump King (only beating out existing mod authors as they had actually worked on the mod support as developers).

Reverse Engineering

One of the interesting challenges with this mod was needing to reverse engineer Jump King (as well as other mods when workshop support was first introduced and there was no documentation) a bit to get it working. I did start from a solid base given the mod I originally integrated with (and that’s part of why I did that- it didn’t seem like a good idea to build a mod framework from scratch)- but the specific functions/functionality that I needed to implement and hook required digging through the Jump King binary (using dnSpy mostly) to figure out both how it worked as well as how I could patch it (using Harmony) to get the mod working.

PiShock API

Along with the actual integration with the game the mod interacts with a Web API to control a device known as a PiShock- the code is implemented to support other devices in the future through a common device interface but only the PiShock has ever been implemented (and I have no personal plans for implementing other devices).