워크스페이스
폴더 형식의 리소스 관리공간이며 효율적인 게임 제작을 위해 필요함.
baseenviroment 모델과 스크립트등이 저장된곳
Mydesk 크리에이터가 만든 리소스를 보관
Defaultplayer 작업의 편의를 위해 제공

MOD는 야러몽이 협업해서 하나의 콘텐츠를 만들수있음.
그룹의 일원이 되어서 github처럼 그룹월드를 만들어 실시간으로 팀원들과 함께 개발 가능.

MOD포털 웹 접속하여 좌측 상단에 만들기 탭>그룹월드에서 그룹만들기 버튼>맴버들추가

그룹장

  • 그룹의 월드생성과 삭제 권한가짐
  • 그룹의 이름과 설명 바꾸기 가능
  • 월드에 혼자 남아있을때 월드에 mod파일 불러오거나 내보낼수 있음
  • 메이플 스토리 맵 불러 올 수 있음
  • 시작 맵을 변경 가능
  • 게임 출시 가능


멤버

  • 그룹에 초대받은 즉시 속하게 됨
  • 그룹장이 만든 월드에서 자유롭게 작업 가능
  • 그룹 임의 탈퇴 x





'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 9 -NEXON  (0) 2022.07.19
MOD project 8 -NEXON  (0) 2022.07.19
MOD project 6 -NEXON  (0) 2022.07.15
MOD project 5 -NEXON  (0) 2022.07.15
MOD project 4 -NEXON  (0) 2022.07.15
  • Script


Work space에있는 mydesk에서 새로운 script 생성 가능

local number=1
log(number) 여기서 number에 1
number = 10
log(number) 여긴 10

변수생성은 이런식으로 우리가 코딩하는것과 비슷한 프레임임


for count =1, 10 ,1 do
  log(count)
end

반복문은 이렇게 표현하게되는데 이 뜻은 1부터 10까지 1씩 증가한다는 것임


local sum=0
for count =1,10,1 do
  sum=sum+count
  log(count)
end
log(sum)

전체합을 구하는 코드는 이렇게 작성하게됨 우리가 하는 코딩과 대부분 비슷한듯..?

조건분기문


짝수일때만 더하는 반복문


Create logic

Logic은 한개만 존재한다는 특징을 가짐

Logic을 새로 만든후 가장 기본적인 세팅

Create component

Component 초기 코드도 logic코드와 동일
Function은 어떠한 기능들을 모아놓은것


Component에서 주기적으로 사용되는 함수들 첫번째는 시작될때 실행되는 함수 두번째는 끝날때 실행되는 함수 세번째는 계속 업데이트되는 함수임.


이렇게 property와 함수들을 동적으로 사용 가능함.

이렇게 되면 myentityposition에 이 컴포넌트가 속한 엔티티에있는 트랜스폼 컴포넌트의 포지션 값이 들어감

이런식으로 property조작을 하게되면 엔티티가 설정한 방향대로 이동하게됨. 이건 오른쪽 대각선 방향으로 0.5씩 좌표가 이동하는거임

Self.entity.transformcomponent.scale.x=2
Self.entity.transformcomponent.scale.y=2
이런식으로 엔티티의 크기도 조작할수있음

'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 8 -NEXON  (0) 2022.07.19
MOD project 7 -NEXON  (0) 2022.07.19
MOD project 5 -NEXON  (0) 2022.07.15
MOD project 4 -NEXON  (0) 2022.07.15
MOD project 3 -NEXON  (0) 2022.07.13
  • Component


한 오브젝트의 property에서 tweenlinecomponent를 통하여 object의 움직임을 제어할수있음
종료방식에서 one round trip으로 하면 설정한 위치만큼 이동했다가 다시 돌아오고 끝
Repeat round trip으로 설정하면 계속 반복적으로 이동함.
선형운동방식을 통하여 운동방식을 바꿀수있음
오브젝트를 움직이고 싶으면 tweenlinecomponent사용!!

Tweencircularcomponent
오브젝트를 회전시키게 만듬 회전 반경, 각도 속도 제어가능

