Muds are a way of motivating programming and giving keen students scope to expand it in ways that interest them. You can start all of the way from input and print in Python through to OO just by expanding on the various bits of functionality you'd like to have in your mud. Most of what you can think to do you can do, which is just amazing. If you happen to be the kid that thinks of an NP complete problem is the thing that you want to solve where you're out of luck there.