eu comecei a fazer um, mais acabei desistindo por falta de tempo…
quando você chegar na parte do tempo, você vai ver várias pessoas falando sobre o cron…atualizar de 1 em 1 segundo etc…
só que há outras maneiras de se fazer…como…guardar a ultima atualização do servidor: 5:00h, quando qualquer usuário fizer uma requisição e a diferença for maior que 1segundo(questão de performance), você subtrai o horario da requisição com o horário da ultima atualização…
com o tempo em milissegundos, você realiza suas “formulinhas” e atualiza todas as tabelas do banco de todos os usuários: recursos, construções, ataques, pesquisas…
os combates são o “diferencial” do jogo, você tem que ter um bom algoritmo para fazer com que os jogadores tenham que usar estratégias, como quantidade de guerreiros de cada tipo para defesa/ataque, combate em equipe, defesa em equipe…etc… (essa parte é complexa pois se há muitos elementos que influenciam no ataque, quando o jogo fica com muitos jogadores com muitas tropas, o processamento pode ficar lento na hora H)
técnologias que você vai precisar aprender: Javascript, Jquery(ajax), Banco de dados, triggers e procedures,( html, css, menos importante). e alguma linguagem de escolha, PHP, Java, C#…
espero ter ajudado…