Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags
more
Archives
Today
Total
관리 메뉴

김쥬르에 개발일지

메이플스토리 월드 기본구성 본문

메이플스토리 월드

메이플스토리 월드 기본구성

김쥬르 2023. 12. 27. 15:52

안녕하세요 김쥬르입니다.

메이플스토리 월드는 직접 강의를 듣고

배운 내용을 복습하는 개념으로

포스팅이 될 예정입니다.

 

처음 사용하는 툴이고 동업자가 안구해진다면

UI같은 디자인적인 부분도 공부를 해야하기 때문에

개발 기간을 넉넉잡아 1년정도 보고있습니다.

즉 저의 2024년도 새해 첫 목표에 메이플스토리 월드가 들어간 셈이죠

 

그럼 서론은 뒤로하고 본격적으로

메이플스토리 월드를 알아보겠습니다.

 

메이플스토리 월드? 

넥슨에서 개발된 누구나 게임을 쉽게 개발할수 있는 툴입니다.

특징은 UNITY , UNREAL ENGINE 처럼

게임을 만드는 툴이기도 하지만 게임을 플레이할수도 있다는 점입니다.

그리고 이름에서 알 수 있듯이 메이플스토리와 관련된

이미지 , 사운드 , 맵 등을 기본적으로 제공해주어 게임에 필요한

디자인 , 기초적인 로직을 따로 만들 필요가 없다는 점입니다.

이말은 여러 분야에 전문성과 복잡한 설정없이 개발과 베포가 가능하다는것이죠

 

메이플스토리 월드 클라이언트

 

이곳이 홈 화면이며 게임을 플레이 하기 위한 화면입니다.

저희는 개발을 해야하니깐 좌측에 만들기를 눌러

프로젝트를 생성해봅시다.

 

 

만들기를 누르면 이러한 화면이 나오는데

개발중인 파일을 관리하는곳입니다.

우측 상단에 새로 만들기를 클릭해보겠습니다.

 

 

좌측 상단에 기본 과 꾸미기로 카테고리가 있는데요

꾸미기는 어느정도 기초셋팅이 되어있고 따로 코딩과 로직등이 들어가지 않기에

더욱 간편하게 만들수있지만 그만큼 자유도가 떨어지니 저희는 사용하지않겠습니다.

 

기본에

새로만들기는 아예 아무것도 없는 상태에서 제작하는것이고

기본은 어느정도 틀이 만들어진 상태에서 개발을 하는것입니다.

 

저희는 기본을 선택해서 만들겠습니다.

 

 

만들게되면 이러한 화면이 나오게됩니다.

이어서 화면 구성에 대해 살펴보겠습니다.

 

 

Scene

게임화면이 어떤식으로 구성될지 볼수 있는 미리보기입니다.

 

Hierarchy

계층이라뜻이 있고 프로젝트 구성이라고 생각하면되겠습니다.

maps는 맵이 여러개 있을수 있기에 맵을 묶어주는 역할을 합니다.

map01은 현재 Scene에서 보여지고 있는 맵 폴더에 이름입니다.

map01 아래에 있는것은 map01이 가지고있는 엔티티입니다.

이것이 맵에 구성되 있는 여러가지 요소들입니다.

 

 

Background : 화면 상에 배치된 배경

MapleMapLayer : 화면이 보여지는 순서

(타일을 배경보다 아래순서에 두면 배경이 타일을 가리듯이 이러한 순서를 말합니다.) 

TileMap : 화면 상에 배치된 타일(땅)

SpawnLocation : 플레이어가 소환되는 위치

 

이번엔 중앙 상단에 ▶를 눌러봅시다.

 

 

내 아바타가 SpawnLocation 위치에 맞춰 스폰이 되며

게임을 플레이할수 있게 됩니다.

방향키 ctrl alt 등등 버튼을 눌러 조작도 가능합니다.

 

Hierarchy를 보시면 엔티티가 추가된것을 볼수있습니다.

저희에 아바타가 해당 엔티티임을 알수있네요.

 

Present List

Scene으로 부를수 있는 엔티티 모음입니다.

종류도 몬스터 , 아이템 , 구조물 등등 다양한데요.

여기서 몬스터를 클릭해서 Scene으로 끌고 와봅시다.

그럼 해당 엔티티가 map01에 엔티티로 생성되는걸 확인할수있습니다.

 

여기서 실행 버튼을 눌러보겠습니다.

그러면 몬스터가 움직이는데요

메이플스토리 월드는 케릭터 행동 , 몬스터 행동 , 사다리 오르기 , 

