평소 메이플스토리에 관심이 많아서 작년에 메이플스토리의 리소스를 자유롭게 사용해서 게임을 만들 수 있는 프로젝트 MOD가 공개되었을 때 기대가 되었다. 그래서 베타테스트 신청을 하였지만 아쉽게도 당첨되지 않았다.
하지만 올해 9월 1일 메이플스토리 월드(MSW)라는 새로운 이름으로 정식 시범 서비스가 시작되어 누구나 사용할 수 있게 되어 MSW로 게임 프로젝트를 진행하기로 했다.
게임은 매직 서바이벌을 모티브로 하여 '메이플 서바이벌'이라는 게임을 제작하기로 했다.
사방에서 몰려오는 몬스터들을 처치하고 레벨업하는 방식의 게임이다.
Lobby - InGame(인스턴스맵) 구조로 만들기 위해 기본 맵 세팅 중 인스턴스맵을 사용한다.
횡스크롤맵으로 생성이 되었는데 매직 서바이벌류 게임을 위해서는 탑다운뷰가 필요하다.
맵을 우클릭해서 Switch To RectTileMap을 누르면 탑다운뷰맵으로 전환된다.
Lobby 맵과 InGame 맵을 RectTileMap으로 전환했다.
싱글플레이와 2인플레이를 지원할 계획인데, 매칭 UI는 1~5인으로 설정되어 있다.
MatchLogic 스크립트에서 minPlayerCnt와 maxPlayerCnt를 2로 수정했다.
UI를 일부 수정하고, 버튼을 복붙해서 싱글플레이 버튼을 만들었다.
단, 모양만 만든거라 실제로 작동하지는 않는다.
UIMatch 컴포넌트에서 singleButton 엔티티를 추가해서 지정해주고,
self._T.onClickSingleButton = self.singleButton:ConnectEvent(ButtonClickEvent, function() self:OnClickSingleBtn() end)
OnBeginPlay 함수에 한 줄을 추가했다.
self.singleButton:DisconnectEvent(ButtonClickEvent,self._T.onClickSingleButton)
OnEndPlay 함수에도 한 줄을 추가하고,
--Client
void OnClickSingleBtn()
{
local id = _UserService.LocalPlayer.Name
_MatchLogic:SinglePlay(id)
}
OnClickSingleBtn 함수도 추가했다.
--Server
void SinglePlay(string id)
{
local instanceMap = _InstanceMapService:GetOrCreateInstanceMap(self._T.instanceMapCnt)
self._T.instanceMapCnt = self._T.instanceMapCnt + 1
instanceMap:MoveUser(id)
}
MatchLogic 로직에 SinglePlay 함수를 추가했다.
실행해서 싱글플레이 버튼을 눌러보면 인스턴스 맵으로 정상적으로 이동되는 것을 확인할 수 있다.
'Game > MSW' 카테고리의 다른 글
메이플스토리 월드로 게임 만들기 - 6 (0) | 2022.10.27 |
---|---|
메이플스토리 월드로 게임 만들기 - 5 (0) | 2022.10.26 |
메이플스토리 월드로 게임 만들기 - 4 (0) | 2022.10.23 |
메이플스토리 월드로 게임 만들기 - 3 (4) | 2022.10.22 |
메이플스토리 월드로 게임 만들기 - 2 (0) | 2022.10.22 |