I was just thinking about Syndicate for some reason.
Great game(s), of course, but what struck me was how smartly Syndicate was abstracted. Anything that the game could represent in detail was featured at a low level, in terms of systems granularity and even physical proximity. Everything else was seen at just the right distance, concealing weaknesses in terms of mechanical variation or precision, animation fidelity, number of character models, etc.
Often, when starting a new project, we forget this and assume that everything in the game needs a very granular, close-up representation. There are so many great lessons in our favorite games.
I remember liking it, except 2 things which got to me: 1 – the violence. Oh, the irony, I know – but I thought it was immoral to simulate ordinary people in such a lethal environment. 2 – at one point, all the bad guys, who I needed to kill, hid behind a building. Then I lost interest at some point.