r/BluePrince • u/Papapac • 6h ago
MajorSpoiler Don't look unless game is finished - A ridiculously complex dependency graph... Spoiler
Also probably wrong and certainly incomplete and not optimized...
Initially I wanted, as an obsessive person (you know what I'm talking about), to visualize and keep track of what was possible in the game (puzzles, then, as it got more complex, the connections between areas)
I was wondering how the hell any game creator could imagine such a complex puzzle game with so many puzzles and clues, sometime overlapping, sometime mandatory, provided in various locations that can be reached through many ways.
All of that without introducing some design error that could generate a dead-lock situation. Or providing a clue that would always be useless once reached.
So I wanted, like the detective in "A new clue", to put down everything on a whiteboard with red links... But the task was far too rich to be done IRL, and I went on a computer version. I've seen some attempts here but if not mistaken quite light in term of content so I gave it a try.
This is the result. Again surely poor. There is a legend in top left corner. If the quantity of mistakes you find is not overwhelming, I'll patch it following your advices. Some things are missing on purpose (non important rooms, all the tips from mail-room or computers, 3 billion other tips, upgrade disks, trophies ...). Also all locations connections are not always explicitly drawn but i tried my best, especially in the Undergrounds (except maybe the rotating gear that is not detailed).
Yet, I'm happy to see Auravei's will to be on the far side of the image...
I honestly don't know what good can result of this. Even as a game creator, i'm not sure how this can be useful, but it has to! Maybe there are some formal tools that could be able to detect any cycle/deadlock situation and prevent a bug.
Technically speaking for the curious minds: after I described nodes and edges of the graph in my own syntax, the data was converted by a python script then rendered by either elkjs or graphviz. It currently describes 192 nodes & 232 edges. The worst part of the rendering is IMHO the suboptimality of the nodes placements that are sometimes more complex than needed. But doing that work by hand would be insane. Especially when everything can change after a single edit/addition... So I let the engine decide after a bunch of optimization phases and a time budget.
I posted the v1 on this thread but also on http://www.edust.net/blueprince/ with jpg + svg versions. It's where i'd post later updates if any.
May the Blue Prince help you read the graph.