Any tips for how to make moddable games?

This page summarizes the projects mentioned and recommended in the original post on /r/gamedev

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • sol2

    Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:

  • As someone said, make the game data-driven is a good first step but I will say, also have some sort of way to add additional game logic. For C++ games, lua is really easy to embed the interpreter in your C++ binary, read in the files from a directory (like /mods) with the C++ filesystem api new in C++17, and it's very easy to use SoL to write an API for lua specific to your game. Many games use lua in this way and it's probably the most common mod path setup.

  • ValheimMods

  • I have done this, funny-enough, for my own mod for Valheim. You can look up the patching system here: https://github.com/RandyKnapp/ValheimMods/tree/main/EpicLoot/Patching

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • dec

    XML-based data markup language, intended for C# game development. (by zorbathut)

  • If you're using C#, I've got a library designed for easy datadriven moddability. It's heavily inspired by Rimworld's Def system. Still in development - it tends to get work done on it when people ask for it - but it's currently being used in Ascent of Ashes and I'm hoping to expand that.

  • LuaMachine

    Unreal Engine Plugin for Lua APIs implementation

  • ie: for unreal, https://github.com/rdeioris/LuaMachine

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts