October 2026 Devlog – Flowcat: Respecting Your Time!

Greetings everyone! It is I, Duhop, once again!

I have just returned from a cousin’s wedding halfway across the country, and I’m actually feeling great for once! Fingers crossed, there’s no travel illness still building up inside me🀞

Alex’s Journey to the Grave has been at the forefront of my thoughts all week long, and I’m super excited to get back into it >:D

For this month’s devlog, I want to talk about something that’s been gnawing at the back of my mind for years now at this point, and that I think I’ve finally formulated a solution for.

Respecting Your Time

There are many features in games that exist solely to improve a player’s quality of life, and respect the value of their time. There is also, however, something to be said about the whimsy and immersion that can be maintained by not fully conveniencing away every single ‘mundane’ task.

Fast travel comes to mind as a prime example. Without it, deciding to travel somewhere is a risk, an investment, and an opportunity for the game to provide a new adventure; with it, that same choice no longer holds any weight at all, but the player can now access the more interesting content locked behind it in an instant.

Of course, it can also be implemented only after the benefits of not having it to begin with have already been reaped.

If you’ve just played through half of Skyrim, you easily could’ve exhausted all the content there is to experience on the road to Whiterun twice already. If you’re a seasoned max-level veteran, running that road you already know like the back of your hand for a thousandth time would probably bore you to tears.

Skyrim is not some simulator where you really have to worry much about the logistics, risks, or even time investment of travelling in a medieval world. Bethesda knew that its travel could easily get boring and repetitive, so they respected the player’s time by making locations they’ve already visited available for fast travel on the world map.

Obviously there is room for improvement there, and many more modern games have shown that in spades. A fast travel system can absolutely be made more diegetic, immersive, and whimsical than simply clicking on a button on a map, and there are certainly benefits to restricting it more as well.

It’s a balance. As a developer, you have to have a good feel for how interesting your content is, how quickly it can grow repetitive, and whether or not you actually have the means to improve it enough to avoid taking the fast travel/automation shortcut.

Personally, I lean in the direction of respect and freedom of choice; I want to give the player more options to play the game the way they want to play, at their own pace.

Oh, and you know what?

I make goddamn visual novels.

I don’t have to worry about any of the nuance here.

Literally all I need to do is make it so that previously read scenes are easily re-accessible.

…SO WHY DOES EVERY OTHER VISUAL NOVEL I’VE EVER PLAYED SEEM TO BE TEN THOUSAND LIGHTYEARS BEHIND ON THIS?!

WHY ARE WE DISTRACTING THE PLAYER FROM THE STORY BY PLAGUING THEM WITH PARANOIA ABOUT THEIR PROGRESS AND FORCING THEM TO SAVE IT MANUALLY EVERY THREE GODDAMN MILLISECONDS?!!

WHY ARE WE FORCING THEM TO MAP OUT COMPLEX FLOWCHARTS FOR THEMSELVES AND MAKING IT EASY TO MISS THE BEST PARTS OF THE CONTENT WE WORKED SO GODDAMN HARD ON?!!!

WHY IS IT THAT WHEN WE DO PROVIDE A FLOWCHART, WE FORCE THEM TO GO BACK AND SKIP THROUGH HALF THE WHOLE GODDAMN GAME AGAIN ANYWAY JUST TO CHANGE ONE EARLIER CHOICE?!!

I’M TELLING YOU, IT’S SO GODDAMN EASY!!! WE DON’T HAVE TO WORRY ABOUT ANY OF THE HARD STUFF A REGULAR GAME DESIGNER DOES!!!!

HOW HAVE I NEVER PLAYED A VN WITHOUT THESE ISSUES BEFORE?!! SURELY THERE HAS TO EXIST AT LEAST ONE OUT THERE, RIGHT?!! (Seriously, let me know if you know of any 😳)

Huff, huff…

So anyway, here’s the prototype scene select/”Story” screen I’ve been working on, with functionality far beyond what any other VN flowchart has ever offered users to date! (As far as I’m aware, at least.)

Opening the Story screen from the main menu

As you can probably tell just from looking at it, the visuals here are still very much in the prototype stage as well. I’m really excited to see how the look and feel of everything will change after they get finalized, but for now, let’s get into the explanation for what you’re seeing here currently.

Each rectangle you see on the flowchart is a story node, representing a single scene or divergence in the story.

A dark node displaying ??? is a locked node, which is the default state for an unread node until the player has reached its contents in the story at least once. Interacting with a locked node does nothing.

A blue, highlighted node is the current selected node. Interacting with the selected node “Intro” to jump into the story from the start is all you can do when you’ve just booted up the game for the first time.

Starting the story from the Intro node

Once you’ve read further into the game, your current place in the story is denoted by the selected node whenever you open the Story screen again.

At this point, every story node you’ve read through so far will be unlocked, and the path you’ve taken to the selected node will be visible as a line of active nodes; blue, unhighlighted nodes that denote which story variables/flags the player currently has active.

The Story screen with an active route through Act 2

When you interact with an active node, it becomes the selected node, any active nodes chronologically following it are automatically deactivated, and the shortest (or uppermost as a tie-breaker) path of unlocked nodes leading to it is automatically activated if and where necessary to establish logical continuity.