Tweenfloatingcomponent
폭을 설정하여 오브젝트가 위아래로 운동할수있게 하는 componenent Rigidbodycomponent
object에게 중력과 같은 물리엔진을 설정해주는 component임 이 component가 존재하지않는 오브젝트들은 중력의 영향을 받지않아서 공중에 떠있음
원점 정보가 다름에 따라 이상한 위치까지 떨어질때도있음.
Isblockverticalline기능을 통하여 블록의 접근성 또한 제어 할 수 있음.
Quarter view기능을 통하여 화면상에 떠서 움직이게 할 수있음 가속도들도 설정 가능(광장같은 맵에서 사용하면 어울릴거같음) Movement component를 이용해 이동속도와 점프력을 제어할수있음. 이 component를 없애면 이동이 불가능함.

기존에있는 trap entity들은 triggercomponent(충돌을 제어하는 component)가 없음 그래서 이 trap에 triggercomponent를 설정해준뒤 work space에 있는 my desk에서 create script>create component를 만들어준뒤 myplayer라는 component를 만들어주고 이 곳에


이런식으로 충돌했을때의 이벤트를 설정해주면 됨.

이렇게 설정하면 사용자가 아까 triggercomponent를 설정해줬던 trap이랑 충돌했을경우 충돌이라는 이벤트가 발생됨.
이때 아까 myplayer이라는 component를 설정해줬었는데 이 component를 사용자에게 적용해줘야하기 때문에 Defaultplayer에 꼭 이 component를 적용해줘야함.


충돌이 발생했을때 log를 통하여 서버에 충돌이라는 문자가 뜨는게 아닌 사용자가 trap과 닿았을때 닿은 방향 반대방향으로 5만큼 밀려나게 하기 위해 아까 물리엔진을 제어해주는 component인 rigidbodycomponent를 사용하여줄수도있음.

아까 학습했던 tweenlinecomponent를 활용하여 움직이는 trap들도 만들수있을거같음. Player component를 이용하여 사용자의 체력과 닉네임을 제어해줄수있는데
이때 아까 만들었던 trap에 닿으면 체력이 100이 깍이도록 설정해줄수도있음

-100으로하면 물체와 충돌했을때 체력 100이 깍임

또 다른 playercontrollercomponent를 이용하여 왼쪽으로부터 trap과 부딪혔을때 오른쪽으로 5만큼 튕겨지게하고 오른쪽으로부터 부딪혔을때 왼쪽으로5만큼 튕겨지게할수도있음.
또한 이 component를 이용하여 고정방향을 설정해줄수도있음.

'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 7 -NEXON  (0) 2022.07.19
MOD project 6 -NEXON  (0) 2022.07.15
MOD project 4 -NEXON  (0) 2022.07.15
MOD project 3 -NEXON  (0) 2022.07.13
MOD project 2 -NEXON  (0) 2022.07.13
  • Tile

Scene maker에 있는 tileMap entity에 타일맵에 대한 property들이 있음.
Color
원하는 색상 배치가능
TilesetRUID
우측 아이콘 선택하면 sprite picker에서 원하는 타일 리소스들 있음
리소스들의 RUID복사를 통해 바꿀수도있음

  • FootHold


상단에 file>setting>만들기에 발판정보라는 정보 옵션이 있는데 클릭하면 맵안에서의 발판정보가 화면상으로 나옴
좌측에 foothold 옵션을 누르면 여러 entity들이 뜨는데 이런 entity들은 각자의 발판기능을 가지고있는 entity임 이 entity를 우클릭하게 되면 edit foothold옵션이 뜨는데 이걸 누르면 entity안에 발판기능이 어디에 적용되는지 알수있고 제어할수있음
Addpoint를 통하여 발판 포인트를 추가할수있음
디자인후 변경된 사항들을 저장하려면 entity 우클릭을하여 exit edit foothold를 통하여 저장가능.
Foothold entity의 property수정 창에서 customfootholdcomponent기능을 통하여서도 발판 기능을 수정할수있음.
TileMap property수정창에서도 foothold를 수정할수있으며 사용자와의 바닥 마찰력,속력도 제어가능.

Panels에서 maplayer을 활성화시켜서 maplayer창 보이게 가능
하나의 맵에는 최대 10개의 layer생성 가능 layer잠금 가능
Duplicate를 통해 layer복제 가능
만약 한 layer에 있는 object를 다른 layer로 옮기고 싶으면 그 object의 property에 있는 sortinglayer로 해당 object를 다른 layer로 바꿔주면됨.

