game development challenges