MSW(13)
-
[MSW] 부분적 싱글 플레이 게임 개발을 위한 공부
월드 인스턴스는 유저가 모두 이탈하면 파괴되는데,일정 시간이 지나면 더 이상 신규 유저를 받지 않음으로써 은퇴 준비를 한다. 유저는 은퇴 준비를 하지 않고 있는 월드 인스턴스 중 유저수가 가장 많은 곳으로 보내진다. 아래는 월드 인스턴스 중 하나이다. 룸서비스.RoomServiceRoomService는 인스턴스 룸을 생성, 파괴하거나 유저를 특정 인스턴스 룸으로 옮길 수 있다.인스턴스 룸 안에 있는 유저는 그 룸 안에 있는 맵 간 이동만 가능하다.정적맵으로 되돌아가려 한다면 반드시 RoomService를 통해 이루어져야 한다.다른 인스턴스 룸의 맵으로 직통 이동 또한 불가능하고, 정적 룸으로 돌아간 뒤 다시 인스턴스 룸으로 들어가야 한다. 룸끼리의 통신은 RoomService와 RoomSharedMem..
2024.08.02 -
[MSW] 개발 팁 모음
한 모델에 기본 컴포넌트와 확장 컴포넌트가 동시에 있으면 오작동할 가능성이 있다.
2023.01.05 -
[MSW] 메이플스토리 월드 알아두면 유용할 것들
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 엔티티 make child model 로 만든 차일드 모델과 오리지널 모델의 차이는 차일드 모델은 원본 오브젝트를 상속받게 되며 상속이라는 말에 걸맞게 원본 오브젝트에 컴포넌트가 추가되면 차일드 모델에도 동일하게 추가된다. 모델은 유니티의 프리팹 개념과도 유사하다. (차일드 모델 = 원본 프리팹에서 파생된 오브젝트) (오리지널 모델 = 오리지널 프리팹) 오리지널 모델이 아닌 차일드 모델은 독자적으로 자신의 컴포넌트를 제거할 수 없고, 오리지널 모델에서 지워야만 한다. (유니티의 프리팹과 마찬가지로 Revert, Apply가 있다.) self'.' 와 self':' 의 차이는 무언가를 지목하는 것과 무언가 호출하..
2022.12.04 -
[MSW] 메이플스토리 월드 UI 에디터의 이해
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 서버에는 UI엔티티가 존재하지 않기 때문에, UI는 무조건 클라에서만 동작한다. (서버는 ui개체에 접근할 수 없다.) (여기서 말하는 UI엔티티란, World 하위의 ui 하위에 있는 엔티티들이다.) 따라서 UI와 서버가 상호작용하기 위해서는 서버에 존재하는 엔티티와 UI 사이의 중매역할을 하는 무언가가 있어야 한다. Native모델에서 ui 개체를 씬에 끌어와 월드 상에 존재하는 ui엔티티를 생성할 수 있다. UI엔티티에 스프라이트를 넣으려면 SpriteGuiRenderer 컴포넌트의 imageRUID를 설정해줘야 한다. SpriteGUIRenderer 컴포넌트에는 preserveSprite 옵션이 있는데,..
2022.12.04 -
[MSW] 메이플스토리 월드 컴포넌트의 활용
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 입력 같은 기능이 있는 서비스에 직접 접근을 못하다보니 이벤트를 통해 처리한다. KeyDownEvent의 발생위치가 서비스일 경우에는 자동으로 이벤트 수신 위치가 service로 설정되어 있다. (이런 경우에는 대부분 따로 설정하지 않는 것이 좋다.) TouchEvent는 자주 사용되는 컴포넌트 중 하나이다. _EffectService:PlayEffect를 통해 스킬 이펙트 연출이 가능하다. _EffectService:PlayEffectAttached를 통해 엔티티를 따라다니는 이펙트 연출이 가능하다. 어떤 스킬 동작 중에는 (ex. 불릿타임) 다른 조작을 못하도록 막는 bool 인자가 필요할 것 같다. sel..
2022.11.15 -
[MSW] 메이플스토리 월드 Event의 이해와 컴포넌트 확장
※ 본 포스팅은 MSW 공식 디스코드 채널에 있는 개발 가이드 영상의 내용을 정리한 글입니다. 이벤트란 개체 간의 주고받는 것이라 할 수 있다. Native단의 Event모음이 있다. MyDesk에서 Create EventType을 통해 커스텀 이벤트를 만들 수 있다. 컴포넌트와 비슷하게 프라퍼티와 펑션이 있다. 만든 이벤트를 컴포넌트의 Entity Event Handler에서 가져다 쓸 수 있다. 또한 이벤트 정보 패킷? 자체를 변수처럼 이용 가능하다. 메월드의 이벤트는 엔티티 이벤트 시스템에 의해 동작한다. 엔티티 이벤트 시스템이란, 엔티티가 주축이 되어 이벤트를 받는 경비실이 되는 한편, 컴포넌트는 엔티티에 이벤트를 보내는 택배기사 역할을 한다. 엔티티에 이벤트가 도착하면, 엔티티는 자신에게 택배 ..
2022.11.11