fuckmcgee

New Member
Jun 3, 2018
3
0
Welp, I wrote a simple java program to search through the game's content and print out a full scene tree and some preliminary analysis on the types of scenes available. Here's a brief overview for those who are curious (like I obviously was). This info pertains only to the female version of Devious World, although the program would likely work on the other versions as well (I just haven't bothered to do so).


Total count of events referenced (including dead ends and placeholders): 6376
*These would be the number of links within the game

Count of unique event names: 2527
*The number of unique event IDs in the game's code that actually have some form of content attached (specifically, the number of matches for this regex: <div tiddler=\"(?<name>\w+)\".*?>(?<content>.*?)<\/div>)

Number of true dead ends (Those with ONLY placeholder links): 623
*Self explanatory

Number of events with at least ONE usable branch:1802
*Self explanatory

Number of orphan links: 102
*Number of events that exist in the code, but aren't referenced by any game events, and thus don't matter for my analysis

If you want I could probably generate a full choice tree as well, but I don't know how useful that would be to anyone.
Do you know how many branches lead to game overs? I feel like that's the only way story lines are concluded, unless I'm mistaken.
 

Decckar

Member
Aug 24, 2017
179
180
Do you know how many branches lead to game overs? I feel like that's the only way story lines are concluded, unless I'm mistaken.
There's at least 1 good end in Cyan's space ranger route, though it's got a ton of game overs along the route too. I think there's another, but I don't remember.

The vast majority of them are indeed bad end game overs, though
 

lolz008

Member
Dec 13, 2019
106
93
Do you know how many branches lead to game overs? I feel like that's the only way story lines are concluded, unless I'm mistaken.
Well, per my post there were 623 events with only dead links (true dead ends). You can likely assume that the number of events minus the number of unique event names closely approximates the number of dead ends. So maybe 3000+ dead ends? Idk, its been a bit since I looked at that code, but based on what I wrote that should be correct.

If you look at the scene tree everything with !!! surrounding it is a dead link/end.
 

Privitarium

Newbie
Oct 25, 2017
74
28
Well, per my post there were 623 events with only dead links (true dead ends). You can likely assume that the number of events minus the number of unique event names closely approximates the number of dead ends. So maybe 3000+ dead ends? Idk, its been a bit since I looked at that code, but based on what I wrote that should be correct.

If you look at the scene tree everything with !!! surrounding it is a dead link/end.
There are a few gameovers/bad ends that have a link that send the reader back a step or more to the last decision point. Don't know if that makes a difference to your code.
 

lolz008

Member
Dec 13, 2019
106
93
There are a few gameovers/bad ends that have a link that send the reader back a step or more to the last decision point. Don't know if that makes a difference to your code.
If I remember correctly I didn't have to worry about it, because only things that linked to no content (i.e., the referenced link doesn't actually exist) were counted as a dead link. Honestly I think the best way to get an exact count would be to go to the text file and run a regex search for !!!.*?!!! and count the number of matches. Using notepad++ I got 3846 matches, which is very close to the estimate the method I stated arrived at.
 
  • Like
Reactions: Massah

Privitarium

Newbie
Oct 25, 2017
74
28
If I remember correctly I didn't have to worry about it, because only things that linked to no content (i.e., the referenced link doesn't actually exist) were counted as a dead link. Honestly I think the best way to get an exact count would be to go to the text file and run a regex search for !!!.*?!!! and count the number of matches. Using notepad++ I got 3846 matches, which is very close to the estimate the method I stated arrived at.
I think I understood: in other words, only red links ping, right? Either way, I realised that any difference to the count those specific endings would make will be negligible.
 

handholder01

Newbie
Jun 10, 2020
15
8
How do I naturally get to the Rantoso online storyline? I feel like this game needs a wiki keeping track of how to go to which situations.
 

Privitarium

Newbie
Oct 25, 2017
74
28
How do I naturally get to the Rantoso online storyline? I feel like this game needs a wiki keeping track of how to go to which situations.
I might be able to help if you remind me of some of the details in that storyline. Especially if you remember which character you start off as.
There's also the devious digitizer option which can tell you all the links to get to your current passage.
 
Last edited:

xana94

Well-Known Member
Nov 13, 2021
1,567
2,139
Public Release DW a97 DM a41

Heeeey all happy Sepdismember release in Spooktober!

