Estou fazendo um jogo MMO e cheguei a um ponto em que preciso implementar conquistas ... Como faço isso? A coisa mais simples a fazer seria executar isso uma vez a cada 100ms:
for a in achievements
for p in players
if a.meetsRequirements(p) then p.completeAchievement(a)
Mas isso apenas levanta ainda mais complicações. Por exemplo, como verifico se a conquista foi realmente concluída? Os jogadores têm propriedades personalizadas em si mesmos apenas para uma conquista específica? Eu fiz esse tipo de coisa com missões, porque elas são principalmente "colecionam 100 lenha", e missões ativas em um jogador verificam isso. Além disso, deve haver um momento melhor para verificá-lo, isso diminuiria periodicamente meu servidor, eu acho.