как сделать, чтобы он выводился точно также как записан в самом файле?
при yaml.load выводится как словарь
{'games': [{'id': 1, 'name': 'Ships in the ocean', 'date': datetime.date(2018, 2, 12)}, {'id': 5, 'name': 'ZOO Railroad', 'date': datetime.date(2018, 3, 30)}, {'id': 14, 'name': 'Octopus-destroyer', 'date': datetime.date(2018, 3, 18)}]}
При выводе в консоль надо его обратно в yaml переформатировать, или не парсить его вообще :)
YAML - это формат, предназначенный для написания человеком. После парсинга он превращается именно в то, что, что вы написали.