TDD jest bardzo fajną metodą i wierz mi, Twoje problemy wynikają tylko z powodu Twojej nie znajomości testowania jednostkowego i bycia dość początkującym. Masz super pracodawców jeśli wymagają pisania testów i pracy w TDD.
Do rzeczy jednak.
Flow TDD pewnie znasz - czerwone, zielone, refactor.
W fazie czerwonej tworzysz klasę testową - GameServiceTest i piszesz jakiś test np. testItShouldReturnPlayer. Puszczasz test, czerwono, bo klasa nie istnieje, metoda nie istnieje. Tworzysz je więc a w metodzie piszesz tyle ile jest niezbędne żeby test przeszedł, może to być zwrócenie nowego obiektu Player, którego jeszcze np nie masz, więc go tworzysz. Puszczasz test, zielone. Teraz robisz refaktoring, czyli sprawiasz, by metoda miała niezbędną logikę, puszczasz test i ma być znów zielono. I tak w kółko.
Co do Mocków, chodzi o to, że jeśli klasa, którą testujesz ma zależności, to aby te zależności mockować, tj robić ich makiety. Jeśli klasa zależy od jakichś prostych DTO, struktur, które nie mają logiki, nie musisz ich mockować. W innym wypadku, tworzysz mocka i to jego przekazujesz jako zależność.