JackTrysGames

Bring back the mods

Recommended Posts

A recent update removed the ability to mod the game, crippling a major part of the game's community. I speak not only for me here, but several hundreds of people. Bring back the ability to mod the game, please.

  • Upvote 3

Share this post


Link to post
Share on other sites

Modding was never officially permitted. there's nothing to bring back.

  • Upvote 2
  • Like 1

Share this post


Link to post
Share on other sites

Not saying I am particularly fond of modding, but:

Hinterland didn't remove mod support, they changed how part of the game is released. By that mods that were made for pre-1.6 don't work anymore. People figured out modding Minecraft after it was obfuscated. People have already figured out how to bring back mods to The Long Dark after IL2CPP. I won't take too long until most of them are back. Use your google muscles.

 

Share this post


Link to post
Share on other sites
18 hours ago, jeffpeng said:

People have already figured out how to bring back mods to The Long Dark after IL2CPP.

Yeah, there's a mod loader that allows people to read from and write to game objects (I think the published version actually only supports static fields for now) and that allows you to manually rewrite the game's assembly at runtime, but that's it. That's a far cry from what was possible with Harmony. Also, having to write mods in C++ is a huge hurdle for people who want to get into modding and who don't have tons of experience yet. Having to install IDA / Ghidra / whatever to disassemble the game's binary to make sense of what the game's various methods do is a huge annoyance, as well. Also, these mods would then rely on fixed offsets within the game's binary, so they'll almost certainly break after every ever-so-small update to the game.

18 hours ago, jeffpeng said:

It won't take too long until most of them are back.

Yeah, no. We're sitting on thousands of lines of legacy code written by modders that either aren't around anymore or don't have time or motivation to work on modding anymore. We simply don't have the manpower to rewrite all of these mods in a different programming language, with a different modding framework that has fewer features, and worse modding tools overall.

For a game that's eventually supposed to get mod support, that's a pretty rough deal.

  • Upvote 2

Share this post


Link to post
Share on other sites
2 minutes ago, StrangerFromTheInternet said:

so they'll almost certainly break after every ever-so-small update to the game.

That's kinda the problem modding "true" binaries, yes. But honestly ... that's not the dev's problem.

3 minutes ago, StrangerFromTheInternet said:

We simply don't have the manpower to rewrite all of these mods in a different programming language

That's kinda the problem modding a game with a rather small userbase - small compared to things like Skyrim or Minecraft, which have modders that count in the tens of thousands. But again, not really the dev's problem.

4 minutes ago, StrangerFromTheInternet said:

For a game that's eventually supposed to get mod support, that's a pretty rough deal.

If - and by this time I doubt it - The Long Dark gets modding support they will want to have it restricted to what you are supposed to mod. Like adding some food, tweak weapons, add new maps, things like that. Removing breath, for example, probably isn't in their playbook. Also godmoding, teleporting, or what have you that was possible with the right mods which you can't really consider modding, but more like cheating, is something they will want to avoid with all means neccessary.

I think we could now have a discussion on if someone paying money for code should be allowed to use said code as they see fit. And I'm probably with you on that argument. I'm involved in open source for 20 years, not big time, but with a few contributions, mostly in the GNU and Linux code bases, and also Minecraft modding back in the 1.7 days. But I'm also making a living writing proprietary code, and if there wasn't such a thing as ownership of intellectual property I'd be out of a job in no time. And as such it's at Hinterland's gusto to allow or prevent modding either with their EULA, by means of obfuscation or, as it happened in this case, converting bytecode into actual machine code. Doesn't mean I have to like it (since I indeed believe in free software - free as in free speach, not as in free beer), but I guess I'll have to respect their stance on it.

It is possible to do binary modding (maybe the most popular example of this is SKSE), but you kinda rightly point out that this is a job hardly possible for a signle individual unless comitting to it full time (maybe patreon the project? Crowdfund?). But if that was done actual modding could be done in a simpler language like JavaScript. Let the mod loader expose an API via V8 and people could mod TLD with limited programming experience. Sure that wouldn't bring back legacy mods, but it could be a way forward. Basically my point is: if the community has a big enough interest in it - it'll happen.

  • Upvote 1

Share this post


Link to post
Share on other sites

