One of the most interesting parts of the project has been developing the networking simulation underneath it.
I wanted exercises where network behaviour wasn't simply predetermined text.
The system needed to understand enough networking logic for the outcome to emerge from the configuration.
Switches can learn MAC addresses.
Interfaces can belong to VLANs.
Links can operate as trunks.
Routers can make routing decisions.
Static and default routes can influence packet forwarding.
Administrative distance matters.
802.1Q subinterfaces can provide router-on-a-stick connectivity.
And deliberately broken configurations can create troubleshooting exercises.
That means a question can become something closer to a small engineering problem:
Here is the network. Here is what should happen. It isn't happening. Find out why.
That is much closer to how I want to learn.