You are asking the wrong people.
We can't define "fun" for your players any more than you can. Player X either finds something fun or does not, and trying to argue that his response "ought to" be something else is just silly.
So, if you want fun to be someplace, then you need to find out what your players consider fun and then put that in the place.
If using the rules is fun for Joe, then Joe will use the rules and so -- by repeated experience -- become well acquainted with them.
If using the rules is not fun for Joe, then trying to push that is probably just going to make the experience in sum less fun for him.
"How do I get my players to learn a command-line interface?" is an attitude that probably would get shot down pretty quickly in the modern computer-game world. If "point and click" is what people want, then either you deliver it or they move on to a game that does. If your game requires typing in codes, then you self-select for a player base that happens to like (or at least not mind) that kind of setup.
We can't define "fun" for your players any more than you can. Player X either finds something fun or does not, and trying to argue that his response "ought to" be something else is just silly.
So, if you want fun to be someplace, then you need to find out what your players consider fun and then put that in the place.
If using the rules is fun for Joe, then Joe will use the rules and so -- by repeated experience -- become well acquainted with them.
If using the rules is not fun for Joe, then trying to push that is probably just going to make the experience in sum less fun for him.
"How do I get my players to learn a command-line interface?" is an attitude that probably would get shot down pretty quickly in the modern computer-game world. If "point and click" is what people want, then either you deliver it or they move on to a game that does. If your game requires typing in codes, then you self-select for a player base that happens to like (or at least not mind) that kind of setup.