inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

TextRPG2 마무리

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

해결된 질문

102

KIYOMIN

작성한 질문수 17

0

삭제된 글입니다

C#

답변 2

3

Rookiss

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

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

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

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

0

KIYOMIN

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

Generic에 대한 질문 있습니다.

0

97

2

2022 버전에 커뮤니티 버전이 없는데 2026 버전으로 해도 무관?

0

203

2

다형성 캐시 문제

0

113

3

.

0

71

1

프로퍼티 강의 질문 있습니다.

0

79

1

이후 커리 질문

0

86

1

static

0

91

2

강의에는 새로운 클래스 파일을 생성하면...

0

72

1

생성자의 이름 선언

0

65

1

9:03 Divide(10 , 3) 부분 질문입니다

0

88

1

깃허브 관련 질문 있습니다.

0

239

1

비쥬얼 스튜디오 업데이트가 된건가요..? 매개변수 오류 관련 질문

0

249

1

C# 시리즈 || C++ 시리즈 자료구조 강의에 대한 질문입니다!

0

306

2

Activator 질문있습니다

0

332

1

이넘 타임 선언 질문

0

347

1

Sort 오름차순, 내림차순

0

323

1

질문 있습니다.

0

249

1

팩토리얼 문제

0

270

1

Sort함수 질문있습니다.

0

265

1

다형성 함수 질문 있습니다.

0

221

1

질문이 있습니다.

0

228

1

섹션2 연습문제 질문입니다.

0

214

1

안녕하세요~서버에 대해 질문이 있습니다.

1

283

1

텍스트 색깔이 제 편집기와 달라서 수강에 어려움이 있습니다ㅜㅜ

0

395

1