Mind Control Comics Forum
June 27, 2025, 08:34:17 am *
Welcome, Guest. Please login or see the News and Announcement section on how to register.

Login with username, password and session length
New to this forum? Please be sure to check out the introduction for very important information.
Click here to return to the main comic site.
 
   Home   Help Search Login Register  
Pages: 1 [2]
  Print  
Author Topic: How "Starter Marriage" Thinks  (Read 3872 times)
mns_95125
Subscriber
Five Star Sneetch
*****
Posts: 1076

aMember user


« Reply #15 on: May 19, 2025, 05:04:21 pm »

I'm a little surprised you use a weighted random traversal instead of a deterministic one. Why not just BFS or DFS the option graph?
Logged
Daphne
Publisher
Five Star Sneetch
*****
Posts: 4653


Drawn and Quartered.


WWW
« Reply #16 on: May 19, 2025, 05:48:56 pm »

I'm a little surprised you use a weighted random traversal instead of a deterministic one. Why not just BFS or DFS the option graph?

Well, consider the size of the graph. To get from the first scene to the transition to the bedroom takes 80 to 130 choices. Each scene has an average of about 2.1 exits, so we're talking about 2.1^80 to 2.1^130 possible paths. It takes the script between 0.5 to 1.1 seconds to process each playthrough.

Of course, the game doesn't have that many distinct scenes, but since the text and choices (and sometimes image) vary with each path, each scene is basically a new node depending on the path that was used to get there.

(In fact, I initially tried a DFS, and then realized that the universe would collapse into heat death before it finished.)
« Last Edit: May 20, 2025, 10:00:43 am by Daphne » Logged

DO NOT SEND ME PMs. JUST DON'T. ALWAYS SEND QUESTIONS OR COMMENTS OR REQUESTS TO: orders@mindcontroltheatre.com. Thank you.
ozymandias
Subscriber
Four Star Sneetch
****
Posts: 418


Llama llama duck


« Reply #17 on: May 21, 2025, 07:47:59 am »

Well, consider the size of the graph. To get from the first scene to the transition to the bedroom takes 80 to 130 choices. Each scene has an average of about 2.1 exits, so we're talking about 2.1^80 to 2.1^130 possible paths. It takes the script between 0.5 to 1.1 seconds to process each playthrough.

I don't think the size of the graph is 2.1^130 (though that's an interesting bound), because every decision doesn't modify the *next* node in the graph; it only modifies the state vector "a bit", right? So calculating the graph is actually the interesting problem--what are the probabilities of each scene following a given scene? And do those match your desired probabilities? (And also: really? 1.1 seconds to traverse the graph once? Are you making http requests or just processing the files? Can you load the whole thing into memory and just traverse the graph in memory?) Drawing the state machine would be hard, but given that you have a way to traverse the thing pretty quickly, you should be able to build up a probability map of each scene's entries and exits. Looking for near-zeros should tell you if you have a problem or not.

It's an interesting problem, though.
Logged
twobears
Subscriber
Two Star Sneetch
**
Posts: 93

aMember user


« Reply #18 on: May 21, 2025, 08:34:30 am »

You might consider add a counter to the different pages on the actual web site.

This would only give a retrospective view of what's been deployed (and is subject to bias by the end users preferences, but it might prove helpful)
Logged
jwik01
Subscriber
Three Star Sneetch
***
Posts: 232


« Reply #19 on: May 21, 2025, 08:38:27 am »

I feel quite low-tech with my paper and pencil but I'm from the humanities so
Logged
Daphne
Publisher
Five Star Sneetch
*****
Posts: 4653


Drawn and Quartered.


WWW
« Reply #20 on: May 21, 2025, 08:52:07 am »

really? 1.1 seconds to traverse the graph once?

Well, keep in mind that we're not just "traversing the graph." At each scene, we need to:

1. Read the state in from disk.
2. Apply any state changes to it.
3. Render the template for the page, including choices.
4. If the image is generated rather than static, generate the image (spoiler alert!).
5. Write the state back out to disk.

We could skip #1, I guess, but we can't skip #5, because having the trace of moves and state is very helpful for debugging. We can't skip #3, because that's essential for debugging the page text (and templates can have errors that only show up in particular states).

One of the other functions of the playthrough 'bot is to get test coverage on the code as it is run in the real-life system, so I try to minimize the number of special magical things that the playthrough 'bot does that the regular website does not.

Yes, there are potential optimizations to how the state is handled besides reading the whole thing in and writing it out, but that would require some pretty smart code, and the possibility for very hard-to-find bugs there is pretty high.
Logged

DO NOT SEND ME PMs. JUST DON'T. ALWAYS SEND QUESTIONS OR COMMENTS OR REQUESTS TO: orders@mindcontroltheatre.com. Thank you.
afurydarkly
Subscriber
One Star Sneetch
*
Posts: 3


« Reply #21 on: May 21, 2025, 10:06:12 am »

And don't skip #4 cause generative boobs...
Logged
Toby Dammit
Subscriber
One Star Sneetch
*
Posts: 12


« Reply #22 on: June 18, 2025, 11:25:14 pm »

I'm curious (and forgive me if I've skimmed past the answer to this on another post) what is the actual total word count for the *whole* text? if you add up all possible dialogue options and pathways and choices, just how many words have been written so far?

This is turning out to be quite a feat in terms of interactive fiction, and as a game developer who is delving more and more into this territory (especially salivating over the systems design going on here) I can't help but marvel at the mountain of work that's gone into this, not to even mention bug fixes and testing and so on!
Logged
Daphne
Publisher
Five Star Sneetch
*****
Posts: 4653


Drawn and Quartered.


WWW
« Reply #23 on: June 19, 2025, 06:05:47 am »

It's a bit hard to get an accurate count, since the text can appear in both Python code and HTML templates.  Just doing a quick sum across the HTML templates only comes up with 154,806 words. As a (very!) rough guess, the text in the Python code probably adds about 15% to that.
Logged

DO NOT SEND ME PMs. JUST DON'T. ALWAYS SEND QUESTIONS OR COMMENTS OR REQUESTS TO: orders@mindcontroltheatre.com. Thank you.
macavity
Subscriber
Four Star Sneetch
****
Posts: 394

Macavity


« Reply #24 on: June 19, 2025, 06:28:41 am »

It's a bit hard to get an accurate count, since the text can appear in both Python code and HTML templates.  Just doing a quick sum across the HTML templates only comes up with 154,806 words. As a (very!) rough guess, the text in the Python code probably adds about 15% to that.
That's a very impressive word count. Alone that's more than the average size of the Harry Potter books although alas I fear not as profitable...
Logged

GB
Toby Dammit
Subscriber
One Star Sneetch
*
Posts: 12


« Reply #25 on: June 19, 2025, 12:48:56 pm »

thanks for the response! that's impressive work, especially since so much of the job requires fitting the script in between several spots at once and make it flow-- and you certainly aren't half-ass-ing it!
Logged
Pages: 1 [2]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Valid XHTML 1.0! Valid CSS!