'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 6 -NEXON  (0) 2022.07.15
MOD project 5 -NEXON  (0) 2022.07.15
MOD project 3 -NEXON  (0) 2022.07.13
MOD project 2 -NEXON  (0) 2022.07.13
MOD project 1 -NEXON  (0) 2022.07.13
  • Transformcomponent



거의 모든 entity에 사용함 월드상에서 entity들이 어디에 위치하는가를 나타냄 특수한 형태를 제외하고는 다 있음.
가장 큰 특징은 위치정보를 가지고있다.
Transform component의 Property들 중에는
Position 정보가있음 xyz 2차원이라 실제론 xy라고 봐도됌.
Scale은 크기를 나타냄.
Rotation은 회전값임 entity의 각도를 변경할수있음.
부모와 자식 구조를 이용하여 entity들의 디자인을 좀 더 쉽게 할 수 있음.
World position은 절대좌표이고 Position은 자식은 부모에 대한 상대 좌표임 부모 entity는 월드에 대한 상대좌표라고도 할 수 있을거같음.



  • Spriterenderercomponent


Entity에 어떤 이미지를 표시할까 결정해주는 것
SpriteRUID가 이미지를 뜻한다고 보면됌
예를들어서,
어떠한 빈 entity를 만들면 이미지가 없기때문에 그냥 버섯모양의 형태로 화면상에 뜨는데 이때 spriterenderercomponent를 넣어주고 그 안에 property인 spriteRUID에 나무 entity가 가지고있는 spriteRUID를 붙여넣으면 빈entity가 나무이미지로 나타남.
연속된 이미지또한 RUID가 있음
Playrate는 움직임이 있는 이미지라면 이미지의 속도임
Endframeindexstartframeindex를 설정하여 움직이는 이미지의 움직임을 제어할수있음
무슨소리냐하면 한 움직이는 이미지가 5개의 이미지가 반복되면서 하나의 움직이는 이미지가 된다고 치면 이때 startframeindex를 1로 endframeindex를 2로 한다면 1번과2번 이미지가 반복되면서 화면에 나타나게 되는것임.
Filpx flipy는 각각 x축y축으로 반전되는것을 뜻하는 property임 origin을 기준으로 반전됨.

Color은 entity에 색을 입히는 property
Drawmodetiled로 변환한후 tiled size를 조정하면 entity를 원하는 갯수만큼 중복하며 동시에 화면에 나타낼수있음
예를들어 drawmode를 tiled로 한 후 tiled size에서 x축을 3이라고하면 x축에 똑같은 entity가 기본 entity를 포함하여 도합 3개가 생김 1.5라고한다면 도합1개에 entity가 반이 잘리게 화면에 나타나게됨.





'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 6 -NEXON  (0) 2022.07.15
MOD project 5 -NEXON  (0) 2022.07.15
MOD project 4 -NEXON  (0) 2022.07.15
MOD project 2 -NEXON  (0) 2022.07.13
MOD project 1 -NEXON  (0) 2022.07.13
  • Entity


월드내에 구성을 하고있는 어떠한 것
오브젝트, 지형같은 형태들을 엔티티라고 함
최상위에 있는 월드 또한 entity로 칭함
각각의 entity들은 여러개의 component로 구성되어있음.
Scene maker패널에 모든 entity들이 다 나와있음
다 계층구조를 이루고있고 부모자식 형태로 이루어져있음(맵 디자인할때 유용할거같음)


  • Component


어떠한 가능 단위를 그 기능애 특화되게 만들어낸 형태이고 entity는 그 성격을 가지게됨.
Entity에 특정 기능을 가진 component를 추가하게되먼 entity가 그 성격을 가짐.
Porperty는 component내에 있는 조정하는 세부적인 값들이라고 보면 됨.
예를들어 portal의 이동할 위치를 설정해주려고 하면 portal의 component에서 portal entityref에서 어디로 이동할지 값을 바꿔주면 되는데 이때 portal entityref가 porperty라고 보면 됨.
Work space에 baseenvironment>Nativescript>MODcomponent에 여러 component기능들이 구현되어있음.
예시로 Nametagcomponent를 통해 오브젝트의 이름 표시 가능 이것 또한 porperty조작을 통해 폰트색 폰트 크기 등 변경 가능함.
개발자 페이지api에 상세히 나와있음



Logic과 service는 하나씩만 있음
Service는 재가공 불가능함
Logic 은 크리에이터가 직접 작업을 할 수 있음


  • Model

