The dependencies are from the top down. A layer may not depend on layers above it, but it can depend on layers below it (I’ve added horizontal lines to visualise the layers better), eg. Saving
does not depend on anything, but Questing
, Movement
, Combat
, etc. all depend on Saving
. That’s what the arrows represent - the dependency. You can see from my edited image that there is no arrow going from a lower layer to one above it
In terms of how it was generated, I’m pretty sure Sam used a mind-mapping software to generate it (there are lots fo them out there).
In JetBrains Rider, if you put all of your namespaces into their own Assembly Definitions (in which case, you have to manually link any dependent assemblies in the definition), it will give you a blocky, but very funcitonal dependency diagram.