Modding Preview 2

On the Steam beta branch you can now download v1.08, which lets you upload and download mods from Steam Workshop. This is an opportunity for modders to test workshop integration before it goes live for players in general.

Known Issues:

  • If you’ve been using Modding Preview 1, you’ll initially see an error about not being able to read user settings, but it should behave correctly after that.
  • Secondly, if you’ve written metadata for your mod into an ini file, it will now need to be named ‘metadata.ini’.
  • The upload form can’t cope with unicode characters yet.

Please let me know if your mods behave any differently after a trip through workshop and I’ll look into it. And if you’d like to get into making mods, you can learn more on the wiki.

Steam Workshop Content Policy

I’ve added a page to the wiki on what you’re allowed to post to Steam Workshop as part of your mod. If you’re working on one, you should totally read it.

Ideally I would’ve had this up much sooner, so that nobody wastes time making a mod I’m just gonna ban. I’m sorry that it took this long. To be honest, I’ve been kind of dreading writing it, because it’s a bummer to go laying down the law before anything has even gone wrong. But it’s important to get things started off on the right foot so we’re in the clear with Valve.

In other news, programming work is continuing to go well. Got some bugs to fix so it works well in the absence of Steam, and with international characters in mod metadata. Then it’s on to a big retest of the entire game, given that this will be the first Python 3 release and it’s hard to know what that might have broken.

Steam Workshop and back again

Today I uploaded a mod into the workshop from within Fleshcult, and then downloaded it successfully. It took me a while getting here. I didn’t realise the amount of work, and didn’t realise how much fatigue I was carrying into 2021.

Anyway, this is a significant milestone for me, but there are still a lot of details to address. I’d say I’ve got about two weeks left of assorted bugs to fix, then I’ll finally have a release.

Connecting to Steam Workshop

Here’s a progress update on Steam Workshop support. I’ve got Fleshcult connecting to the Steam API and fetching the mods you’ve subscribed to in the workshop. It took some fixes in the Python wrapper I’m using. As far as I can tell, looks like there’s one other person who’s using Steam Workshop from Python, so I’m further off the beaten track than I’d hoped. I’ll be sending the fixes upstream soon.

There’s still a fair bit to do before it’s usable. Uploading mods is much more complex than downloading them. It’s the game’s job to upload the files and attach metadata to them – descriptions and tags and so forth. Once I’ve got the uploader working, I’ll be able to test the whole process from end to end, and from there it’s not too far to releasing it.

World Building

I’ve been finding it hard to focus on programming tasks lately, so I’ve been spending this week working on world building. I haven’t tended to write much background material, but I’ve been hankering to do more, because a post-Baron plot arc has gotta be more than just another antagonist like the last.

My process so far is similar to the one behind Vampire: The Masquerade:

  1. What are the major political divides generated by the premise?
  2. Come up with factions for each position. Give them names, epithets, symbols, founders, derogatory terms…
  3. Who’s allied with who? What are the conflicts? Who won, and how long ago?
  4. What sorts of juicy scandals might’ve been covered up? Who’s keeping secrets?
  5. What’s the sequence of foreshadowings and reveals that leads the player to the bottom of each mystery?
  6. Who do they need to know and where do they need to be, to discover all these things?
  7. What are the tasks and random events that lead them there?

Anyway, I doubt I’ll follow all these steps exhaustively. If I can see a shortcut to writing game content, I’ll definitely take it.

Next step towards Steam Workshop support

EDIT: Done, moving on to hooking up the Steam Workshop API

There’s something I’ve been putting off, and I need to get it done before modders go writing any Python mods. Fleshcult is currently written in Python 2, which is no longer supported. There’s a code library I’d like to use to talk to Steam that requires Python 3, so upgrading is suddenly a priority. In any case, it’s better done sooner rather than later because I don’t want to break code mods.

Translating code from 2 to 3 is mostly automated, but it’ll require some manual intervention here and there. It’s hard to say how long it’ll take, but hopefully it’ll be a non event. As a spin off, it might be better behaved with unicode install paths – Python 2 is notoriously error prone for that.

Modding Preview Now Available

In the Steam beta branch and on Itch, you can now download a special v1.07 release of Fleshcult that has the first phase of mod support.

Steam Workshop isn’t supported just yet, so it’s not very interesting if you just want to play mods, but if you’re interested in creating them there’s new stuff to tinker with. So far it supports HTML/CSS mods for changing the way the game is presented. The ability to change the gameplay is something I’ll be working on next year.

To learn more about creating mods, you can consult the new Fleshcult Wiki which has a modicum of technical documentation. Feel free to add stuff I’ve glossed over. You’re also welcome to add info about playing the base game if you like. Happy holidays!

Modding Progress Update

I’ve been making a lot of progress building the mod system and adding HTML/CSS modding specifically. I expect I’ll have something for modders to experiment with before Christmas, but hooking it up to Steam Workshop will have to wait until the new year. Changing the underlying behaviour of the game will arrive later.

I’m mindful that after I expose something to modders, doing a big refactor on it will break everybody’s stuff. So whenever I delve into the details, there’s a pressure to get things right the first time. That said, I suspect the smarter approach is probably getting something rough out quickly and then reacting to what people actually need.

One thing I’m over-engineering the fuck out of is giving modders lots of ways to add their stuff without overwriting stuff from other mods. Maybe if I pull that off Fleshcult modding won’t be a shitshow of bugs and load order tweaking? Time will tell.

Release v1.06

Bug fixes:

  • Fixed saves failing when Windows username contains underscores. For real this time!
  • Fixed errors not getting logged if program only runs briefly.
  • Errors are now also displayed in a popup box.
  • Removed executable compression and added exe metadata, to reduce AV false positives.