이미 규격화되어있는 것을 말함
특정 entity와 component의 집합체를 말함
이미 만들어진 entity를 모델로 만들수도있음
엔티티를 우클릭후 make original model로 모델 생성 가능.
생성된 모델들은 work space에 my desk에있음




'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 6 -NEXON  (0) 2022.07.15
MOD project 5 -NEXON  (0) 2022.07.15
MOD project 4 -NEXON  (0) 2022.07.15
MOD project 3 -NEXON  (0) 2022.07.13
MOD project 1 -NEXON  (0) 2022.07.13
  • Publish


게임출시 통해 다른사람과 같이 플레이 가능
최대 플레이어수,플레이 가능 여부,리메이크 허용 여부,플레이 가능 기기 및 이미지 첨부 가능


  • Revision



버전 기록 가능(백업 기능)
수정한 부분에 대해서 되돌리기 가능
특정 버전의 revision을 파일로 저장 가능


  • Setting


그래픽,사운드,언어 등 다양한 만들기 기능 사용 가능


  • Panels


Property, workspace, debug 등의 화면들을 원하는대로 화면에 도킹 가능
reset panel을 이용해 도킹이 없는 화면으로 돌아가기 가능


  • Window


Map list- 새로운 맵 만들기 가능,복제 삭제 가능
Maple story map- 메이플 스토리에 있던 모든 맵들 불러오기 가능
스크립트 관리자- 여러 옵션(player skill,player attack,UIpopup,UItoast)들 다운받아 사용 가능


  • Help


외부 링크 사용 가능
리소스 검색 가능


  • Tile


원하는 모양에 따라서 저절로 디자인 가능
원하는 지점에서 시작 가능



  • Object


기본적인 오브젝트들은 이미지 정도



  • Monster


몬스터들에게 데미지를 주고 공격을 해야하는건 따로 구현해야함
그저 움직임
단순한 몬스터의 움직임 상태만 있음


  • Npc


말풍선 기능 이름 설정 기능


  • Foothold


발판 기능이 있는 것들이 있음
Edit foothold기능을 통해 수정 가능
사다리와 로프 기능도 있음


  • Bgm


Bgm 설정가능



배경도 설정 가능


  • Scene maker


계층관계 구조 만들기 가능
오브젝트의 배치에 대해 관리 가능


  • Work space


오브젝트의 본문 모델이 추가됨
엔티티의 원본
파일 탐색기라고 생각하면 됨


  • Property


객체의 움직임 설정이 가능함
객체가 가진 수치들 뿐만 아니라 속성도 부여 가능
크기와 위치 설정 가능
Climbablecomponent기능을 통해 오브젝트를 사다리 처럼 탈수있게 구현 가능
Tweenlinecomponent기능을 통해 오브젝트의 움직임을 구현 할 수 있다


  • Map layer


한 레이어에는 한 종류의 타일 밖에 생성하지 못하기 때문에 새로운 layer을 생성하여 맵위에 다시 생성해야한다.
레이어간 순서 바꿈을 통해 화면에 비춰지는 모습 다르게 할수있음


  • Create scripts


Work space에 있는 mydesk를 우클릭 한 후 나오는 스크립트 추가를 누른후 create component 를 눌러서 스크립트 추가가 가능하다
이 create component를 누른후 나오는 화면에서
각각의 property를 추가해서 오브젝트를 클릭한 후에 add component를 통해 내가 썼던 property들을 적용 할 수 있다.


이런식으로 property +버튼 눌러서 적용 가능
Function을 통해 메소드 추가 가능


  • Sprite picker


객체가 가지고있는 속성은 그대로 하고 객체의 이미지만 바꾸고 싶다면 객체의 property에서 spriterenderercomponent 에서 spriteRUID를 통해 sprite picker로 들어가서 이미지를 변경 할수있음.
RUID값 복사해서 붙여넣어도 이미지만 변경 가능.
Panels에 UIresourecestorage를 통해 이미지 테두리 편집 가능





'NEXON_SUPER_HACKATHON' 카테고리의 다른 글

MOD project 6 -NEXON  (0) 2022.07.15
MOD project 5 -NEXON  (0) 2022.07.15
MOD project 4 -NEXON  (0) 2022.07.15
MOD project 3 -NEXON  (0) 2022.07.13
MOD project 2 -NEXON  (0) 2022.07.13

+ Recent posts