How did Valve build their real-time achievement engine in Team Fortress 2?
The complexity of achievements I've noticed while playing Team Fortress 2 on Steam is amazing.
Are there any resources that describe how they architected their achievement engine? There is a lot of data that has to be processed simultaneously and in real-time to detect a match for t开发者_如何学JAVAhe criteria of the achievements. I don't feel it uses familiar concepts such as 'Complex Event Processing'.
Its an interesting question. I couldn't find anything posted about it either.
But Values game are all verified via Steam/VAC so to a certain extent they can take more liberties with what they do on the client side. I would assume they do all the detection client side and just send the results up to the server.
None of the achievements I know of are too complex to cause any noticeable change in frame rate on a machine that is strong enough to play Team Fortess. Projectiles and other 'player created effects most likely all have a connection back to the player that created them, or the players achievement database to register all their data as soon as it is created.
精彩评论