• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    해결됨

Game 클래스와 game 객체를 만드는 이유가 궁금합니다

20.12.26 11:27 작성 조회수 48

0

삭제된 글입니다

답변 2

·

답변을 작성해보세요.

3

정해진 답은 없기에 일단 돌아가면 장땡입니다만,
나중에 게임이 커지면 게임 로직뿐 아니라
다양한 부품들이 들어가게 됩니다.

예를 들어 네트워크 통신을 관리하는 부품,
로그를 찍는 부품, DB 연동하는 부품, 등등
많은 부품들이 같이 협업해서 돌아가게 됩니다.
게임 로직도 어떻게 보면 하나의 부품에 불과하기 때문에
이를 [Game]이라는 클래스를 빼준 것입니다.
지금 당장은 양이 많지 않으니 Program 자체를 게임 로직 관리자로 사용해도 무방하지만,
나중에 코드가 방대해지면 Program 내부에서는
이런 저런 부품들을 초기화하고 조립하는 역할만 해주는 것이 더 바람직합니다.

추가로 게임 로직을 [Game] 클래스로 빼주면
나중에 확장할 필요가 생길 때 더 유연하게 대처가 가능합니다.
LOL을 예로 들면 [일반 모드]와 [칼바람 나락] 모드 등 다양한 룰의 게임이 존재하는데
이런 경우 공용 코드를 Game으로 밀어넣고
상속을 받아서 각기 룰에 따른 구현을 나눈다거나, 하는 식의 구조가 가능하겠죠.

설계는 정해진 답이 없으니 지금 단계에서 그렇게 고민할 필요는 없습니다.
그냥 이것저것 하다 보면 언젠가 수정할 일이 생길 때 불편한 점도 생길 것이고,
그러면서 조금씩 본인만의 설계 스타일도 잡히게 됩니다.

0

ZIOMIN님의 프로필

ZIOMIN

질문자

2020.12.26

잘 알겠습니다. 감사합니다!!