Ele está funcionando bem, porém algumas vezes acontecem uns bugs que eu ainda não consegui solucionar. O mais comum (mas não tão comum assim) é um jogador vencer e o jogo dizer que deu empate. Uma outra coisa que está faltando é implementar a desconexão de um jogador do servidor, por enquanto quando isso acontece o servidor pode ficar instável e enviar mensagens erradas (além de "prender" o outro jogador no jogo).
Apesar disso, o jogo já está praticamente pronto e eu estou disponibilizando os binários pra quem quiser testar. O código-fonte, conforme combinado com o professor da disciplina, estará disponível em breve, assim que eu tiver um tempo para incluir uns comentários e deixá-lo mais legível.
Pra jogar, basta rodar o servidor.exe e depois dois ou mais cliente.exe. Um novo jogo é criado sempre que dois clientes se conectam, então se um número ímpar de clientes estiverem conectados, o último a entrar fica aguardando numa fila.
O jogo funciona localmente (com o IP loop back 127.0.0.1) ou em rede, bastando mudar o endereço no arquivo ip.txt (coloque o endereço da máquina onde o servidor está rodando). Se for jogar em rede, recomendo que desligue o seu Firewall caso o jogo apresente algum problema de conexão.
Por fim, o jogo foi desenvolvido no Visual C++ 2008 Express Edition (com Allegro e WinSocket) e pode ser necessário instalar o pacote de redistribuição do VC++ para jogar. Se for o caso, o instalador (de 1.7MB) pode ser encontrado aqui.
Para fazer o download e testar o jogo da velha, basta clicar aqui. Qualquer dúvida ou sugestão, falem nos comentários. Se encontrarem algum bug (além dos já comentados) não deixem de falar também.
P.S.: O carnaval da tela de jogo é culpa do David.
P.S.2: Agradecimentos à galera, tanto da faculdade quanto do MSN, que me ajudou a testar e encontrar os bugs no jogo.