타일 밟기 , 포탈 타기 등등 특성을 가진 엔티티의 모든 동작은

component 라는 것 때문입니다.

 

component는 property에서 쉽게 확인할수 있습니다.

 

PROPERTY

방금 소환했던 몬스터를 클릭해보면 Property에

해당 몬스터에 component 들을 볼수있습니다.

 

해당 Component들이 어떤 기능을 가지고있는지

더 자세히 알아보고싶은 경우 좌측 상단 메뉴바에서

Help -> Api Reference 를 클릭하면

메이플스토리 월드 홈페이지에서 제시해둔 가이드라인을

통해 여러가지 기능들의 사용법을 알수있습니다.

 

 

component중 AIWanderComponent에 체크를 해제 한 후 실행버튼을 눌러보겠습니다.

 

 

몬스터가 움직이지 않고 제자리에 있는걸 확인할수 있습니다.

이를 통해 component가 엔티티에 행동을 컨트롤한다는걸 확인할수 있었습니다.

 

개발함에 있어 엔티티 와 컴포넌트에 개념이 가장 중요하기에

확실히 개념을 이해하고 넘어가는것이 중요합니다.

 

property 에서는

component에 옵션을 조금씩 수정할수도 있습니다.

 

몬스터에 크기를 수정해봅시다.

TransfomComponent를 클릭해보겠습니다.

 

해당 component에 자세한 설명을 보고싶다면

우측 삼지창 -> open API Reference 를 누르시면 됩니다.

 

이제 Scale에 X Y 값을 2로 바꿔보겠습니다.

 

 

몬스터에 크기가 커졌네요

property에서 수정이 가능하단것도 확인을 해보았습니다.

 

WORKSPACE

엔티티를 만들기 위한 틀인 모델이 들어가는 공간입니다.

모델이란 붕어빵과 비유하자면

 

 

엔티티가 붕어빵이라면 모델은 붕어빵 틀입니다.

 

 

DefaultPlayer : Scene에 소환될 플레이어 Entity에 모델

앞서 실행했을때 저희에 아바타 엔티티가 원래는 없다가

실행이 되니 엔티티가 생성이 되는걸 확인했었죠?

실행시 DefaultPlayer에 담겨있는 특성들을 기준으로 엔티티를 만드는겁니다.

쉽게 말해 붕어빵틀 모양에 맞춰 같은 모양에 붕어빵을 찍어낸것이죠

 

DefaultPlayer를 클릭후 Property를 확인해보겠습니다.

그럼 플레이어에 Property다 보니

아까처럼 수많은 Component가 나오는걸 확인할수있습니다.

그렇다면 실행을 해볼까요?

SpawnLocation을 클릭후

아바타 엔티티를 클릭해보면 같은 Component를 가지고있는걸 볼수있습니다.

이를 통해 DefaultPlayer를 기반으로 생성된 엔티티라는걸 알수있었네요.

 

workspace에는 component가

코드에 형식으로 저장되있는 곳이기도 합니다.

 

BaseEnvironment에는 메이플스토리에서 미리 만들어놓은

모델과 스크립트가 있습니다.

사용할일은 많이 없으므로 각자 선택해서 확인해보시길 바라겠습니다.

 

저희가 봐야할것은 MyDesk입니다

월드에서 새로 만든 스크립트나 모델이 위치하게됩니다.

 

MyDesk를 열어보면 저희가 만들지 않은 파일들이 존재합니다.

이것들은 초기 월드를 만들때 기본으로 생성하였기에

메이플 월드에서 자체적으로 제공해준 파일들입니다.

 

이번엔 몬스터를 가지고 Wrokspace에 모델을 만들어

DefaultPlayer처럼 모델에서 엔티티를 생성해보겠습니다.

 

몬스터를 우클릭 한후

Create Model from Entity를 클릭해봅시다

 

 

해당 몬스터 엔티티를 기준으로 모델이 만들어진걸 확인할수 있습니다.

이제 이 모델을 기준으로 다시 몬스터를 만들고싶다면

기존에 있던 몬스터를 지우고 몬스터에 모델을 드래그 & 드랍하여

.생성할수 있게됩니다.

 

이러한 모델을 만들면 자동으로 몬스터 엔티티를 생성하여

화면에 뿌려주는 로직등을 구현할수있습니다.

 

다음 포스팅에는 코딩에 대해 살펴보겠습니다.

'메이플스토리 월드' 카테고리의 다른 글

메이플스토리 월드 코딩  (1) 2023.12.30
메이플스토리 월드  (0) 2023.12.25