인프런 커뮤니티 질문&답변

xodls5278님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part9: MMO 컨텐츠 구현 (DB연동 + 대형 구조 + 라이브 준비)

게임 구조 변경

mmo 와 pvp

22.09.06 02:30 작성

·

403

0

이번 강의를 통해 하나의 메인스레드와 여러가지 특정일들을 나누어 다른 스레드에서 담아놓고 효율적으로 사용할수있도록 변경이된것같은데요

 

저같은 경우 클래시로얄과 비슷한 인디게임을 먼저 제작중에있는데 제가 지금 생각하는 방향으로는 게임 입장 쓰레드 게임판정 쓰레드 그리고 각각의 룸마다 쓰레드를 재생성 하여 만들면되는것인지 혹시나 다른 방법이있을까 궁금하여 질문 드립니다.

 

아 한가지더 여쭤보고싶은것은 로비같은경우 게임과 무관하게 뽑기와 캐릭터 레벨업 같은경우 디비에 넣고 빼기를 하나의 트랜잭션으로만 사용하면 될거같은데요 이부분도 따로 쓰레드를 만들어 푸쉬와 같은 방식으로 해야할필요는 없는것같은데 맞을까요? 왜냐하면 트랜잭션 한번으로 모든데이터를 털어버리는 방식으로 다른 유저가 관여하지 못하게 하려고 합니다.

답변 2

0

xodls5278님의 프로필 이미지
xodls5278
질문자

2022. 09. 06. 18:21

감사합니다. 로비 부분은 웹으로 실시간 전투는 서버로 방을 파서 진행하거나 패킷에 방정보가 될만한것만 넣어서 따로 진행해도 무방할거같네요

이번 강의 듣고 mmo의 매력에 빠졌네여 다음에 게임 제작시 한번 도전해볼것같습니다 감사합니다.

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2022. 09. 06. 17:10

MMO는 거의 실시간으로 게임이 계속 진행되고 그 와중에 DB에도 저장해야 하니
모든 장르를 통틀어 설계가 가장 복잡하지만, 다른 장르라면 구현은 아주 많이 달라집니다.
가령 클래시 오브 클랜이나 클래시 로얄 등의 SNG 장르의 게임이라면
게임의 결과만 저장하면 되기 때문에 굳이 그렇게 복잡하게 DB 전용 쓰레드를 팔 필요는 없고
말씀대로 한 번에 다 털어버리면 그만입니다.
그리고 굳이 실시간 PvP 등의 컨텐츠가 없다면
굳이 게임서버를 붙이지 않고, 웹서버만으로도 충분한 경우가 많습니다.