Release 0.47 2021-12-23 and 0.48 (Early Access)

The magic shop now stocks a potion that can help you lose
weight, and the male-to-female potion has been reworked to
perform more of the necessary changes.

More specialised classes for clothing have been added covering
hats, dresses, gloves, and glasses.

A pair of significant errors have been found in the body shape
code, which have now been fixed. The weight of characters arms
wasn’t being accounted for correctly, and body fat percentage
was not computed correctly.

If you encounter errors when playing please do report them to me!

New stuff:

  • Added fat burning potion
  • Refined male to female potion
  • New custom character
  • Added dress class
  • Added hat class
  • Added gloves class
  • Added glasses class

User interface stuff:

  • No changes this release

Other bits:

  • Fixed save error after consuming male to female potion
  • Fixed handling of arm weight
  • Fixed calculation of body fat percentage
  • Fixed descriptions for gloves
  • Improved unit testing framework

Metrics:

  • 115 different locations (and another 126 in the advent dream)
  • 29 NPC characters
  • 6 quests (2 unfinished)
  • 1613 Java classes (282k+ lines, 6.5Mbytes of source code)
  • 67 Story files (17k+ lines, 432kbytes)
  • 898 Unit tests

Known bugs:

  • Bandits becoming unreasonably horny while you are caged by Nug.
  • Kobold guards have been caught eating their own “weapons” - it’s emergent behaviour (sort of)
  • Starting character sizes may be a little off after changes and need some further tuning

As usual, download from the usual place, and start a new game. Previous saves will not have the new content, and will likely fail to load.

If you would like to support the development you can do so on Patreon where there are a number of different rewards, including walk-throughs, early access, developer documentation, and more… .

Release v0.48 (Patreon Early Access) includes:

  • Revised weapon system
  • Dual wielding via debug/cheat
  • Encumbrance system
  • Malena Vazin’s custom weapons
  • Improved fitting for dresses, shoes, and boots
  • Various fixes around corpse behaviour
  • Fix for error when unwielding weapons

Alternatively, if Patreon isn’t your thing I have a tip jar on ko-fi

9 Likes

There’s a magic shop now?

1 Like

The magic shop was added in v0.46, so the previous version. This one added a new potion for sale.

Would it be possible to not check for Java 8? Or to add an ‘accept and ignore’ to the check? I’ve got Java 17 with the JavaFX library included.

EDIT: Not Java 1.7 but Java 17. Java 8 is past end-of-life this year.

javaw_2022-01-16_10-53-56

EDIT 2: Looks like it’s explicitly checking for 1.8 instead of > 1.8. :slight_smile:

