Jim's FM 0.99 branch (03/18/20): new engine features, bloated code, and no practical examples

I’m guessing you don’t mean subdirectories for .item files, since that already works fine (as long as you remember to use the full path whenever a script adds/checks/removes/etc.).

If you mean folder support for character inventories, etc., then it’s a bit more complicated. It’d probably be trivial to add a ‘type’ field for an item - food, medicine, key, misc, whatever - and update the item constructor. The problem is that my knowledge of actual UI coding is essentially zero; the item editor would have to be updated to allow for specifying a type, and then you’d want some sort of collapsible set of folders populated automatically by ‘type’ descriptor, which I also would have to fumble through.

It’s not impossible, and possibly not even difficult, but it’s not something I feel like tackling any time in the next few weeks.

I meant the first option.

And your were right, it is already there. I remember trying it a couple years ago and having the engine spit errors at me. I must have just messed it up. Thanks though!

Small issue with my dev mode- I can’t seem to edit Organs from the edit character window. The Edit Organ button does not resolve. I’ve had to edit the organs seperately, then Delete/Add.

This is, as far as I’m aware, normal behavior for 0.99 from upstream - because the standard organs are hardcoded now, any attempts to edit them fail - they’re compiled with the game executable instead of being interpreted on-the-fly. The organs you’re loading in are the external .organ files, which are slower and may have compatibility issues with existing characters and scripts due to processing differently.

At the moment, editing standard organs generally requires either renaming the organ and telling a character template to load that organ in place of the standard one, or editing the source organ file (in src/fetishmaster/bio/organs/<OrganName>.java, if you’ve downloaded the source code) and recompiling the game.

At some point in the past I had it reversed so that it would look for the scripted .organ file first and fall back to the hardcoded ones only if an external file couldn’t be found, but I reverted it pretty quickly. Not only is it slower, but inevitably someone’s going to drop in organs from an older mod that might have performance issues or work in a manner that’s inconsistent with the newer game direction. Instead I’ve just been focusing on minimizing the need for external organ files - trying to keep compatibility with as many mods as possible while still adding features or trying to balance the code.

Well, that’s unfortunate. Especially since my ability to implement outside edited organs is limited to half-session unstable stuff. I’ll sit down and figure it out more properly some time, but I might just keep messing around on .985 casually.

Update 12/27

  • Small tweaks to how body fat percentage calculations are done
    – Because of how butt and breast fat calcs are done via Maternal-Reads’ code, original fat weight is higher than the adjusted ass/breast weight at larger sizes.
  • Added support for butt fat, lip size, skin tone (all from Maternal-reads’ mod) in templates
    – The former had already been integrated into the engine but not the content; the latter two were just now integrated. Allows existing characters to be used after installing Maternal-Reads’ mod without any appearance issues.
  • Fixed bad logic causing large breast sizes at low weights
    – This was actually fixed a couple days after the last precompiled build but I was too lazy to update again.

Precompiled build link in the first post has also been updated.

1 Like

It’s been a while, but I’ve finally gotten to the point where a new build seems warranted.

If you look through the commit history, you’ll see most of what’s been pushed over the last year and change mostly boils down to bug fixes or minor tweaks. I did manage to (hopefully) weed out an issue that prevented the game from starting or saving properly on OpenJDK versions of Java, which probably didn’t affect anyone but Linux users and people using Ninite to install Java on Windows.

In terms of actual features, there’s now a whole-ass calendar system in the game, complete with years and seasons. Like pretty much everything else I’ve added, it’s mostly just an extension of the engine at the moment - other than showing up above the usual day and time text, there’s no use of it in-game yet. Check out the bullet point in the first post for more info.

In the near future I’d like to have a mod out that actually makes use of most or all of the new engine code; I’ve been working on and off for a couple of years now on rewriting and expanding Nostordamus’ old mod, which will hopefully play a bit more nicely with some other mods out there. With the current situation being what it is, I’ve got a good amount of time to work on finishing up something releasable - more time than I’d like, frankly.

