Dois na mesma sala
O MushRog ficou online. Uma pessoa hospeda a sala pelo menu, até três entram pelo IP, e todo mundo enfrenta a mesma Salamandra. Quando alguém faz uma Sobrecarga, os outros veem a explosão e o nome dela no canto da tela.
Por quê
A fase 1 existe para responder uma pergunta: a simulação de combate que fizemos offline aguenta virar autoridade de servidor sem mudar? Aguentou. O código que decide dano, reação, troca e esquiva é exatamente o mesmo, e só mudou quem chama ele.
Como funciona
O servidor roda a simulação a 20 ticks por segundo. Os jogadores mandam só intenção (andar para lá, usar a skill 2, trocar), e o servidor confere alcance, recarga e mana e devolve o estado da sala e os eventos daquele tick. O cliente não simula nada online: guarda um espelho do estado e desenha, interpolando posições entre um tick e outro para não ficar travado.
Dá para hospedar e jogar no mesmo processo, ou subir um servidor sem tela para os outros entrarem. O menu tem as três opções: sozinho, hospedar, entrar.
O chefe ganha vida conforme entra gente: 1,7 vez para dois, 2,4 para três, 3 para quatro. A sala reinicia sozinha alguns segundos depois de vitória ou derrota.
Para testar, colocamos dois bots sem tela no servidor, andando, soltando Faísca e conferindo que um vê o outro. Esse teste roda junto com os outros a cada mudança.
Ainda falta login, criação de personagem e a cidade. Por enquanto cada um entra com o time padrão de Mago e Guerreiro.
Próximo passo
Login e criação de personagem, para cada um entrar com o próprio time.
Mudanças
- feat(client,net): online rooms for up to 4 players
Menu with solo, host-and-play and join. Listen host plays as p1; the room resets a few seconds after win or wipe; boss HP scales with the number of players. Client mirrors server state, interpolates between snapshots, renders every team with name and HP, and animates casts from a new cast event. tools/net_test.sh runs a dedicated server with two headless bots. Version 0.0.2.