Last semester I made a game for school that teaches the basics of hacking in the form of an old textbased game.
Had to make it easier by implementing multiple choice, but that can easily be turned of.
The goal is to hack into the administrator's computer of a network by obtaining its credentials. There are multiple ways/paths by which you can achieve this, some are faster than others.
The faster you do it the more points you receive, but oerforming certain actions will add seconds to your time (eg. cracking a password, which takes time) and by gattering additional info from the network for future attacks along the way will give you bonus points, so using the fastest method might not give you the highest possible score.
I might add some extra features such as a 'noise guage' which fills up faster if you make easily detectable (noisy) choices.
For example: a complete scan of all the ports on a device will fill the guage up quite a bit, while a precise scan of several ports that you know to be potentially vulnerable is way more silent.
It's not a complete 'guide' to hacking however since some steps are skipped, but it gives you an idea of how hacking works. Also the supposed network is as leaky and vulnerable as I could possibly make it and I sincerely hope that there is no such network in existence
To not have to hardcode the whole scenario (which would have been a real pain) I made an editor for it.
This means I can easily make new scenarios and I'm planning to make one that teaches the basics of setting up networks with Cisco routers and switches since everything I need for it is already in the game.
Here's a little demo of the game which showcases how it works: