Is it possible to add "memory" to a neural network? Suppose I have a NN with one hidden layer, 10 inputs and 5 outputs, intended to be used as a (for example) game-bot AI. Would it make any sense to add, say, 5 (insert any number here) more inputs and outputs, and directly link these outputs from a previous step to these additional inputs of the next?

I imagine it could work as a RAM of sorts, making it possible to "save" some data that the network finds useful and use it later, therefore enabling the network to make decision not only on the current situation, but also on whatever it may "remember". 

But maybe it's better to just hard-code these variables as actual variables and write only what the programmer decided to, such as "enemies killed", without the network being able to save whatever it finds useful?
Yes it is possible. 
Recurrent neural networks address this issue. They are networks with loops in them, allowing information to persist.These loops make recurrent neural networks seem kind of mysterious. However, if you think a bit more, it turns out that they aren’t all that different than a normal neural network. A recurrent neural network can be thought of as multiple copies of the same network, each passing a message to a successor. 



Visit
http://colah.github.io/posts/2015-08-Understanding-LSTMs/ 
: This blog explains Recurrent Neural Network(RNN) and LSTM from scratch and also discuss few examples where LSTM is preferred over RNN.