×
Create a new article
Write your page title here:
We currently have 13 articles on Fleshcult Wiki. Type your article name above or create one of the articles listed here!



    Fleshcult Wiki

    First things first

    How Fleshcult Works

    Fleshcult originated as a web-based game, so it used to run on a server. The split between "server" and client still exists, even though they're both on the same machine, communicating via IPC rather than over a network. There is no web server, it's just two programs talking to each other.

    What happens when you click on a link:

    1. Chromium Embedded Framework (aka CEF) is the browser engine I'm using. It receives your click.
    2. It sends a fake address to the server half. e.g. http://localdynamic/fire_minion
    3. The game logic is written in Python, and that Python program looks up the function associated with the address and runs it.
    4. The Python program needs to send back some results, so it picks an HTML template to fill in with variables. These are in a template language called Jinja2.
    5. CEF receives the new page and shows it to you.

    What kind of mods can you make?

    Background sets

    You can put new backgrounds into the game by putting them in a mod folder and writing a CSS file that points the game to them.

    More about CSS modding


    Visual/UI

    You can rearrange and format the UI with CSS, but if you want to add brand new parts, you'll need to edit the HTML. Jinja has a some extra funky stuff with curly braces you'll need to learn about so you can substitute game variables into the page, loop over lists, etc.

    There's also everything else Chromium supports, like Javascript and even WebGL. The one thing you can't do is load stuff from the real internet, because I hijacked the bit that does that. You wouldn't want to anyway, because this is an old version of Chromium without an auto-updater, so it's not safe to use on the real internet.

    More about HTML modding


    New Audio

    You can override the sound effects and music by dropping appropriately named sound files into an 'audio' subfolder inside your mod. The grunts and groans for a gender or sex are called a Voice Pack. You can make new ones or replace the old ones.

    Modding Voice Packs


    New Characters/Dialogue

    Ideally more of Fleshcult's content would be in data files, but at the time of writing a lot of it is defined in code. Here's what's available so far:

    Things that don't exist yet:

    • Archetype Editor (for characters)
    • Equipment Editor (for transformations)
    • Tome Editor
    • Location Editor


    New Game Mechanics

    When your mod is loaded, the game looks for Python code inside it to run. As a stopgap you can use this to make new content that doesn't have an editor for it, or to change the game mechanics entirely.

    More about Python modding

    Creating a new mod

    Click on Open Mods Folder in the Mods menu. This folder is where you can work on your mod while it's in development or install other mods manually. Steam Workshop operates out of its own folder.

    1. Copy paste the example mod folder.
    2. Rename it. The naming convention is 'username_modname', where username is just something to distinguish between different mods with the same name. It's not related to your steam username or anything.
    3. Rename the .css file to be the same name as your mod folder.
    4. Find out more about the different files inside the mod folder.
    5. Once you're ready to show it to the world, you can go into the Mods menu and upload it to Steam Workshop from there.
    Making Mods
    How To

    Getting StartedDeveloper ModePython Tutorials

    Parts of a mod

    File HierarchyDialogue Editor

    Tech

    JinjaCSSPython

    Distribution

    Steam WorkshopWorkshop Content Policy

    Cookies help us deliver our services. By using our services, you agree to our use of cookies.

    Recent changes

  • Jackoekaki • 6 days ago
  • Jackoekaki • 1 month ago
  • Jackoekaki • 3 months ago
  • Jackoekaki • 4 months ago
  • Cookies help us deliver our services. By using our services, you agree to our use of cookies.