What is needed too, a minor niche thing perhaps, but important enough to mention again: a sandbox to test units against each other. This is important for mods that try to balance units (however that is going to be).
There are currently a few ways to do this, but all got drawbacks.
-Have a LAN. More than 1 computers connected, each running the game and plan a LAN battle. You can set each unit up how you like and see how it behaves with certain conditions. Drawback: need more computers, a larger electricity bill and probably also several software licenses. Not many people can do it, but it gives pretty good results.
-Online battles. A bit of the same story, but now you also have to rely on at least one other person and be able to explain what you want to test.
-A custom battle. You can control your own army, but the AI is in charge of the enemy. You want to see how a cavalry charges into an archer unit, but the AI skirmishes away. You want to see swords backstabbing a spearline, but the spears always rotate. You need only one computer and it would be great, if it wasn't for the AI.
The STW alpha demo had a trick (5 years ago), during a game you could ALT TAB to the AI army and control that army. Of course the AI also swapped and started to control your own army. The user should be able to control at least 2 armies in sandbox mode.
Another frustrating effect, not frustrating that it has an effect, on the contrary, is weather. During tests you have to adopt some standard, so you're not going to compare apples and bananas. Of course, you may also want to see how units perform under different conditions (how fast does this unit tire in a storm?). So the modder/interested user, also has to be able to set the weather. Right now it's random in all cases (except the adf/bdf trick, but that's very clumsy in this case).
This sandbox is valuable for modders, but it's also a good learning tool for anyone who wants to understand details about fights.
Bookmarks