I'm working on a game with confusing mechanics such as energy storage and the coolant temperature. What is the best way to get a new player learned quickly?
Don't make confusing mechanics. That may sound flippant, but strongly consider this. Just as you don't write overly confusing code, you should not write mechanics that are innately confusing.
The first step in getting players to learn quickly is to not confuse them in the first place. Find out what it is about your mechanics that they are finding confusing and fix that. Then, once you have a quality set of mechanics, you can start working on how to introduce players to your game.
in-game tutorials, which is somewhat difficult to program
Then you need to make a judgment call: do you want your game to be easy to write, or do you want it to be good?
Yes, making a real in-game tutorial is a pain. But that pain is the difference between forgettable games and the ones people actually want to play.
tips that will show in-game and after game over
I've never found this to be a useful strategy for teaching anything useful. It's like the teacher giving you a test on the first day, then every day after this they putting up a question from the test and explaining what the answer is. It might work to teach you something, but it still makes you feel stupid.
Asking someone to do something that you have not really prepared them to do can be read as rude by players. It's always better to introduce information up-front.
a reduced difficulty without the energy and coolant things
This is just me personally, but I don't like difficulty levels. The pacing of the game, the change from level to level, area to area, challenge to challenge, is the most important part of the game. That pacing changes when you just arbitrarily decide that skill level X will have fewer monsters or less mechanics or whatever. This makes the increase in challenge of the game over time less deliberate.
And worst of all, since you're clearly designing the game to play best at the normal difficulty level, the people playing at reduced difficulty are going to have a sub-optimal gaming experience. You can't just yank out mechanics and expect everything to play fine for them. Either the game is going to be too easy, too hard, or too inconsistent in its difficulty.