So, before I commit to releasing anything, I’d really like some feedback on how stable the general game is at the moment - even if there’s not much in terms of new features here, I’ve done a lot of under-the-hood work on how bodies work, with or without other mods interfering, and some of the new features that aren’t all that well-used haven’t been heavily tested. So if you want to set up a fresh install and maybe add some mods, play around for a bit and let me know what seems wrong, I’d appreciate it, although it’d help if you could let me know what mods you’re using on top of it.

So, without any further ado, you can get the current build here, and the image pack for 0.99 from here; if anything asks, the password is fmaster. You’ll need a fresh save file (the calendar system probably won’t initialize properly on existing files), and if you’re installing other mods, make sure you don’t overwrite anything in the dist folder (although this would probably only be an issue with Maternal-Reads’ mod).

I’m gonna get some sleep pretty quick here; hopefully I don’t wake up to a bunch of reports that the game crashed immediately, wiped your hard drive, exploded your computer, massacred an entire village, etc.

4 Likes

I tried the update with no mods and didn’t run into any real problems. The only issue I had was that with the changes to body fat calculations, it can be difficult to maintain any given weight, especially if the proxy is lactating. That seems to be less of an issue of your branch than just the base game but it would be nice if there was a way to order a proxy to try to maintain a calorie neutral diet.

The parallel organs seem to work fine, I didn’t run into any real issues with the second pair of breasts and the limited stock of the strange milk in the store seemed to work properly. The date system seemed to work fine.

I am really looking forward to mods that implement some of the changes you have made to the engine and I might take a crack and making something as well.

Which mods do you recommend using?Also, I’m not sure where to get them, to be honest. If you can link them I wouldn’t mind making some sort of master list of mods with instructions on how to install them so people aren’t asking questions like this

The majority of the game’s mods are probably already hosted on the Weight Gaming forums, or have become obsolete - either merged into the main game or lost to various forum purges around the web.

Installing mods is pretty simple, and there’s an older tutorial that covers it well enough, although the formatting’s a bit broken and the mod links are out of date. Generally, all you need to do is merge the contents of the mod archives with your own gamedata folder, although if a mod has a readme it’s probably best to look at that first.

As for mods hosted outside the site, there’s only two I can think of off the top of my head that are worth noting. One is the old Nostordamus mod, still hosted on the Fetish Master dev blog’s mod page. It contains a ton of new content, but because of custom coding on the abdomen organ, most of the content won’t work alongside Juxtaterrestrial’s Belly Mod - or, subsequently, this branch of the game, which adopts a good portion of its abdomen code. The other is Maternal-Reads’ mod, which is another mod with a bunch of new stuff. Unfortunately, it’s also a complete overhaul of the game and repackages everything - the dist folder needs to be deleted before installing it, and it’ll likely cause some minor reversions to game content (locking out choices for what little 0.99-exclusive content there is, and probably some non-fatal issues with things like body fat descriptions).

As for what I’d recommend? There’s a lot out there. I’ve written a couple of them that should be working properly with 0.99, but they’re pretty minor in scope. Jux’s Belly Mod is one of the bigger ones out there, and I’ve been trying to take care not to break compatibility with it. Asimov’s mod has some neat ideas, but not a lot of it is actually complete. ProxyGen is useful for crafting a starting character, although it seems like I might’ve broken something last time I tried it. There are also a couple different mods here that modify or extend Vicky’s cafe questline, but I haven’t had the chance to play with them too much.

I’m not sure what is happening or why, but this happens in both the old build and in your newest one. I have not installed any mods.

When I create a world save and later load it, the mood stat caps itself at 97 and gradually goes down no matter what I do. I tried using the dev tools to edit the proxy’s genes and manually fix it, but it always resets itself and resumes going down. Then after several in game days, the proxy leaves, acting as if their mood was at 0 when it was above 90.

