분류 전체보기 91

KRAFTON - 체험형 인턴 직무테스트

두번째 도전이었다. 이번에도 결과는 불합이지만 배운게 많다. 시험은 서초 펍지에서 봤다. 라운지는 딱 봐도 배틀그라운드 회사구나 싶게 꾸며놔서 기다리는 동안 열심히 눈알 굴리면서 구경했다ㅎㅎ 사람들도 자유로워 보였고, 진짜 꿈에 그리던 IT회사 같았다. 좀 일찍 도착해서 근처 카페에서 준비해야지했는데 할리스 커피 문을 딱 여니 회사 1층이어서 너무 당황했다...ㅎ 다른 건물인 줄 알고 열었던거라 살짝 놀랐지만 일단 태연한 척 들어갔다ㅎㅎ 시험 보러 크래프톤으로 올라갈 때도 조금 헤맸다. 병원가는 엘베랑 사무실 엘베랑 따로 있는데, 게이트가 나뉘어져있어서..? 어리바리 했었고 시험 끝나고 나갈 때도 밖에서 열어줘야하는 줄 알고 가만히 기다리다가 직원분 오시고 여쭤봤는데 나갈 땐 자동이었다..ㅋㅋㅋㅋ 비도 ..

기타/대외활동 2023.10.14

RPG Project - Event

퀘스트를 구현하던 팀원이 넘겨줘서 몬스터 Die마다 monsterID를 넘겨주는 코드를 짜달라고 했는데, 내가 이벤트 핸들러를 구현해서 새로운 이벤트를 만들고 Invoke해야 하는 줄 알고.. 잘못 해갔다가 회의하면서 노션에 정리해둔 내용 보여줬는데 팀원이 당황했다...ㅎㅎ 그냥 구현되어 있는 Action에 매개변수만 넘기면 되는거였어서... 정말.. 바보였다... 다음부턴 커뮤니케이션을 잘 하기로 했고 덕분에 소통의 중요성을 깨달았다.. int MonsterID(object sender, EventArgs e) { if (this.CompareTag("Ork")) { monsterID = 2000; } else if (this.CompareTag("Golem")) { monsterID = 2005; }..

Metaverse/Unity 2023.09.16

Event

Win API 동작구조 WinMain() 함수를 통해 윈도우 응용 프로그램이 시작됨 사용자 입력 이벤트는 모두 메세지로 전환됨 윈도우 운영체제는 이벤트에 따른 메세지를 메세지 큐에 추가 메인 메세지 루프는 메세지 큐에서 메세지를 꺼내서 처리 (FIFO 구조) 윈도우 종료 메세지를 처리하면 메인 메세지 루프가 종료되고 응용 프로그램도 종료됨 C#에서 이벤트 작성 과정 이벤트 발생 시 처리해줄 메서드 작성 (이벤트 핸들러) 이벤트 핸들러의 형태와 일치하는 델리게이트 선언 (System.EventHandler 델리게이트를 사용하면 이 과정 생략됨) 이벤트 선언 (미리 정의된 이벤트인 경우 이 과정 생략됨) 이벤트에 이벤트 처리기 등록 이벤트 발생 이벤트와 대리자의 차이점 : 이벤트는 외부에서 직접 사용할 수 ..

Metaverse/Unity 2023.08.31

Mesh와 WireframeRendering

Mesh : 삼각형을 중심으로 물체에 관련된 정보를 기록한 데이터 삼각형을 이루는 각 점의 위치를 가지고 있어야 함 물체를 표현하는데 활용할 수 있는 색상이나 방향과 같은 다양한 부가 정보도 담아서 제공 위치 정보와 부가 정보를 묶은 특별한 점을 정점이라고 함 즉, 메시는 정점들이 모인 데이터 정점 버퍼와 인덱스 버퍼에 데이터 저장 ex) 정사각형을 구성하는 메시 정보 기준점 (0, 0) P0(-0.5, -0.5), P1(-0.5, 0.5), P2(0.5, 0.5), P3(0.5, -0.5) 정점 버퍼 순서 좌표 0 (-0.5, -0.5) 1 (-0.5, 0.5) 2 (0.5, 0.5) 3 (0.5, -0.5) 인덱스 버퍼 순서 삼각형 정점 순서 0 0 0 1 0 1 2 0 2 3 1 0 4 1 2 5 ..

게임 서버 - 관계형 데이터베이스와 NoSQL

관계형 데이터베이스의 부족한 점 기존 테이블에 레코드 1억 개가 이미 들어있다고 가정 필드 하나를 추가하면 데이터베이스 엔진은 기존에 있는 레코드 1억 개 전체에 필드를 추가해야 함 프로그램 구조가 복잡해질수록 테이블 구조도 변경, 유지보수하면서 점점 힘들어짐 데이터베이스의 수직분산과 수평분산 데이터베이스의 수직 분산: 여러 테이블을 각각 여러 데이터베이스 컴퓨터에 나눔 데이터베이스의 수평 분산: 테이블 하나가 레코드를 1억 개 가졌다고 가정하고 데이터베이스 컴퓨터가 100대 주어졌다면, 각 컴퓨터에 데이터베이스를 설치하고 1억을 100으로 나눈 수인 100만 개씩 레코드를 분배, 이렇게 수평으로 분산된 데이터베이스에서는 각 컴퓨터가 큰 테이블 1개를 조각조각 가진 셈으로, 이를 샤드라고 함 이 상태에서..

Metaverse/복습 2023.08.16

RPG Project 오류 일지 - Respawn

오브젝트 풀에 10개의 오브젝트를 할당해두고, 몬스터가 죽어도 전체 개수는 계속 10개로 유지하도록 구현했다. 구현하는 중에 오브젝트 풀을 Manager로 선언해서 싱글톤 패턴을 적용할까 싶었지만, Monster에만 관여하므로 굳이 싶었다.. (프리팹이 더 다양했으면 처음부터 Manager로 올렸을거다) 그래서 최대한 지금 상태에서 생각할 수 있는 방법을 적용하려고 머리를 굴렸다. 유니티 함수의 생명주기를 다 고려해보다가 죽은 몬스터의 인덱스를 찾는건 Update()가 가장 적절하다고 생각했고, 리스폰해주는 함수의 위치를 생각하는건 꽤 어려웠다.. 이 참에 생명 주기 함수를 모두 복습했고, 코루틴도 복습했지만 적절한 위치가 없었고, 코루틴은 메모리 낭비가 큰 것 같아 InvokeReapeating을 사용..

Metaverse/Unity 2023.08.15