Canabalt (2009)
Endless runners use procedural generation a lot, because it’s hard to make an endless game without it. The game that popularized endless runners is no exception.
Canabalt carefully calibrates the buildings it generates ahead of your runner so that every jump is possible, even if it isn’t always easy. Where some games have their generation tweaked for maximum challenge, it’s obvious that Canabalt instead optimizes for maximum flow, the mental state where you lose yourself in the task you are performing.
There’s an updated version available now on Steam and mobile, but the original one-button web game is still available.