It’s intended that a proxy with a standard contract slowly loses interest over time, but not to that extent - by default, it should only be a point every 37-38 days, and the contract shouldn’t be terminated for mood issues if it’s still above zero. In other words, unless you’re regularly doing other things to piss them off, a proxy should stick around for at least a decade, not a handful of days or weeks. The proper mood level and the reduction from contract age are both recalculated hourly, so editing the genes probably won’t help too much.

I can’t seem to reproduce this issue, but if you want to upload a broken save somewhere I can poke through it and see if I can figure anything out.

I’ll see if I can get a save, though you may have just explained part of the issue. All of my proxies have been standard. It just seemed odd they would sit at 100, then upon reloading show as 97, and then back and forth 97 to 100 at random. Then suddenly leaving saying “Working here is too nasty. I’m leaving.”

I promoted the 97 mood proxy to Mistress and now she’s staying at 100 mood, unless I do something she really doesn’t like, and hasn’t left.

Edit 2: I can’t seem to replicate the issue again. It starts with mood recovering to 100, regardless of contract age, then suddenly drops to its intended level after loading the save.

Edit 3: Is it normal that the magic shop no longer sells lactaids?

Yeah, they’ll at least temporarily increase their mood while you’re using them, in most cases, but during ‘idle’ hours they’ll drop down again.

The magic shop only sells lactaids after one of your proxies learns about them - generally, I think, the flag is set through doing Belanika’s quest or talking to her.

Alright, I’ll keep trying on the shop front. I was starting to assume they had been removed since Belanika’s milker event was repeatable and gave a free lactaid each time. I’ve done it maybe 4 times on my primary proxy and at least once on a couple others.

Also trying to continue Dr. Felis’ quest chain is proving interesting. I’ve done the 3 advanced lactaid, met the kau, found experimental pills, but so far she just tells me to come back later.

Btw, sorry for so many posts, I haven’t been able to find much info anywhere. So I can’t tell if something is bugged or just needs more effort.

Unfortunately most of the questlines in the game don’t have any real conclusion; to my knowledge, that’s about as far as you can go with the Felis quest chain. There’s a mod that extends it further, but even that leaves the final event as mostly repeatable, and it’d be near-impossible to actually complete in this version due to how some organs have been changed.

As for Belanika’s quest, giving her power crystals from the magic shop is only a temporary solution. To properly fix her milker, you’ll need to get some old parts for the magic shop owner so that he can come up with a more permanent solution. You can get old parts by searching around the old city, past the bridge near the forest.

Don’t worry about posting too much; it’s always good to see that there’s still some level of interest for the game.

2 Likes

I just redownloaded the game and Java after a reformat, and now I get an “illegal reflective access operation has occurred”

This is the full message.
C:\Users\name\Desktop\fm-dev>java -jar “dist\FetishMaster.jar” gamedata
Java home: C:\Program Files\Java\jdk-15.0.1
Version: 15.0.1
Relative path for game resources: gamedata
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.rits.cloning.Cloner (file:/C:/Users/name/Desktop/fm-dev/dist/lib/cloning-1.9.1.jar) to field java.util.TreeSet.m
WARNING: Please consider reporting this to the maintainers of com.rits.cloning.Cloner
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Absolute path for game resources: C:\Users\name\Desktop\fm-dev\gamedata

Try running with Java 8, the current public download from java.com, rather than 15.

1 Like

Thanks, Java 8 on the Oracle site required a log in, while 15 was publicly available.

I’ll try that version and see what happens.

Edit: Java 8 did the trick, thank you @dingotush.

Yeah, unfortunately the version of the cloning library used does things that Java doesn’t actually like people doing. In current versions of Java the worst you get is that warning at startup, but in the future you might get real errors. Last I looked there wasn’t a fix planned since it’d basically require rewriting the whole damn thing, but I haven’t kept on top of things much.

1 Like