Release 0.49 2022-06-21 and 0.50 (Early Access)

This version includes a creature spawner that attempts to balance encounters
against the player character by very approximately simulating how the
conflict could play out. Please let me know if how you get on with this
in case in needs further tuning. It should be survivable most of the time.

There’s a notice board in Twizelford’s town square with a new quest on it
that uses the new system. The town hall is also open to a limited extent
and there’s a clerk for you to interact with should you take this repeatable
quest.

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

New stuff:

  • Added sewer rats quest
  • Added Twizelford sewers
  • Added Twizelford town square notice board
  • Added Victor Hebblethwaite
  • Added first part of Twizelford town hall

User interface stuff:

  • No changes

Other bits:

  • Added clerk trade job
  • Added cooldownId to answers
  • Fix arawan.met error with new setPropType methods in GameBase
  • Fix syntax error in chair break message
  • Fix unbreakable arm chairs
  • Add start statements to quest part
  • Added repeat mode to balanced spawner
  • Added balanced spawner and control
  • Fix bug in tactics and strategy cloning
  • Added getDprThouVs to actor, animal, person, spawnctrl

Metrics:

  • 126 different locations (and another 126 in the advent dream)
  • 30 NPC characters
  • 7 quests (2 unfinished)
  • 1638 Java classes (290k+ lines, 6.6Mbytes of source code)
  • 71 Story files (17k+ lines, 451kbytes)
  • 931 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 0.50 (Patreon Early Access) includes:

  • New quest pane
  • New combat pane
  • Added combatant hit point stat bar
  • Added combatant filters and sort options
  • Added hints for all quests
  • Fixed type conversion errors in existing quests
  • Fixed kobolds remaining hostile after joining them

It would be really appreciated as I have very limited income at the moment.
Alternatively, if Patreon isn’t your thing I have a tip jar on ko-fi

9 Likes

It seems like it could have made major progress since last year.

The things in 0.49 were in January’s Patreon early access, before I had health issues, so have been in the pipeline for a public release for a while. I’ve been having difficulty concentrating on stuff while I got used to some new medication - it’s taken 5 months or so to do the work on 0.50 - though some of it was quite fiddly (they touched the custom UI components I’ve built) and I had to abandon a couple of approaches.

2 Likes

I take it there’s still no good way to eat from a bag of pastries using the text parser? because I keep accidently dropping bags I intend to eat from due to misclick.

also, I found that every instance of “Bag of Pastries” spawns a note of Food.addNoun(pastry) every action, which kind of slows things down when you have like 30 or so bags, though this could be a Debug mode only thing.

1 Like

There probably isn’t, but just in case I missed something, is there a “Dark Mode” we can turn on somewhere? My eyes are so used to dark mode on everything that all the white makes my eyes hurt after a while.

I haven’t added one, but I was under the perhaps mistaken impression both JavaFx and Swing picked up their basic configuation from the OS preferences. I’ll have to take a look at that at some point.

2 Likes

I don’t know if it’s ok to ask this here, but is there a way to become kobold without becoming immobile? Sry in advance

This is down to the PCs reducing height (the potions don’t change her weight significantly). As she gets shorter she gets wider to retain the same mass. Vanilla you can do this by starting off short and slim - if you were tall and fat to begin with it’s going to get worse as you shrink.

2 Likes
This is debug-related, so I'm hiding it in case people don't want to see it.

I’ve had the idea of reversing the player’s weight loss to make them gain weight when they should lose it (eg. gain weight from “exercising”), but I haven’t found any obvious ways of making that happen with Debug commands.

Just had an idea - What if when the player is too wide to fit through a door normally (thighs too big, chest within a certain range), if they immediately attempt to go through the door again, they try to fit through sideways? Of course, the player would get stuck this way too, if say, their belly, chest, or butt were too big.

I also noticed that the player’s belly never gets caught on anything, regardless of its size.

3 Likes

How much content is there for male vs female PCs? About the same? 1-10 ratio?

Since the original comment was hidden, I’ll also hide the response below.

Summary

I don’t know how to reverse weight loss into weight gain via commands, but I did notice that you can input a negative potency on the various potions at the magic shop.

I tested out a -100,000 potency on the weight loss potion, to quickly test out a proof of concept. I walked back and forth between the two towns without eating, to see if there would be any weight loss from burning existing fat, and my character’s weight remained largely constant throughout (they gained a slight amount of weight from carrying the statue). When I went on a milk run (with Buttercup set to effectively max milk), my character gained about 100+ lbs each stuffing.

If you play around with the potency set to more appropriate levels, you should be able to avoid losing weight from exercise, thus allowing a character to convert all of the calories they consume into weight gain.

I’ve still got to play around with negative potency on the other potions, but it might make shaping a character an easier process. For example, a negative potency on a belly growth potion would, presumably, convert fewer consumed calories into belly fat; combined with a regular hourglass potion, you could speed up the process of giving a character an hourglass shape.

This last bit is unrelated to the original comment, but I’d love to see an “Offer” function added to the game. It’s possible to get some of the NPCs to consume potions, as is, but it’s a hassle and quite limited. The ability to “Offer” an item to NPCs, whether it be food, beer, or a potion, would be a huge gamechanger in messing with NPCs!

