(This post had no text or tags.)
Latest commit adds these two things to debug builds. Just aim at a blank spot and you get these options instead of nothing at all.
The “Beasties” item in the menu is already taken care of, but I did later find out that Urta has no tallness and thus broke the Look At function, which is not yet fixed.
Open issues that I’d like your thoughts on
First up we have something about clothing. Specifically, tearing it apart and soiling it in various ways: Clothing Statuses
Second, there’s a more technically intricate thing about replacing the scheduler that I’ve recently gutted: Goals, Needs, Drives
Pick one, leave your comments here or, if you can, there.
Cutting down on the body parts
Hi, we’re not dead yet! Here’s a thing that I’ve been pondering and just put in source control as an issue. I thought I’d mirror it here on Tumblr for coverage.
Right now, a given character can have any amount of penises and vaginas stuck down there, all different, and any amount of breasts, each row different. This complicates things like sex. Enormously.
I think actually getting the sex parts done would go a lot better, and actually playing them likewise, if we severely cut down on the whole “mess of genitalia” thing.
I’m thinking, a character would have a single penis
token or none, with its size and type, and it may have a double
token in there to signify there’s two. Similarly, there can be only one vagina
token or none, the ability to have two very much up for discussion. Any extras would be limited to cocknipples, nipplecunts, tentacles, and tails.
A Request for Opinion
Today I’ve been working on the sexual interaction data, both adding new stuff and some of the long-planned format changes. I’d like your opinion on this.
This is the new “Fondle Nipples” action:
choice: fondle_nipples _n: Fondle [b:his] nipples limitations not: 0 havingsex/restrained hasnipples: 1 canreach: 1 breasts effects stat: 1 stimulation 6 stat: 1 climax 2 message - [t:Youorname] rub{s} [b:yourornames] [b:nipplesize] [?:nipples].
That’s the old style. The new style replaces the limitations and effects blocks with chunks of Lua code, reducing the parsing code’s overall size by pretty much almost all of it:
choice: fondle_nipples _n: Fondle [b:his] nipples filter: (not top.Restrained()) and bottom.HasNipples() and bottom.CanReachBreasts() effect <[[ bottom.Raise(Stat.Stimulation, 6) bottom.Raise(Stat.Climax, 2) message({"[t:Youorname] rub{s} [b:yourornames] [b:nipplesize] [?:nipples]."}) ]]> -- Alternatively, as a oneliner: -- effect: bottom.Raise(Stat.Stimulation, 6); bottom.Raise(Stat.Climax, 2); message({"[t:Youorname] rub{s} [b:yourornames] [b:nipplesize] [?:nipples]."})
Now, the old-style message command token picks one of its children at random. The Lua version takes a single string or a table of random picks, which may themselves include more tables of random picks, and can have a color parameter to make the message stand out more. That’s why there’s those {} in there; to remind and invite to add more variations.
All that being said, what say you?
(This post had no text. It was tagged #linux
#debian
#dwm
#mono
)
The UI of course scales with the tileset. Should I countinue down this path, though?
Unrelatedly…
I’ve been using FMOD Ex 4.37.05, from 2011, all this time and recently figured I ought to look into updating. So I got a copy of FMOD Studio 1.08.04, one month old, and spent like five maybe ten minutes adapting Noxico’s sound code. Now I have a little archive with the new DLLs and two CS files, a clean drop-in replacement. I’m just wondering, is it worth it in the end to switch?
On dialogue and file formats
When I started on this game project, I put all the data in a bunch of XML files. Some of them were parsed into token trees before use, others were custom-parsed.
Eventually I felt like XML’s verbosity was unneeded, and I came up with a format that more closely matched the token tree data structure and was reasonably human-readable.
Recently I converted the second-to-last XML file to TML; the i18n word list and its related data, done mostly with a quickly whipped up converter and a little bit of aftercare. The only thing left in XML format is the game’s dialogue.
<scene id="GenericUnknownHottie" name="(starting node)"> <filter target="bottom" type="relation" value="none" /> <filter target="top" type="value_gteq" name="charisma" value="50" /> <p> "Ah... Greetings, traveller," [b:he] says with a slightly flushed smile. "Can I... help you, maybe?" </p> <action name="introduce yourself" /> <action name="invite to have sex" /> <action name="no thank you goodbye" /> </scene> <scene id="GenericIntroduceHottie" name="introduce yourself" list="Introduce yourself"> <filter target="top" type="value_gteq" name="charisma" value="50" /> <p> You tell [b:name] your name and flash [b:him] a twinkling smile. </p> <p> "It's a pleasure meeting you, [t:name]", [b:he] says a little flustered. </p> <script type="text/javascript"> top.SetRelation(bottom, "acquaintance"); bottom.SetRelation(top, "considers hot"); </script> <action name="invite to have sex" /> <action name="goodbye" /> </scene>
-- TML version scene: GenericUnknownHottie start filters bottom: relation value: none top: has path: charisma value: >= 50 $: ""Ah... Greetings, traveller," [b:he] says with a slightly flushed smile. "Can I... help you, maybe?"" action: introduce yourself action: invite to have sex action: no thank you goodbye scene: GenericIntroduceHottie name: introduce yourself list: Introduce yourself filters top: has path: charisma value: >= 50 $: "You tell [b:name] your name and flash [b:him] a twinkling smile." $: ""It's a pleasure meeting you, [t:name]", [b:he] says a little flustered." script <[[ top.SetRelation(bottom, "acquaintance", true); bottom.SetRelation(top, "considers hot"); ]]> action: invite to have sex action: goodbye
How exactly this data is used doesn’t matter here. No, what I’d like is opinions. So please tell me, does that example look readable? Do you maybe have another idea?
Regarding the new patch system I just whipped up and put on Bitbucket
Given this starting data, music.tml:
Title loonie_-_cronologie_4_remix.xm sandras_sweet_sex_seminar.xm Grassland joule-mozarella_filofox.xm aa-molec.s3m hyo-dum.it
and this patch, music.tml.patch:
-- Add this to the end of the file add: - Added patch_me_in.s3m -- Add this between Title and Grassland add: Title Inserted patch_me_in.s3m -- Add this to Title add: Title/- beek_ita.it -- Remove a particular song from Title remove: Title/loonie_-_cronologie_4_remix.xm -- Replace a song replace: Title/loonie_-_cronologie_4_remix.xm Cronologie IV.ogg -- Replace the whole set of title music choices replace: Title Title Cronologie IV.ogg Sandra's Sweet Sex Seminar.ogg -- Change a token's value(s) set: Inserted value: 42 text: something
Given two tokens with the same name, you can use something like bodyplan[6]
(zero-indexed!) or bodyplan[=felin]
in a path as well.