분류 전체보기 50

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 4주차 회고 <Event와 컴포넌트 확장>

Event System의 구성 Event 기반은 기본적으로 "행동을 실행해야 할 주체"에서 행동을 관리한다. 즉, 행위가 일어난 주체에서는 행위가 일어났을 때 행동에 필요한 정보와 타이밍만 알려주고 뭘 해야 할지는 각각 행동을 실행해야 할 주체에서 결정. Event: 로직 상에서 어떤 사건의 발생을 의미 Handler: 해당 Event를 받았을 때 처리하는 행동의 주체 Sender:해당 Event를 발송하는 객체 Event System의 장단점 장점 다른 Component 나 기능단위에서 결합성이 떨어지므로 의존성을 배제할 수 있고 분산시스템이 용이. 행위에 대한 액션을 추가 하고 싶을 때 행위를 수행하는 곳을 수정 없이 편하게 추가할 수 있다. 다른 Component의 정보를 알 필요가 없다. 단점 어..

카테고리 없음 2022.07.26

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 4주차 회고 <네트워크의 이해>

서버와 클라이언트 MOD는 다양한 통신 모델 중에서도 서버 - 클라이언트 모델을 사용하고 있다. 서버 : 다수의 클라이언트가 연결된 단일 컴퓨터, 또는 해당 컴퓨터에서 돌아가는 프로그램 클라이언트 : 게임을 플레이하는 유저들의 모바일이나 PC, 또는 해당 기기에서 개별적으로 돌아가는 프로그램 서버와 클라이언트의 관계 특정 클라이언트로부터 정보를 받은 서버는 클라이언트에게 다시 정보를 보내주거나, 혹은 전송한 내용을 게임 진행 상황에 업데이트시키고, 업데이트된 내용을 다시 모든 클라이언트에게 전송함으로써 게임을 이용하는 모든 유저가 동일한 상황이 될 수 있도록 맞춰준다. MOD에서는 게임의 전반적인 로직과 시스템을 서버에서 구현하고, 클라이언트는 유저의 입력을 받아 서버로 전달하거나, 게임 진행 상황을 내..

카테고리 없음 2022.07.25

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 3주차 회고 <스크립트의 이해>

스크립트 에디터 오리엔테이션 스크립트 컴포넌트 추가 Workspace -> MyDesk -> 마우스 오른 클릭 -> Create Scripts -> Create Component 컴포넌트 생성 스크립트 에디터 실행 스크립트 작성 스크립트 컴포넌트가 실행될 때, "Hellow World"를 콘솔창에 출력. 작성한 스크립트 컴포넌트를 추가 Workspace -> DefaultPlayer -> Property -> Add Component -> 컴포넌트 클릭 콘솔 출력 결과 Lua 스크립트 문법 Lua 스크립트는 절차 지향(순차적인 구조)로 소스코드가 실행됨 log() : 콘솔창에 인자값을 출력 local : 변수 선언 키워드 ( local 변수명 = 초기화값 ) 반복문 for count = 1, 10, 1 ..

카테고리 없음 2022.07.21

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 3주차 회고 <자주 사용하는 컴포넌트>

Entity 구간 이동시키기 Tween Line Component 원점을 기준으로 목적지까지 선형 운동을 하게 만들 때 사용 목적지까지 편도, 왕복 운동 여부와 더불어 가/감속, 도달 시 튕김 등 운동 방식을 설정 가능 ( 각 컴포넌트에 속한 프로퍼티는 프로퍼티 클릭 시 조정하는 기능에 대한 설명이 표시된다 ! ) Tween Floating Component 엔티티를 제자리에서 떠다니는 듯한 움직을 만들 때 사용 엔티티의 원점을 기준으로 상할로 움직이며, 진폭과 사이클을 조정하여 이동 거리와 속도를 조절 ( 각 컴포넌트에 속한 프로퍼티는 프로퍼티 클릭 시 조정하는 기능에 대한 설명이 표시된다 ! ) Tween Circular Component 원점을 기준으로 원형 운동을 하게 만들 때 사용 회전 수, 속..

카테고리 없음 2022.07.20

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 2주차 회고

기본 커포넌트의 이해 좌표 이해하기 TransformComponent을 이해하기 위해서는 좌표 개념에 대해 알아야 한다. Scene에 배치한 엔티티는 좌표를 기반으로 '위치, 크기, 회전'을 조정할 수 있다. X,Y는 2차원 평면에서 위치와 크기를 결정한다. Z는 2D 화면으로 볼 때, 위치 상의 앞뒤를 의미한다. 회전이 Z축을 기준으로 움직인다. Transfrom Component position : 상대 좌표 | position의 x,y 값을 변경하여 위치를 바꿈 ! scale : 엔티티의 크기 | scale의 x,y 값을 변경하여 위치를 바꿈 ! | default == 1. 4를 입력하면 기존 1에 대비 4배 커짐 WorldPosition : 절대 좌표 ZRotation : 상대 회전값 | 반시계 ..

