Another small update, and thoughts on the Writing Parser

Site:
-Minor, but needed, forum styling changes.

Game:
-Fixed a(the?) bug that would cause the solar system to not build.
-Updated much of the game server’s code. Hopefully I didn’t make new bugs in doing so.
-Added some more errors to initialization to hopefully clarify things or track down issues.
-Updated writing parser to strip out escaping backslashes after they’re no longer needed.
-Fixed an issue where the Scenes in complex Events would delete out previous text that they shouldn’t.
The intended behavior was that writing history in scenes would stay there, but when it was repeated it would remove the repeating part. It was sometimes deleting a scene that wasn’t a duplicated, ever since I added the “Sets” mechanic.
-Fixed cum description in the writing parser.

Content:
-Added about 1100 more words of content to Macsen, and fixed something (short/tall) being missing in the parser which was causing some of that content not showing. Also edited content so it’s a bit easier to encounter a sex scene with him.
The “Queen’s Dozen” quest line still isn’t finished, however. I’m still thinking about it.
-Fixed Lia showing up in Outpost 833.

Dev Tools:
-Added a way to have multiple arguments that must pass for a function to run. Actually, this was possible before by chaining scenes, but I added a much more streamlined and efficient method.
-Added a way of setting both public or private timers on NPCs, and to check against them for function/flow arguments.
One simple example of what these can be used for is to change content after just having recently done something with a player.

Additionally, I’ve been thinking a bit about the writing parser, and how it currently works.  Of course I want to make it better and better, as things go on.
The goal from the start has been to have something where a writer can, for the most part, simply write. Then the writing parser takes that and tries to make it personalized to the player’s character. Usually there’s a lot of psuedo-code or “markdown” in the writing that triggers something specific in a writing parser, but I’ve tried to make it able to analyze the language and look for occurances that hint to something.
This has led me to notice things about mentioning someone’s anatomy, that I could tier these things to build descriptions.  Say that a player character’s face is mentioned, it shouldn’t just say “your face”. What i someone’s lips are smeared with cum? Maybe then it should output something like “your with, with it’s cum-smeared lips”.
This is actually quite doable.
At the moment I have just an unordered list of anatomy that can have descriptors, adjectives, and so on assigned to it. IE
lips()
eyes()
biceps()
etc()
I could nest these. Think of it like a branching tree.
body:{
  head:{
    face:{
      lips(),
      eyes(),
      etc
    },
    hair()
  },
  biceps(),
  etc
}

to sort of instruct the writing parser on the hiearcy of these things. Lips and eyes are a part of face. Face is a part of head. Head is a pat of body. It’d look for clues where it should maybe go into more detail, and then detail the most stand-out things, rather than continously give verbose descriptions of everything.  This is similar to how things are now. There are multiple descriptions for a part of anatomy or clothing and it tries to figure how best to describe it in the context, plus some randomization thrown in for how the adjective phrases are formed to keep things fresh.

That’s definitely something I want to do. There’s still more I could, though. It just depends on how far I want to take it, while still having something that parses the writing quickly(anything more than a second is probably too slow.  No one wants a long delay from when they select an option to when they get the new writing).
I’ve been thinking I could go as far as tokenizing every word in every sentence, and making something that can identify whether something is a noun, verb, adjective, proposition, interjection, etc, and whether it’s part of a noun phrase, verb phrase, adjective phrase, etc. That’d give me a much better array of data for each sentence to decide how much the writing parser should do with it, as well as an easier way to look ahead and behind at the sentences around one, or even the paragraph they’re apart of. I wonder how that’ll perform, though!  I’ll have to try it out later, when the game is funded, since it might end up being something I spend a few days on just to find out the performance needed isn’t possible.
It’s one of those “easier said than done” things because English is complicated. There’s nothing about a word that indicates what it is, it all comes down to interpret the syntax of a sentence. If I say “cat”, you know that “cat” is a noun, but all a computer says is a string of 3 characters.

Bookmark the permalink.