Pojedynek pojedynkowi nie równy, bo jeżeli wszystko opiera się o kliknięcie przycisku atakuj i dostajemy rezultat walki to łatwo coś takiego zaimplementować w PHP-ie.
Jeżeli w pojedynku mają być jakiekolwiek interakcje to już przyda się serwer WebSocket, aby mógł je obsłużyć i poinformować drugą osobę o jakimś ruchu przeciwnika bez odświeżania strony. A tak dokładniej chodzi o to, żeby serwer mógł poinformować o czymś przeglądarkę.
Taki serwer WebSocket możesz stworzyć w wielu językach. Jednym z popularniejszych jest oczywiście JavaScript, a tak dokładniej to Node.js (i to niego polecam). W PHP-ie też można taki serwer stworzyć: Ratchet, ale nigdy nie korzystałem, więc nie powiem jak to działa i czy się opłaca. To od strony serwera.
Jeżeli chodzi o użytkownika/przeglądarkę to musisz WebSocket-y obsłużyć JavaScriptem.