Yeah,i am pretty familiar with OOP ,i know what self do in first argument but not in the second argument,thank you
Oh sorry, your first post was hard to understand.
self.tilemap.update(dt / 1000., self)
tilemap.update() takes 3 arguments, self(i.e tilemap), dt, and game. Second self indicates to 'game' instance, which tilemap is a member of. And since we're in scope of game class. we pass it as 'self'.