You could even fiddle with the chance that an NPC accepts an offered item by adjusting the percent based on friendship, arousal, and intoxication levels.

1 Like

Dang, never thought someone would respond. Thanks for the… food for thought.

.

.

.

… Yeah, now I see why no one responded.

Doing a bit of testing myself, negative potency for the shape changing potions causes an error to occur, so that’s a no-go. As is negative revert for the shape changing, as it seems to only really count as 0 for implementation purposes. Haven’t tried negative revert on the Ultra Fwomp, but it could have the same issue.

1 Like

@dingotush Can you please confirm what distro of Linux you tested on? I’ve tried everything I can find to install Oracle Java 8, but only OpenJDK works for me and that does not work with your game. I am hoping it is simply the way my distro handles things since it is not standard (Solus). I was thinking about distro hopping anyway but I don’t want to end up right back where I started.

1 Like

Regarding Linux:

this game depends on Java8, and OpenJDK is probably the best (only?) way to run Java on a lot of Linux distros, that’s what most people use. However, I don’t think JavaFX comes with most packaged versions of OpenJDK8, which this game also requires for the UI.

I’m on Arch Linux and I had installed the jdk8-openjdk package. However, the only way to install JavaFX for Java 8 is through this AUR package: AUR (en) - java8-openjfx

NOTE THAT THE FOLLOWING ONLY APPLIES TO ARCH LINUX, I DON’T KNOW HOW TO FIX IT ON ANY OTHER DISTRO
(abandon all hope ye who enter here)

  1. Create a new directory, let’s call it java8-javafx
  2. cd into that directory, git clone https://aur.archlinux.org/java8-openjfx.git
  3. Try to build and install normally using makepkg -sir

As of writing, this package has a broken build. I was able to fix it using the (currently) top comment written by hawath on 2022-11-25 07:41 (UTC). They tell you to change the python dependency to python2, create a patch file, and update your PKGBUILD so it recognizes the patch file. Under normal circumstances, this should work.

However, for some reason, makepkg was not applying my patch file and I had to edit the sources directly. This is probably not normal for most AUR users, so it’s probably a little superfluous, but I am including it for posterity:

  1. Edit PKGBUILD and change line 40 to be python2 instead of python
  2. Edit src/rt-8u202-ga/modules/web/src/main/native/Source/WTF/wtf/text/IntegerToStringConversion.h and add an #include <iterator> line above the other #include on line 24.
  3. Edit src/rt-8u202-ga/modules/web/src/main/native/Source/WTF/wtf/Vector.h and add an #include <iterator> line after the first #include on line 24.
  4. Run makepkg -sire (-s to install dependencies, -i to install, -r to remove dependencies after install, -e to not extract the package again undoing your edits)

This will spin building some C++ for a while. The full build start to finish took me about 10 minutes. This ended up working for me. After you’ve confirmed that the game will in fact start up, you can remove the java8-javafx directory you made. What a pain in the ass.

Godspeed you horny bastards.

3 Likes

I appreciate your walkthrough! That’s very detailed. Unfortunately, I’m not running an Arch derivative, but I am considering it if I can stop being lazy and take a refresher course on the CLI. Godspeed indeed lol.

@dingotush There are probably more Linux users than assumed. Would it be possible to update the code to use a newer version of Java? Later versions of OpenJDK include (Open)JavaFX.

(Easier said than done of course.)

I’m a pretty decent user, but installing a new OS and then messing around with compiling from binary is more than I’m willing to do, as much as I want to play because I’ve heard it’s a great game.

1 Like

All, a bit of an update as things have been very quiet. I’ve been working when my health allows on the new magic system, but have had to do a bit of a pivot as their is ancient, largely unused, code in the game that comes from OSR, and is thus potentially at risk of the current OGL dumpster fire. I’ll be performing an “olgectomy” before the next release.

Please, do not discuss the OGL here.

With that out of the way…

That would be Oracle Enterprise Linux and whatever flavour of Ubuntu was current in 2015/2016 (also tested on Solaris), for … reasons . The same reasons as to why there are unit tests in JavaFx that I wrote to highlight some issues I uncovered. OEL specifically came with Java8/JavaFX as many Oracle products depended on that version even though Java itself had moved on. I no longer have access to those images to confirm exactly what they were.

The game will only work with Java 8, as Java 9 broke backwards compatibility, and 10 removed bundled JavaFX. And it will only likely work with the JavaFX that comes bundled with Java 8. This is because Java8’s JavaFX was fundementally broken in that to create custom controls like the ones used in Yaffaif you had to reach in to com.sun classes. It was/is a mess. From what I’ve seen the newer OpenFX is a lot cleaner (as it should be).

I suppose the “official” answer would be to register with OTN and pull the bundled Java8/JavaFX runtime package for your distro (if I remember they were only for OEL, Ubuntu, and possibly Redhat?).

I’m honestly impressed at this dedication!

In short, no. With everyone windows/mac basically tied to Java8 after the licensing changes and me not having time to support people installing open Java/JavaFX or to maintain two distributions (a classic Java8 one, and an ever-moving Open Java-n one) it won’t happen. I just don’t have the time I’m afraid, much as I might like to.

1 Like