There is indeed some spooky stuff this update, if not quite as much as I intended as my attention span did that thing that it do, but I am hoping to get back to it this month, among some of the other ghostly and ghoulish storylines. (But we'll see, the new Raz stuff is currently my big drive.)
In any event, this month we have Devious World (Female), Devious Jamie, and Devious Mundanity, and the various updates for them:
  • Main: Cyan has a new email she can read.
  • Main: Cass can decide she's living her best life after Heather gives her the okay.
  • Main: Jamie can decide he wants to ask for something lewd for his birthday.
  • Main: Jamie can choose to unlock a bloodline for his leveling assistance.
  • Main: Jamie and Jane can try a different key after Jane's explained her nature.
  • Main: Jamie can get naked on Freya's bed.
  • Main: Jamie can buy the wedding ring bond item in Rantoso Online.
  • Main: Leo can just kill time in his room aboard the Stellar Body.
  • Main: Michika has a new retrieval job.
  • Main: Defiance can have her contract bought by various "slams".
  • Main: Raz can choose the Adventurer class card.
As an aside I know this update is riddled with typos and a few formatting issues, but by the time I got around to checking for that it was already getting late in the day and I wanted to go ahead and get this release out. I'll try to get some of these fixed for next month (or as I come back to the storylines).

File is or .
 

Privitarium

Newbie
Oct 25, 2017
74
28
How do I naturally get to the Rantoso online storyline? I feel like this game needs a wiki keeping track of how to go to which situations.
Found it. It's in Jamie, waste holidays, save the rich lady, get the gift card, get the virtual dimension rig, and past the Farmster Girl option (which was shifted into a different file).

For more specific instructions:

Jamie > waste it > neutral shirt > sure > concentrate on cleaing > head home > pull her to safety > gift card > gizmos > virtual dimension rig > try it > farmster girl > skip through until you find the "installed games" blue link > Rantoso Online
 

DarkDaemonX

Engaged Member
Mar 31, 2020
2,423
2,664
This feels like a Writing.com CYOA, where the storylines are so random because everyone can write a passage.

Also, the male Jamie one has so many early EOCs, I thought there would be more considering the age of the game, but I guess the focus is mostly on the different female protagonists version.
 

lolz008

Member
Dec 13, 2019
106
93
This feels like a Writing.com CYOA, where the storylines are so random because everyone can write a passage.

Also, the male Jamie one has so many early EOCs, I thought there would be more considering the age of the game, but I guess the focus is mostly on the different female protagonists version.
Nah, the whole game is plagued by early unfinished routes and endings. The author has very little sense of progression and just hops around randomly between stories (each time adding 3-4 new dead ends).
 
  • Like
Reactions: ChopTheHead

Quickpawmaud

Member
Jul 4, 2019
421
172
Nah, the whole game is plagued by early unfinished routes and endings. The author has very little sense of progression and just hops around randomly between stories (each time adding 3-4 new dead ends).
Yep been following the game loosely for probably around 5 years now. Dev will regularly make new paths that are just one page then a bunch of options not written and then never ever add to that path again. There was a period where the dev focused on only Cyan and remade other paths into a Cyan path since they wanted to finish a path but then gave up after like a year as Cyan then ended up with hundreds of dead ends. They just seem to write whatever idea strikes their fancy then move on to the next idea with no desire to continue anything to conclusion. It seems to be just a project to endless write whatever rather than any kind of narrative or storyline. It is basically just a collection of short stories where the author just wrote the first page of 500 short stories that are meant to be 20 pages. Most of the paths I enjoy were written before I started playing the game 5 years ago and either have never been updated or just had a new option added without writing the options that were there already but were dead end links. I don't really get why the dev even puts in the dead links because it makes it seem like they have plans to write those but they do not. There will be a path that ends with 4 red links for future paths and then 3 years later a 5th option is added with half a page and 2 more red links. I like a lot of the ideas and writing style which is why I still check in on the game sometimes but you just have to accept that you cannot get invested in any of the paths. You need to expect every update to be sort of standalone with no expectation of anything to be continued. I think we are on version 97 and I started with version 19 or something like that. Plenty of the paths have potential to be an entire game by itself but dev seems to just enjoy thinking of new ideas rather than exploring any idea more.
 
Last edited:

hollinar

New Member
Dec 27, 2017
5
2
Utility script to add current path to header of all passages, and maximum size of all child passages to passage links. Tested with current Jamie/F/Mundanity html files, and with last release's M file.

It's a pretty hacky setup and the breadcrumb display is ugly, and could probably link back to the passages with a tiny bit more effort. I just run it from devtools when refreshing, though it would probably work as an actual userscript provided it was delayed until after the first passage was shown.

Someone else can feel free to improve it, take it and claim it as their own, whatever.

JavaScript:
// Extract child nodes
Object.values(tale.passages).map(v => v.childPassages = [...v.processText().matchAll(/\[\[([^|]*?)\|([^|]*?)\]\]/g)]);
// Map tree of paths
mapTree = (passageTitle, path) => {
    if (path.includes(passageTitle))
        return;
    let passage = tale.passages[passageTitle];
    if (!passage)
        return;
    passage.parentPassages = [...path];
    passage.childPassages.map(c=>c[2]).forEach(p => mapTree(p, [...path, passageTitle]));
};
// Start tree with `Start` passage
mapTree('Start', []);
// Determine max size of each passage, starting with deepest parts of tree
Object.values(tale.passages).filter(p => p.parentPassages).sort((l, r) => r.parentPassages.length - l.parentPassages.length).forEach(p => {
    p.maxSize = [...p.processText().matchAll(/\w+/g)].length + 1 + ((p.childPassages ?? []).map(c=>c[2]).map(n => tale.passages[n]).filter(c => c && c.maxSize).sort((l, r) => r.maxSize - l.maxSize)[0]?.maxSize ?? 0);
});
// Add path to passage header
Object.values(tale.passages).filter(p => p.parentPassages).forEach(p => {
    let path = [...p.parentPassages, p.title].map(n=>{
        let np = tale.passages[n];
        let pn = np.parentPassages[np.parentPassages.length-1];
        if (pn === undefined) return '';
        return tale.passages[pn].childPassages.find(c=>c[2]===n)[1];
    });
    p.text = path.join(' > ') + '<br/><br/>' + p.text;
});
// Add depth/word count to passage links
Object.values(tale.passages).filter(p => p.maxSize).forEach(p => {
    p.text = p.text.replaceAll(/\[\[([^|]*?)\|([^|]*?)\]\]/g, (m0, m1, m2) => `[[${m1}${tale.passages[m2]?.maxSize?' ('+tale.passages[m2].maxSize+')':''}|${m2}]]`)
});
// Refresh the current passage
document.getElementById('passages').childNodes[0].replaceWith((() => {
        let e = tale.passages[document.getElementById('passages').children[0].id.substr(7)].render();
        e.style.visibility = 'visible';
        return e;
    })())
Examples:

1728433289873.png

1728433360743.png
 
Last edited:
  • Like
Reactions: zOh

hollinar

New Member
Dec 27, 2017
5
2
I'm looking at that pathing, and that is definitely incorrect in several places. It seems to be displaying the first choice of every page, even if it's a redlink.
Whoops, you are correct. I messed up a conditional on line 25. Fixed the original message to have the correct code.

---edit---

Wait a second, on further review, that was just a copy/paste of slightly outdated code. I removed the `<pre>` tag from the breadcrumbs because it prevents wrapping, as well. Updated original message again.
 

1NeoWolf

Newbie
May 11, 2021
22
3
This could really use just a simple guide just to name the paths so its easier to figure out wheres the new stuff because, okay I understand you added new stuff and what it is in the changelog but i didn't develop the game with you how am I supposed to know EXACTLY where this new thing is in the game. I've gone through all the paths multiple times and been following whats been new for half a year and I still cant wrap my head around where im supposed find the new things from the update but always end up going through each path again because I got no clue where this new stuff is when the game has 100+ unfinished paths.

I really like the writing style and the game itself but it's been out for so long and theres not a single way to figure out where what is,aside from that it would be nice to finally see one of the main paths get fleshed out and finished but im aware that probably won't happen since the dev prefers to write whatever comes to their mind. Im alright with that, its their choice and the game is fun, but theres so many paths and a lot of potential in many of them yet they all just abruptly end and even when they get an update its only a few more choices that last a couple of minutes in terms of reading through if not less. I feel like from the view of many who follow the game for awhile and for the sake of the game itself, it would be awesome and a big positive if we finally saw some of the paths get a lot of love instead of these what I'd like to call "teases" every now and then for 10 separate paths.

I just wished to express my opinion that's all, like I said I like the game and the dev's writing style hence why ive been here for at least half a year, i'd and probably many others from the comments, would like to see more focus on specific paths at least now and then rather than random additions to many separate ones.
 

Privitarium

Newbie
Oct 25, 2017
74
28
This could really use just a simple guide just to name the paths and give them a name so its easier to figure out wheres the new stuff
Pretty sure Skooma isn't on this forum, and you'd have to go to their Patreon (their twitter also hasn't updated in forever).

As for naming the paths, you can sort of do that (name some of the initial branches), but I'm not sure there's enough consistency to give general path names.

I can come up with the "Fairy Eric path" but is that clear enough? Not really, because newer players would have no idea how to get to Eric being a fairy. You could call it "Eric Hollywood magic" path instead to make the pathing to get there a lot clearer, but both the digitizer and practical solutions are on there, and the two are very different.

That's all to say that naming a path is hard, because most splits don't make logical sense due to their fantastical nature. So you'd end up needing to make a name that's just a long string of decision points anyway.
 

1NeoWolf

Newbie
May 11, 2021
22
3
When I said name them I meant in the sense of naming each path and making a guide for how to reach it. It's not the path name that i wanted to put focus on but just on the fact that we have no guide for any paths no matter its name if it even has one.
 

Quickpawmaud

Member
Jul 4, 2019
421
172
When I said name them I meant in the sense of naming each path and making a guide for how to reach it. It's not the path name that i wanted to put focus on but just on the fact that we have no guide for any paths no matter its name if it even has one.
Yep even though I have been playing for years and know where a ton of the paths are even I don't know all of them. Some ones I know exist it also takes me awhile to find again. No idea where the Jane Jamie path is for example.
 
2.80 star(s) 55 Votes