I’ve had that same error in the past few days, but I just logged off and logged back in, and it worked.
Try it again. I just tested and got the same problem. Checked the way the edit function is set up in the controller and it was checking Patreon requirements (which it should NOT be doing). I removed that, replaced it with a simple user auth and it is faster now.
If it works for you now, let me know. I’ll leave it for a couple of days, then push the change up to the main branch.
It works now, thank you! ![]()
Hello, I can’t seem to change the cover art for my game. It shows the preview of it but when I click save seems not to work.
I am once again returning to beg for the ability to sort our favorites list by last updated. Please please please. I don’t have time to keep up with WIP updates and blogs anymore and that would be an amazing quality of life feature.
Done. There’s now a toggle where you can choose between alphabetical sorting and sorting by last updated date.
Are you still having this issue? It can usually be fixed by deleting cookies or logging in with a private browser session. Sometimes, it gets stuck for the author, but is actually updated for everyone else.
Ooh, you are very correct. On a private brower it is correct. Thanks.
Damn that was fast. Thank you SO much, I am ecstatic!
Edit: Ignore this. Namecheap just suspended moody.diy, for some reason. Trying to find out what’s going on.
Just FYI… (putting this in both threads, because different people seem to go to different ones, lol)
I’ve updated the code on Moody. Nothing that should affect much (mostly updates to newer versions), but it should be running a bit faster now. If people could go over there and check it out, I’d appreciate it.
Full dark mode is in the works (as in you can choose dark mode for the entire site), as are the fixes for Firefox on iPhone.
Just noticed there’s apparently no evident limit to cover art image size on the “browse games” page. It can happily throw at you 10s of megabytes of uncompressed PNGs just to display small-ish banners (esp on a phone), which just wastes bandwidth/battery. Worst case it starts tanking performance with laggy scrolling. Could you please cap them both in size and dimensions?
Yep, I can add it to the list of things to do.
Another thing… a lot of you may be interested in this.
*******************************************************
I haven’t pulled this code to moody yet, but wanted to give a head’s up.
I’m going to need some help testing on moody over the next week. I haven’t pulled the change yet, but one of the people I’m working with on the code has a PR up to fix the way saves are handled when the author changes startup.txt. This will handle new variables without being forced to restart the game. Rather than explain it all, I’m going to copy/pasta from the PR.
The problem it solves
When an author updates their game and adds new variables (stats, flags, text fields, etc.), older saves and ongoing play sessions may not have those variables. Without handling this, the game can crash or behave incorrectly.
This feature detects those gaps and lets the player fill them in — without losing progress.
When does the modal appear?
The same “Game updated” dialog appears in two situations:
- Loading an older save — The player opens a saved game that was created before the author added new variables.
- Playing live — The player is already in a game, the author publishes an update, and the player clicks Next to continue. They are not asked to refresh the page (which would restart the game and lose unsaved progress).
What types of variables are handled
| Type | What the player sees |
|---|---|
Numbers (e.g. wisdom: 25) |
Number input, prefilled with the default |
True/false (e.g. is_hero) |
Dropdown: true / false |
Text (e.g. hometown: "Riverside") |
Text input, prefilled |
Array items (e.g. allies_1, allies_2, allies_3) |
Text inputs — player can rename each slot |
Array length (e.g. allies_count) |
Not shown — set automatically to the author’s value |
Array length is author-controlled. The game only supports the slots the author defined (e.g. 3 allies), so the player cannot change how many slots exist — only what each slot contains.
What you’ll see:
*************************************
I know this is something people have wanted for a while, and so have I, but before I put this on cogdemos, I really need people to help test. That includes uploading games and playing/saving, then changing startup.txt (adding variables, not adding them, etc.), so it will require some coordination.
Who’s interested in helping test this? Thanks in advance!
This is interesting, and seems like a lot of work for you Chani. But how would the reader knows to enter “Riverside” for example? Will the code detect what was set and show as possible value?
I’m guilty of adding variable on a whim, and they are mostly get set through choices so they can unlock scenes later. If the reader enters the wrong value, they would still miss out on the scene, no?
Just wondering. ![]()
If the player isn’t certain, they can go with the default value you set up in startup. There’s no way we can list accepted values for an array, so the best option is to accept the default and move forward. If the player so chooses, they can try entering values they think may be there, but they may break the game and they will have to start over, anyway.
Numbers and true/false are the easiest to handle. The others… not so much.
Edit:
That said, if authors wanted to put a comment in right under the variable entering the accepted values, we could probably alter the code to list those in a dropdown.
Okay, so basically this will give them the possibility to just enter value and keep the game moving, but for the best experience, they will still have to restart.
That makes sense. Thanks.
Yep. I think it’ll be more helpful for really long games, like Infamous, so they can use their save and just keep going, instead of starting all over again.
That would be the issue with me, because sometimes, there is no right value, lol. I give 3 choices and each one will unlock a different scene, so if the player doesn’t know the exact value, they will miss out on those scene, so a proper restart is neded.
Like the initial variable is set as *create var1 “no”
What do you want to do today?
*fake_choice
#Cook pasta.
*set var1 “pasta”
#Cook rice.
*set var1 “rice”
#Order take out.
*set var1 “takeout”
So if the readers go with the initial set up that is still “no” they either never get any of scenes that this variable is setting up. That’s what I meant.
That’s correct. They may miss out on a lot that way, but the main objective is to allow them to keep going so they don’t need to start from the beginning again. That has been a point of contention for a long time, I think. So I figured it’s better to have an imperfect fix than none at all.
Technically, we could probably scan the other scenes files to find where the variable is set, then grab the values, but I think that would slow things down too much, and may actually crash the game.
It would and that would also not really tell them what each value meant. Lol.
Below is a clear example of me knowing what agr stands for but without context, the player wouldn’t know. ![]()
In published games, I curse authors for this.
The first thing I do when I purchase a cs game is grab the code and scan it to see how the author views personality (and if it actually takes effect), how to build the skills/what skills to use, and pretty much the meaning of any random variable. Seeing “create agr ‘’” will make me scream into a pillow and then I “play” through reading the code instead of clickity click. With no back button in the published games, playing live can fuck right off!
Haha. I’m so guilty of creating weird random variables lol. You would hate me. ![]()