Bring back what mods exactly? I might not be entirely in the know about, this but the only "mod" for TLD that I ever heard of is a save editor, and that doesn't really count as a mod (And from I understand the editor still works to this day). So were there any mods out there that are actually worth bringing back? Genuine curiosity. 

Share this post


Link to post
Share on other sites
1 hour ago, jeffpeng said:

If - and by this time I doubt it - The Long Dark gets modding support they will want to have it restricted to what you are supposed to mod. Like adding some food, tweak weapons, add new maps, things like that. Removing breath, for example, probably isn't in their playbook. Also godmoding, teleporting, or what have you that was possible with the right mods which you can't really consider modding, but more like cheating, is something they will want to avoid with all means neccessary.

Yeah, but then again, it's not like you'd even need modding tools for that 😛

But on a serious note, anything beyond the most basic mods will require some code to be written to enable custom functionality, and if that's not possible with Hinterland's mod support, then it's pretty much DoA. Most stuff that the community has been requesting for years (and which ye olde mods provided), like binoculars, more food items with special effects on the player, new firestarting items, etc., all require some code to be written. From what I've been able to tell, most people aren't just looking for "more of the same", which is the only thing you could do without writing code.

2 hours ago, jeffpeng said:

It is possible to do binary modding (maybe the most popular example of this is SKSE), but you kinda rightly point out that this is a job hardly possible for a signle individual unless comitting to it full time (maybe patreon the project? Crowdfund?). But if that was done actual modding could be done in a simpler language like JavaScript.

Yeah, something like that would obviously be sweet, but I wonder how well this would really work for a game like TLD. Many TLD mods don't just extend the game's code in some way, but also change the game's existing functionality. Doing that from a scripting language but targeting a native binary - without having to embed asm into the scripting language and without ruining the game's performance - sounds like a horrendous task.

-----

1 hour ago, DerpyLemon115 said:

Bring back what mods exactly? I might not be entirely in the know about, this but the only "mod" for TLD that I ever heard of is a save editor, and that doesn't really count as a mod (And from I understand the editor still works to this day). So were there any mods out there that are actually worth bringing back? Genuine curiosity. 

There were around 80 mods written for TLD by about a dozen modders, but they're not that easy to find. Part of the reason why you've never heard of them is because talking specifics about modding or even linking to mods is a big no-no on this forum.

  • Upvote 1

Share this post


Link to post
Share on other sites
3 hours ago, StrangerFromTheInternet said:

Yeah, something like that would obviously be sweet, but I wonder how well this would really work for a game like TLD. Many TLD mods don't just extend the game's code in some way, but also change the game's existing functionality. Doing that from a scripting language but targeting a native binary - without having to embed asm into the scripting language and without ruining the game's performance - sounds like a horrendous task.

I never got it finished, and hence never released it, but I had something rather similar for Minecraft 1.7, which basically could do bytecode manipulation from JavaScript - among other things. Maybe not horrendous, but "tedious" is probably an apt description. Basically the sheer size of the undertaking killed it. 

I have read a bit in the old pre 1.60 codebase of TLD back then, but no actual experience modding TLD (again, since I respect the devs wishes regarding that). But to do something like that on actual binaries ..... sounds indeed something hard to do, and being able to do ASM from JavaScript/Lua/Python/ChooseYourPoison would kinda defeat the purpose of a scripting language in the first place.

If I were to create a modding API for JavaScript (which is my poison) you'd have to have a lot of hooks into a lot of the inner workings of TLD, and this would still come out rather limiting to modders. So for example adding new food should be rather straight forward. Implementing binoculars as they were .... hu, that would require hooks to the camera. And so forth ..... Of course you always lose a lot of capabilites working on an intermediary API rather than modding the source.

Thinking about it I almost wanna get into this :D But nah, HL doesn't want mods, so no modding for me. What you people could do .... is play pre 1.60 via TimeCapsule. But I guess that's obvious.

Share this post


Link to post
Share on other sites
4 minutes ago, jeffpeng said:

I never got it finished, and hence never released it, but I had something rather similar for Minecraft 1.7, which basically could do bytecode manipulation from JavaScript - among other things. Maybe not horrendous, but "tedious" is probably an apt description. Basically the sheer size of the undertaking killed it. 