if (!jvmVersion.startsWith("1.8")) {

I can see this method being a little messy to refactor because of the other preflight checks, but maybe just a check for < 1.8?

EDIT 3: Found another check for just ‘8’ and the JFX library. :laughing: I wish newer JREs/JDKs had a way to override the returned jdk value.

1 Like

It would be possible, but it wouldn’t work at all, so I don’t even offer the option. Trust me, I’ve tried it. The tests that are there are the minimum set that allow the game to run.

  • Java 7 won’t work because I use features of Java 8 (and no-one should be using 7 now!).
  • Java 9 and above won’t work because of the modularisation of the JRE, though that could be fixed
  • Java 11 and above won’t work because JavaFX becomes a separate download, and I don’t want to document for casual players how to install that (it’s complicated and platform specific) or pay the fees required to have WebStart work now (and its since been deprecated too)
  • The internals of JavaFx have also moved a lot (they needed to as writing custom components in 2.2 required accessing com.sun packages in hacky ways) - this breaks the custom components Yaffaif has.

In short Oracle basically took a dump from a great height over Sun’s always binary compatible policy.

And the vast majority of casual users still have Java 8 because that’s the one offered on java.com.

One of the truely random things about JavaFx is you can’t determine the version you are going to be running until after it has started - by which time it’s too late!

The good news is you don’t have to uninstall your Java 17, just install Java 8 alongside it. Of course Oracle also managed to break the magic that allowed one Java runtime to look at the bytecode version and start the correct Java runtime - hence the need to use those scripts.

Ah, bummer. Oh well. Thanks for the quick reply. That sounds like a mess.

In short Oracle basically took a dump from a great height over Sun’s always binary compatible policy.

I am still fairly bitter about Oracle buying Sun, this is among my gripes, but not chief.

  • The internals of JavaFx have also moved a lot (they needed to as writing custom components in 2.2 required accessing com.sun packages in hacky ways) - this breaks the custom components Yaffaif has.

That sounds painful. Does that mean you can’t build something bytecode compatible even after setting ‘target bytecode level’ and using a backport for the FX bits in Maven? What are you going to do when JDK8 goes EOL?

1 Like

I noticed there is a option in the character creator for custom weight and height but im not sure how to change those values, if you can at all.

1 Like

The open source versions of Java FX were more up to date from the outset, so no.

I’m waiting to see what happens when Java 8 goes EOL. Obviously EOL will mean no more updates or support, but doesn’t mean it will no longer work… I’m curious though as to what they will replace it with, and also what (new) licence terms that will have. That last will probably have some impact on what option I go with. As a hobby developer the tools have to be free to me, and need to be easy and free to install for people who want to play.

  • The least code change will come from migrating to Java/JavaFx 17, however I’d likely have to find some way of bundling the JavaFx packages into the download, either as one big cross-platform build or generating several different versions of the game, one for each platform - which really makes working with Java pretty pointless TBH.

  • Re-write the UI to use Swing components. It won’t be as pretty, but it will remain cross-platform. Only useful if Java remains easy for end users to install.

  • Move the whole thing to another platform such as Unity or Android

Anyway there’s some time to go yet, the latest things I can find are:

Support for JavaFX on Java SE 8 will continue until March 2025.

Oracle will continue to provide free public updates and auto updates of Java SE 8 indefinitely for Personal, Development and other Users via [java.com](https://java.com/en/download/). Oracle will provide at least 18 months notice on this page and other communication channels if an end of availability date is set.

No, those values only occur due to the way the various tabs interoperate. Sex, species, and height all affect weight so switching around can lead to values that can’t be obtained otherwise from the drop downs. You can also get them from custom characters because, well, they are custom.

I hate to ask a probably simple question but where would you make a custom character?

1 Like

Those are available as reward tiers on the Patreon (see link in OP) as they are hand-coded.

1 Like

So the Orion quest is bugged, I’m talking to the Queen and Orions partner right now yet the quest still hasn’t updated to reflect that. I’m effectively just stuck now as I can’t progress to any of the rest of the game.

1 Like

I have the exact same problem.

Did you see an error message about being unable to convert a boolean? If so that’s a known bug that occurs rarely and seems to be due to the order class methods are loaded sometimes. It’s fixed in v0.49 (or I hope it is, I can’t actually reproduce it), but that’s still in patreon early access. I don’t have an easy way to fix it through the console as it uses the same mechanism.

If it’s some other problem then I need more details about what you saw, or upload the save game somewhere and send me a link.

Again, did you see and error message? I can’t tell what @The-Incognito’s problem actually was, and I know even less about yours!

1 Like

Yaf

This is what pops up yes.

1 Like

image
Yeah, it pops up regardless of who I talk to first.

1 Like

So, I’m not sure if it’s a problem with Java or something, but trying to save-scum the transformation effects from the cauldron can, over time, cause the save file to get corrupted in such a way that you can’t save or load from it anymore.

1 Like

Yes, that’s a known bug that I think I’ve fixed in v0.49 (I’ve never been able to reproduce it even with another user’s save from just before it happened. Same for you @sasuga20000.

I’ve not got a good workaround for it either. In debug mode you can get it to limp along with:

/=[quest.orion.report].start()

1 Like

Did you get any error messages? I’ve never had a problem with save-scumming. There is a potential issue where it may run out of memory if you leave the debug pane open - were you using that?

I’ll try again at some point, but I didn’t have the pane open when I was doing it so I’ll have to have it open when doing so, but it does report back the first time I attempt to save as “File NOT saved” when it corrupts.

1 Like