Nim is ideal for games. It hits the right tradeoff between speed / safety / ergonomics. The last one is particularly important to me...a language can be as fast / safe as can be, but if i'm spending large chunks of my day waiting for my code to compile or fighting compile errors, there is a wide horizon of game ideas i won't get around trying. If you make games experimentally, anything getting you out of that flow is your enemy.
That said, i think it depends on the level of abstraction you want to work at. The "kitchen sink" game engines like Un(real/ity) are massive, and you are better off using the languages they are meant to use. But if you don't mind working at a lower level, nim is a great way to do so. I'm making [a library](https://github.com/paranim/paranim) that is just a thin wrapper on opengl, and i think that's the right abstraction for a nim game.