Funnily enough, we actually used to do that in some places with Harmony when the usual Prefix / Postfix methods wouldn't cut it: we take the method's IL (think bytecode, but C#) and modify it, and Harmony would install the new method after doing some checks that we wouldn't crash the VM 😄

Messing around with Java bytecode is extremely interesting, too. Writing Java Agents to modify a program's instructions using ASM (https://asm.ow2.io/) is such an awesome hack! (using the original meaning of hack)

8 minutes ago, jeffpeng said:

What you people could do .... is play pre 1.60 via TimeCapsule. But I guess that's obvious.

Yup, a lot of people are already doing that, and I've written some instructions on how to download TLD v1.56 to a different location using the Steam command line, as well. That way, people can have both the current and an old version of TLD installed at the same time 😀

  • Upvote 1

Share this post


Link to post
Share on other sites
1 minute ago, StrangerFromTheInternet said:

Messing around with Java bytecode is extremely interesting, too. Writing Java Agents to modify a program's instructions using ASM (https://asm.ow2.io/) is such an awesome hack! (using the original meaning of hack)

Yeah I've done that extensively. :D *sigh Minecraft modding ..... good days.

  • Like 1

Share this post


Link to post
Share on other sites
On 1/8/2020 at 10:55 AM, JackTrysGames said:

A recent update removed the ability to mod the game, crippling a major part of the game's community. I speak not only for me here, but several hundreds of people. Bring back the ability to mod the game, please.

The Long Dark has never had support for mods. It is something that is on our road map for the game's future, but not something we have the capacity to support at this time. Due to this updates may at times break unofficial mods since as we are improving the game for our players it may chance things that these unofficial mods rely on to operate.

While we are allowing theoretical talk about whether or not people would like modding to come to the game, we are not allowing discussion or promotion of any mod in particular. This is because unofficial mods can cause issue with how the game operates and we are not able to offer technical support to anyone who has modded their game. 

So please if this discussion continues refrain from offering instructions on how to apply existing mods, where to find them or what exists.

Thank you.

  • Upvote 2
  • Like 1

Share this post


Link to post
Share on other sites

I only recently looked at mods.  When I realised that using mods it was possible to not die, to have unlimited carrying capability, to give yourself any equipment that you wanted, restore to 100% condition all of your resources it sounded fun.  It might have sounded fun initially, but It spoiled the game for me.


One of things I have enjoyed about TLD apart from the challenge of surviving in the frozen wastes, is this forum.  I find it interesting to see what achievements and difficulties others have, and learning from their experiences.  In spite of TLD being a single-player game it felt like it was a group activity against the challenges of Bear Island.  I felt that I knew and respected some of the regular contributors.   When I realised that some players were using these mods and not mentioning it, I felt that much of what I read of the experiences of others was misleading and the the respect I had for others became questionable.


That, and the problems with timberwolves, decided me to have a break with TLD for a while.   I still think it is the best game I have ever played and I'm sure that I'll return to it, but it is good to escape from Bear Island and try another game.

 

Share this post


Link to post
Share on other sites
4 hours ago, Admin said:

This is because unofficial mods can cause issue with how the game operates and we are not able to offer technical support to anyone who has modded their game. 

I guess this is maybe the best point why mods on the "metal" indeed are a problem. If you allow modding via a dedicated API you can limit the amount of things that can go wrong, especially if the mods run in some sort of sandbox like they would with - for example - Lua (I hate Lua ...). If you introduce foreign code to a codebase that is not fully understood things might break at joints nobody has looked at before. I know it's a farcry from how modding games work, but I deal a lot with Wordpress installations at work where a plugin I wrote (I hate Wordpress, too, btw) works perfectly fine in 90% of cases, but some other plugin somehow breaks my code because it rewrites some core class because why not? 

Just think about if Hinterland officially supported mods the way they were done prior to 1.60. Let's say there is a very popular mod a large percentage of players is used to work with. At that point Hinterland would have to keep the codebase compatible to third-party code. Expand that to maybe 20 popular mods, and the devs are mostly looking for ways to keep mods alive and have new functionality not break existing mods.

Again, if you actually want to do this, and make it also doable for people with limited programming experience, you need a sandboxed API to work on the actual game engine as both a safeguard for the codebase and a compatibility layer to keep mods alive after changing the game itself. And that really is nothing to be sneezed at.

Edited by jeffpeng

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now