Games As Distributed Systems