2

I’ve just started to learn Unreal Engine implementing a clone version of Atari’s Pong game.

I’m thinking about where to put the code to change the state of the game. I have an enum in the GameState class to manage when the game hasn’t started, or when we are playing the game. In case when someone scores I decided that I have to stop the ball and move it to its initial position.

My problem comes here because I don’t know where to put the code to do that: on GameMode class or on GameState class.

Where do I have to put that code?

Philipp
  • 119,250
  • 27
  • 256
  • 336
VansFannel
  • 200
  • 2
  • 14
  • It's related to networking. GameMode only exists in the server, GameState exists everywhere. – Rotem May 19 '21 at 12:13

1 Answers1

1

The GameMode is for storing the rules of the game.

GameState is for keeping track of the game statistics like score etc. In a pong type game, it would also keep track of whose turn it is to serve next.

GameState is the better place for what you're trying to do.

Stephen
  • 1,030
  • 5
  • 6
  • Thanks for your answer, but why? I think what happens after some makes a score is a game rule. – VansFannel May 19 '21 at 10:07
  • Sorry but I still don't understand your answer. I have to start the game on GameMode, because it has the method StartPlay, which is not present on GameState, and then continue the logic of the game on GameState. – VansFannel May 20 '21 at 14:31