multiplayer – (web game) text-based combat system shows progress to client instead of give a report at the end

I am developing a text-based multiplayer-RPG using React and dotNet core. The fight logic is handled on server side. Basically what fight() does is:

  • a while loop that iterate 100 times; in each iteration the characters attack each other; actions are stored in a string list
  • a winner is determined either at the end of the while loop or one’s hp is below 0
  • write the fight result and rewards into database
  • send response back to client with the combat log (that string list)

This is what the fight() basically does. Players clicks fight and get the result and the report instantly. I would like to make the fight more engaging to the players by showing the fight’s progress in each round (and add time interval between rounds).

I don’t know how to achieve this. I would appreciate any ideas you share.

I could let the client side see a “replay” of the fight using the response from the server, but that’s not what I want. Maybe this is something other idle games are doing. I don’t know since I don’t have much experience of game developing.