A dark node with a named label is an inactive node, which means the node is unlocked, but not part of the active route. When you interact with an inactive node, there are two different possible behaviours:

  1. If it is a node with sibling(s), the selected node is downstream of it, and one of its child nodes has been accessed through it before (so we know that the entire thing has been read, not just unlocked); it is only activated, not selected, and the other active sibling is automatically deactivated.
  2. If any of the above conditions are not met and it is not possible to activate the node without breaking continuity to the selected node, it simply becomes the new selected node.

When you interact with the selected node again and jump back into the story, you’re provided with the story variables/flags from the nodes you currently have active. The active route in the Story screen denotes your simulated route through the game; essentially, it can emulate an entirely new playthrough made with different choices in an instant!

Jumping back into the story from the selected node

As a result of all this extra scene-and-route-select logic; any time you want to make a change to your active route or story variables/flags, all you have to do is open up the Story screen, make your desired changes, and close it right back up again without wasting any time skipping through repeat content.

(This bears some further thought and caution from my side, and might be changed to require you to restart at the beginning of the selected node again after changing the active route (which is still leagues better than not having it at all, tbf). I still need to work out if I can implement logic to maintain this exact functionality in valid cases, but force the player to choose a new selected node if their current place in the story is no longer reachable πŸ€”)

If there’s anything you’re still unclear on, here’s the full compiled legend for all the objects in the screen (the connections section is new here; the rest is just a repeat of the explanations above):

  • Nodes: Each rectangle on the flowchart is a node, representing a single scene or divergence in the story.
    • Locked State: A dark node displaying ??? is a locked node, which is the default state for an unread node until the player has reached its contents in the story at least once. Interacting with a locked node does nothing.
    • Inactive State: A dark node with a label is an inactive node, which means the node is unlocked but not currently active. When you interact with an inactive node, there are two different possible behaviours:
      1. If it is a node with sibling(s), the selected node is downstream of it, and one of its child nodes has been accessed through it before (so we know that the entire thing has been read, not just unlocked); it is only activated, not selected, and the other active sibling is automatically deactivated.
      2. If any of the above conditions are not met and it is not possible to activate the node without breaking continuity to the selected node, it simply becomes the new selected node.
    • Active State: A blue, unhighlighted node is an active node, meaning it’s part of the active route, and the player will inherit its story variables/flags. When you interact with an active node, it becomes the selected node, any active nodes chronologically following it are automatically deactivated, and the shortest (or uppermost as a tie-breaker) path of unlocked nodes leading to it is automatically activated if and where necessary to establish logical continuity.
    • Selected State: A blue, highlighted node is the current selected node. Interacting with the selected node places you at the beginning of its content in the story, with story variables/flags provided by the current active nodes. To put it another way, the active route in the Story screen denotes your simulated route through the game.
  • Connections: Each line you see connecting two nodes is a connection.
    • Connection States: Connections can also denote their own state, separate from that of their parent node; Dark for locked, grey for inactive, white/glowing for active. A node can be unlocked, but still have its child connection locked. Connections only unlock when the child node is accessed through that connection, which is relevant when the child node has multiple parent connections.
    • Choice/Non-choice Splits: Split connections with a square choice node denote a divergence caused by a player choice, while splits without a choice node denote a divergence caused by an earlier choice variable/flag.
    • One-way Connections: An arrow in the middle line of a connection is sometimes necessary to indicate a one-way connection. For example, when two sets of sibling nodes would otherwise appear to have four possible ways to connect instead of the actual three.

As you might have caught on, this screen follows the same logic as a lot of fast travel systems similar to our Skyrim example (if you ignore the paid cart rides); once the player has seen content once, it’s okay to let them skip it the second time.

It also doesn’t force them to skip it. Flowcharts in VNs have always excelled at making rereading easier, and this one is no different! Your progress is all neatly tracked, and you can easily access any part of the story you’ve already seen from any route you’ve already taken.

It’s easy to adopt either philosophy after you go back and read through a choice you haven’t unlocked yet, too. It’s totally up to you whether you want to continue through the story by rereading it the classic way, or jump straight back forward through the Story screen again as soon as you’ve unlocked the connection to the next node.

I’m not gonna lie, this has felt like a bit of a mind-bending nightmare to explain in words. Strangely enough, though, I feel like it’s actually really intuitive when you look at it visually, and even more so when you can actually interact with it.

What do you think? Does it make sense to you?

Have you seen something like this in any other story-based games before? Are there any other features or functionalities I’ve missed that you would like to see added?

And for that matter, are there any other quality of life features you like to see in your VNs? (I, for one, am a massive proponent of volume bars that start at 50% instead of 100%, and opacity sliders for text boxes, to name a couple others I’ve already implemented.)

Let me know in the comments here, or on our public Discord!!

I’d really love to hear your thoughts, but either way, thank you so much for following the development of Alex’s Journey to the Grave!

-Duhop

Leave a Reply

Your email address will not be published. Required fields are marked *

Are you human? Please solve:Captcha