카테고리 없음 2022.07.17

[KMU SUMMER AI] 탐색적 데이터 분석, EDA

EDA란 ? 데이터 그 자체만으로부터 인사이트를 얻어내는 접근법 ! EDA의 Process 1. 분석의 목적과 변수 확인 분석의 목적을 정확히 데이터 타입이 분석하는 데에 적절한지 2. 데이터 전체적으로 살펴보기 데이터간의 상관관계는 없는지 데이터의 결측치는 없는지 데이터의 사이즈가 적절한지( 데이터의 사이즈가 너무 작은 경우) 3. 데이터의 개별 속성 파악하기 데이터의 속성이 적절히 매칭되어 있는지 EDA with Titanic Data 0. 라이브러리 준비 # 라이브러리 불러오기 import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns %matplotlib inline# 동일 경로에 "trai..

카테고리 없음 2022.07.17

[멋쟁이사자처럼 X 넥슨 MOD Suppoters Hackathon] 1주차 회고

멋쟁이사자처럼 10기로 활동 중 넥슨과 함께하는 MOD 서포터즈 해커톤에 참여하게 되었다. 게임 개발은 생소하고 접해보기 다소 힘들었는데, 이번 기회를 통해 게임 개발에관한 기초적인 지식 및 경험들을 얻고 싶다. 이를 기반으로 내 적성에 맞는지 판단해보고, 다른 분야들과 비교해보며 게임 개발 분야에 대한 나만의 시각을 갖는 것이 목표이다. MOD란? 넥슨에서 제공하는 메타버스 기반 게임 제작 프로그램 누구나 자유롭게 컨텐츠를 제작하는 플랫폼을 목표로 하는 신규 프로젝트이다. 메이플스토리를 포함한 그 외 IP 사용을 통해 어떤 클라이언트든 상관 없이 변형 게임을 제작할 수 있는 UCC 소프트웨어이다. 제작한 월드 관리 MOD 클라이언트에서 월드 목록으로 이동한 후, 월드 불러오기 / 출시 취소하기 / 월드..

카테고리 없음 2022.07.16

[KMU SUMMER AI] Matplotlib으로 데이터 시각화하기

I. Matplotlib 시작하기 파이썬의 데이터 시각화 라이브러리 matplotlib %maplotlib inline를 통해서 활성화 import numpy as np import pandas as pd import matplotlib.pyplot as plt %matplotlib inline Case Study with Arguments plt.plot([2,4,2,4,2]) # 실제 plotting을 하는 함수 y = x + 1 plt.show() # plt를 확인하는 명령 Figsize : figure(도면)의 크기 조절 plt.figure(figsize=(4,4)) # plotting을 할 도면을 선언 plt.plot([0,1,2,3,4]) plt.show() 2차함수 그래프 with plot(..

카테고리 없음 2022.07.16

[KMU SUMMER AI] 파이썬으로 데이터 주무르기, pandas

I. pandas 시작하기 PREREQUISITE : Table 행과 열을 이용해서 데이터를 저장하고 관리하는 자료구조(컨테이너) 주로 행은 개체, 열은 속성을 나타냄 Pandas 시작하기 import pandas를 통해서 진행( pd라는 alias 사용 ) import pandas as pd II. pandas로 1차원 데이터 다루기 - Series Series? 1-D labeled array 인덱스를 지정해줄 수 있음 s = pd.Series([1,4,9,16,26]) t = pd.Series({'one':1, 'two':2, 'three':3, 'four':4, 'five':5}) Series + Numpy Series는 ndarray와 유사하다 ! s[1] # 4 t[1] # 2 t[1:3] #..

카테고리 없음 2022.07.16

[KMU SUMMER AI] 파이썬의 컴퓨팅 라이브러리, numpy

I. Numpy 시작하기 Remind : 리스트 Python의 리스트 arr = [1, "two", 3.0] print(arr) numpy 모듈 불러오기 코드를 보다 편하게 쓰기 위해 np라는 alias 사용 import numpy as np 왜 numpy를 사용해야 할까 ? List의 경우 L = range(1000) %timeit [i**2 for i in L] The slowest run took 6.16 times longer than the fastest. This could mean that an intermediate result is being cached. 1000 loops, best of 3: 260 µs per loop numpy.array의 경우 N = np.arange(1000)..

카테고리 없음 2022.07.16