It would be nice to have a guide to forking Dash. There are others doing it but they aren't sharing their knowledge. Fine I suppose. But then trying to look at source code of Dash forks or attempted Dash forks with a new genesis block brings us back to the same problem: what else?
What I would like to do is really understand Dash. To do that I'd like to dig around in its guts and make some gradual changes and test them out. One first one was to change the Proof of Work, and see what happens, which might lead to experiments in block timing and what happens with DGW. But then, how to make DGW active from genesis. It would be nice to have DH wallets from the start and maybe even BIP34 with the block height in the coinbase. It's hard even with simpler coins to get this working. It's almost impossible unless you can ask actual coin developers who have made this work, and understandably their time is in short supply.
So far I think you can use nasa8x's genesis tool, or GenesisH0 for an X11 genesis block, but how to make BIP34 type genesis blocks, I don't know, or what the ramifications of that would be. If BIP34 was active from the beginning presumably there would be no invalid-cb-height errors in the debug log.
So it looks like with changing the Proof of Work to understand that a bit more, retargeting, timeframes and so on, a few hacks are needed to genesis block creators. It's definitely easier than the old way going back to 2013 where most guides have a simple hack to force genesis block creation with the mining code then making the asserts fail for the merkle root and genesis hash, then look in the debug log for it, then put it in and remove the hack to keep creating a genesis block.
So the code and especially nasa8x's node genesis block creator looks a little easier to work with, at least for me anyway, but GenesisH0 looks good too, if you're a Python wizard. We definitely need a neat new C++ genesis block creation tool to make it a lot faster than JS or Python.
That aside, assuming we are keeping Dash prefixes, change the ports for P2P and RPC, then try to recompile and see if it sorta checks out. Then of course miner code needs to be hacked to make a "new" PoW check out, say for example removing a few hashing algorithms for X11 or making it 3x keccak or something of that nature. Just something interesting to play with, and hack on the miner code in Dash.
So aside from genesis block, port numbers, optionally changing address prefixes, what to do with block times and when to readjust difficulty, what that means with DGW, and trying to integrate BIP34 if you want from the beginning, looking at whether you want the same coin supply and halving intervals, there's actually quite a bit of work to do forking DASH, especially if you aren't yet understanding Masternodes, confirmation times, whether it's reasonably easy and what the ramifications of changing confirmations would be (15 for MNs?) and rewards for MNs, plus what stake they have to have, and so on, it's harder than just cloning and adjusting a few bits and pieces from Bitcoin or Litecoin.
DASH is a much more interesting coin to clone though in my view. Harder but more rewarding in the end, and you might get the benefit of understanding a lot more about DASH and how it really works and perhaps contribute to the DASH project in future.
The developer guide is much better than others I've seen, but still it's inadequate for those new to coin/cryptocurrency development. It assumes too much, and there's no Mastering DASH or Programming DASH books out there to help along the way.