Using pickle for game saving, 7 months on

This post isn’t much use for anyone but programmers: it’s about the save format I’ve chosen, and a big overview of how it’s been working out for me.

As I mentioned in an earlier post, rather than packing my data into a special format for saving, I just feed my game objects directly into python pickle. Most Python folks regard this with horror!

The drawbacks haven’t exactly been the ones that everyone warns about. Most people I’ve talked to consider that doing this makes it infeasible to change the data format while retaining backward compatibility. In fact, it was pretty quick to set up a data migration system that overrides bits of pickle deserialisation and runs special migration scripts based on a version number stored inside the object.

Continue reading

Release v0.66

My first deploy of this one briefly broke backward compatibility, but it should be fixed now. If you saw a message about an incompatible profile, it should load fine now, but let me know if it doesn’t.

New stuff:

  • Rewrote chunks of the system that does mortal actions.
  • Can now share message text between player and NPC actions without it mixing up the characters.
  • Can now make messages conditional on what the other character did in the turn, and also dependent on which body parts were involved in both the player and NPC actions.
  • Used this to do a couple of orgasm descriptions that are specific to penetration.
  • Broke character descriptions into paragraphs.
  • Wrote a couple more body part descriptions.

Fixes:

  • Otaku women now have boobs that match their descriptions
  • Text for mortals asking questions was hardly ever getting shown. This is seems to be a bug that’s been in the code for a really long time.

Known problems:

  • Saved games in the midst of an encounter might see some weird messages referring to body parts that only exist on their partner’s body, but that’ll sort itself out when you enter the next encounter.

Release v0.65

In this release I’ve added:

  • A bunch of new transformations for concubines.
  • Folding sections on Laboratory screen so that it doesn’t get crazy long.
  • More variety in encounter messages.
  • Now all concubine transformations take the same amount of work to do. The work required ramps up as you apply more and more transformations to one concubine. Previously it depended on which transformation it was, with the entry level transformations quicker than the higher tiers. This created an incentive to take all the entry level ones. Now there’s no penalty for picking whatever you fancy.
  • Fixed a bug where when you’re picking a minion to replace, minions with zero upgrades were shown as having one upgrade.

Known bugs:

  • If you’ve got an existing profile and there’s a concubine transformation in progress, the progress bar might show weird values temporarily because the length of time required has changed. Subsequent transformations should be fine.

Release v0.64

This release I’ve introduced the ability for some mortals to arouse the succubus/incubus beyond normal and bring them to orgasm. When this is starting to happen, a new lust meter is shown for the succubus/incubus. Orgasm drains your mana, but the effects of mingling mana during a simultaneous orgasm can help win a mortal’s trust. Quite of the bit of the text associated with this is a first draft. I’ll be improving it and adding more variations down the line.

  • I’ve added a new mortal character: porn star. They have the above ability, and all the other high level mortals with beast bonuses do too. They appear at cynical difficulty.
  • Fixed a bug where piercings weren’t showing up in character descriptions.

What I’m up to

I’ve been doing some experimental stuff lately:

  • Giving the player character a lust meter of their own. This would increase when mortals in the sex encounters take actions that arouse the succubus/incubus. When it overflows, the player character cums and this removes some mana from the meter. It’d be cool if ingesting this tainted seed had some kind of corrupting effect on the mortal, but at the moment it just increases the capacity of the horror meter.

    I feel that the mortals in the sex encounters are way too passive and it hurts their believability. The last few weeks I’ve been racking my brains for new actions that mortals can take, but having them do more sex acts without any game mechanical effect is essentially just flavour text. At the same time I don’t think this is adding enough to the game yet to justify the extra complexity of another meter.

  • I’ve been taking a look at the innards of Andrew Plotkin’s Mutagen. It’s a random sentence generator that manages to avoid some of the Madlibsy qualities of generators that simply use a template sentence with gaps to fill in. There are lots of places in the game I might use something like this, though attempting this much granularity results in spending more time formalising English grammar than writing.

Release v0.63

New stuff:

  • When starting a new game, there are a couple of options to include mortals that are male-to-female transsexuals and female-to-male transsexuals. (Though currently the only mortals that fit these categories are randomly generated characters)
  • A bunch of new body part descriptions from Porpentine.
  • A couple of new equipment items, a crystal glass strap-on to make sure our femme quotient is keeping pace with our butch quotient, and latex gloves (as opposed to the opera gloves).
  • The fingering messages now drop some hints about how much the orifice has been loosened.

April project account balance

Fenoxo’s success with Trials in Tainted Space has attracted a lot of traffic to OffBeatr, and in turn more traffic to Fleshcult. Thanks to the generosity of all the new users, donations have been doing even better than last month. This month the project account balance is largely unchanged, in spite of the fact I’ve been paying myself and contractors.

Details below:

Continue reading