Cross-platform game development. How to make a game for ever