Our Approach to Mod Support Implementation


The concept of a platform to share user-generated content sounds relatively simple on the surface - a modder uploads their creation, the player downloads it - but in reality, there are significant technical and logistical challenges that go into making a platform like mod.io work, in a way both developers and players come to expect.

A classic example of this is the organization and categorizing of mods and user-generated content - having a huge amount of content available to players is great, but just how discoverable is that content? Developing a system that allows users to browse, sort dynamically, and organize big data presents a significant challenge - just this one feature alone can represent months of design and development work.

mod.io allows studios to overcome these hurdles by providing a simple, ready-to-run API and user-experience that will easily integrate with any game, independent of engine or platform - however, as with any plug-and-play solution, one understandable concern that is at the forefront of developers minds is the introduction of technical debt. It's a concern we fully understand, which is why we're building mod.io to be a flexible, scalable, and long-term solution for developers.

One example of this is our unique approach to managing tasks within our C/C++ SDK. Traditionally, whenever a task or function is performed in C/C++, the entire task is completed in one go, pausing the requesting function, or in a worst-case scenario, affecting performance. While it may only take 5 seconds to update a mod list, for example, this is an excruciatingly long period of time for a function to run in video game terms.

On a basic level, our solution is to break down these comparatively long tasks into tiny pieces, ensuring that we don't block or slow-down the host game. To go back to our example of updating a list of available mods, instead of waiting for the entire task to complete in one go, we'll send our initial request to the API, then stop our task, allowing the game to continue unimpeded, and occasionally poll the operating system waiting for the reply/acknowledgment. Once the OS has received that, we'll then decide if we want to continue with the next piece of the task or allow the game to continue.

By breaking up these tasks into tiny slices, we ensure that mod.io has minimal to no performance impact on the games that integrate with it. You can read more about our API, SDK, and game-engine plugins on our documentation pages.

Get Cross Platform Mod API & SDK

Leave a comment

Log in with itch.io to leave a comment.