오늘은 새로 기획한 구조대로 platform을 개선하였습니다.

 

우선 단순히 복사 붙여넣기를 했던 부분을 Prefab으로 변경하였습니다.

 

그리고 새로 사용할 스크립트들을 생성하고, 그 중 파일과 데이터를 관리하는 부분을 작성하였습니다.

 

유니티는 아직까지는 언리얼만큼 추진력이 있지도, 집중력이 있지도 않습니다.

 

좀 더 재미를 붙여봐야 할 것 같습니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.24 개발일지  (0) 2020.03.24
20.03.20 개발일지  (0) 2020.03.20
20.03.13 개발일지  (0) 2020.03.13
20.03.10 개발일지  (0) 2020.03.10
20.03.06 개발일지  (0) 2020.03.06

몇자 끄적이다가 구조가 머리속에서 제대로 잡히지 않아 개발 멈추고 구조 잡기부터 다시 했습니다.

 

언리얼 했던 것 믿은 것 반. 유니티 얕본 것 반.

 

대충 확립 할 수 있을 것이라는 근거 없는 자신감으로 임했다가 이 사단이 난 것 같습니다.

 

다시 구조를 잡으니까 더 좋은 방법들이 있었습니다.

 

Prefab이라던가, PlayerPrefs라던가.

 

변경사항을 간단히 정리하면 다음과 같습니다.

 

다시 정리가 된 만큼 큰 이슈 없이 기간 안에 기능이 구현되었으면 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.20 개발일지  (0) 2020.03.20
20.03.17 개발일지  (0) 2020.03.17
20.03.10 개발일지  (0) 2020.03.10
20.03.06 개발일지  (0) 2020.03.06
20.03.03 개발일지  (0) 2020.03.03

일이 도저히 잡히지 않아 오늘은 접었습니다.

 

취업준비를 하면서 가끔 이렇게 의욕이 바닥을 뚫고 지하까지 들어가는 경우가 있습니다.

 

아무래도 오늘이 그 날인 것 같습니다.

 

C++을 좋아하고, 언리얼을 좋아해서 이 두가지를 쓰는 쪽으로 공부를 해왔습니다.

 

그러다가 몇몇 회사에서 면접을 보러 오라 연락이 와서 면접을 보러 갔는데 전부 유니티를 요구했습니다.

 

유니티도 어느정도 공부해두는게 좋겠다고 생각하여 이 프로젝트를 시작하였습니다만.

 

의욕은 의욕대로 떨어지고 진행도 더디고 고민이 됩니다.

 

집중도 떨어지고 1년이 넘어가니까 조급해지기만 합니다.

 

유니티 프로젝트를 4월까지로 잡았는데 조금 더 여유를 가지고 진행할 것 같습니다.

 

부디 하루빨리 취직이 되었으면 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.17 개발일지  (0) 2020.03.17
20.03.13 개발일지  (0) 2020.03.13
20.03.06 개발일지  (0) 2020.03.06
20.03.03 개발일지  (0) 2020.03.03
20.02.28 개발일지  (0) 2020.02.28

저번에 거창하게 PUN2를 읽고 정리 한 다음에 뭔갈 하겠다고 했습니다만

 

막상 해보니까 많은 것을 요구하지는 않더군요.

 

막상 봐야 하는건 Room과 관련된 것들. Lobby와 관련된 것들.

 

그리고 RPC 부분이었습니다.

 

Room은 게임이 실제로 돌아가는 단위, Lobby는 그 이전 단계를 지칭하는데

 

제가 만드는 게임은 특성상 매치매이킹이나 여러 Room을 볼 수 있지는 않습니다.

 

오프라인에서 플레이어들이 직접 Room Name을 공유하고, 이를 직접 적어내야 Join이 가능합니다.

 

때문에 Lobby는 필요 없고, Room만 만들어서 작동하면 됩니다.

 

RPC도 개념은 알지만 어떤 함수를 어떻게 써야 하는지 몰랐는데 

 

한국어로 된 좋은 블로그 글을 찾아서 문제를 해결할 수 있었습니다.

 

https://photonkr.tistory.com/22?category=1030095

 

[PUN]RPC 알아보기

포톤은 여러 서비스를 제공합니다. Realtime, PUN 등등 그 중 PUN은 원격프로시저호출(Remote Procedure Call)을 지원합니다. * 프로시저(Procedure)란? - 루틴이나 서브루틴 및 함수와 같은 뜻 - 어떤 행동을 수..

photonkr.tistory.com

이를 통해 RPC를 이용한 Room 정보 변경도 가능할 것 같습니다.

 

몇가지 문제가 남긴 합니다만 애당초 PUN2는 테스트를 위해서 쓰는 라이브러리고, 

 

기능이 구현 되면 Bluetooth로 변경하는 과정이 있기 때문에 이쯤으로 만족 할 것 같습니다.

 

요즘 피로가 누적되었는지 몸이 골골해서 개발 시간이 점점 짧아지는 것 같습니다.

 

빨리 회복해서 더 많은 일을 소화했으면 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.13 개발일지  (0) 2020.03.13
20.03.10 개발일지  (0) 2020.03.10
20.03.03 개발일지  (0) 2020.03.03
20.02.28 개발일지  (0) 2020.02.28
02.20.25 개발일지  (0) 2020.02.25

씬에 따라 세션을 생성하고 참석하는 기능을 대략 구현하였습니다.

 

함수에 있는 로그 상으로는 문제가 없는 것 같은데, 정확히 되는지 안되는지 판단이 되질 않습니다.

 

이를 확인하려면 게임에 참가하면서 Active 되는 Session UI에 데이터가 찍히면 되는데, 

 

문제는 이를 하려면 Sync를 맞춰야 합니다.

 

이 부분에서부터 덩어리가 좀 큰 일이 되었습니다.

 

결국 지금 해야 할 일은 한 명의 클라이언트(혹은 호스트)가 전송한 정보를 다른 클라이언트(혹은 호스트)들이 받아서 화면에 출력을 해야 합니다.

 

근데 이 기능은 지금 뿐만 아니라 이후 게임 플레이에도 필요한 기능입니다.

 

그래서 조금 오랜 기간이 되겠지만, 잠시 개발을 멈추고 PUN2 문서를 보고 정리를 좀 해보고자 합니다.

 

당분간은 개발일지라고 하나, 이 라이브러리 내용이 올라올 것 같습니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.10 개발일지  (0) 2020.03.10
20.03.06 개발일지  (0) 2020.03.06
20.02.28 개발일지  (0) 2020.02.28
02.20.25 개발일지  (0) 2020.02.25
20.02.21 개발일지  (0) 2020.02.21

오늘 몸이 많이 다운 되어서 많이 못했습니다.

환절기 때 원래 몸이 자주 아프기도 한데 다이어트도 하고

일주일에 두번 오버워치 리그 보느라 새벽에 일어나다 보니까 몸에 피로가 잘 쌓이는 것 같습니다.

그래도 다행인건 감기 기운은 아직 없는 것 같네요.

 

PUN2 Document를 좀 보고 튜토리얼을 찾다가 괜찮은 튜토리얼이 있어서 따라해보았습니다.

 

과정도 간단하고 해서 잘 넘어갈 줄 알았는데 빌드를 하고 실행 파일을 돌려 보니까 화면이 출력되지 않네요.

 

게다가 로그가 어디 찍히는지도 몰라서 여러모로 낭패였습니다.

 

다음에는 우선 이 빌드 시 정상 출력과 로그 보는 방법을 먼저 확인해서 화면 출력을 하고, 

 

PUN2 코드가 잘 동작 하는지 확인해 보려 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.06 개발일지  (0) 2020.03.06
20.03.03 개발일지  (0) 2020.03.03
02.20.25 개발일지  (0) 2020.02.25
20.02.21 개발일지  (0) 2020.02.21
20.02.18 개발일지  (0) 2020.02.18

오늘은 Json으로 만든 임시 데이터 파일을 게임 시작 할 때 읽어오고, 게임 종료할 때 저장하는 기능을 구현하였습니다.

 

저번 개발 일지에서 두가지를 적었습니다.

 

하나는 아바타 정보를 index로 가지고 있는 것. 다른 하나는 DataManager가 함수만 제공하도록 한다는 것.

 

이 중 한가지만 적용이 되었습니다.

 

아바타 정보를 index로 가지고 있는 것은 여러모로 편리했습니다.

 

코드상으로도 좀 더 직관적이라 적절한 조치였다고 생각합니다.

 

하지만 이 방식대로 하면 DataManager가 데이터를 가지고 있지 않으면 값이 바뀔 때마다 UI를 들락날락 해야 했습니다.

 

그리고 처음 게임이 켜졌을 때 초기화 순서를 확실히 몰라 NullReferenceException이 자주 발생했습니다.

 

그래서 DataManager가 모든 데이터를 가지고 있도록 하였습니다.

 

다만 UI에서 값이 바뀔 때의 Index는 각 컴포넌트에 부착된 스크립트들이 가지고 있다가, 게임을 종료 할 때 MainMenuController가 모아서 DataManager의 SaveData 함수를 호출하면서 값을 저장합니다.

 

이 외에 한가지 작업이 이루어졌습니다.

 

바로 일괄적으로 적용되던 UpdateList를 하위 클래스로 분할하여 적용하였습니다.

 

그 이유는 Json 파일을 읽어오는 과정에서 필요한 타입만 다르지 작업 자체는 반복적이라 generic으로 함수를 지정했기 때문입니다.

 

그 결과 UpdateList에서 자신이 붙어있는 컴포넌트에 해당하는 Data를 DataManager에서 가져오는 방법을 찾을 수 없었습니다.

 

그래서 컴포넌트 별로 별도의 UpdateList의 하위 클래스를 붙이고, 이벤트 함수를 override 하여 그 내부에서 데이터를 따로 받아오도록 하였습니다.

 

마지막으로 테스트를 위한 멀티플레이 개발은 무료 에셋인 Photon Unity Networking 2(PUN2)를 사용하기로 결정하였습니다.

 

이를 이용해 최대한 함수를 wrapping하여 인터넷 상으로 P2P 방식을 통해 멀티플레이를 하도록 할 예정입니다.

 

이후에는 UI 개선과 이미지와 슬라이더 기능 추가, 견본 이미지를 통한 아바타 생성을 할 예정입니다.

 

여기까지 마무리가 된다면 그 이후에는 한숨 돌리며 게임 개발을 할 수 있을 것 같습니다.

 

개인적으로 게임 장르 별 공용 함수를 최대한 제작하고, 이를 이용할 계획입니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.03.03 개발일지  (0) 2020.03.03
20.02.28 개발일지  (0) 2020.02.28
20.02.21 개발일지  (0) 2020.02.21
20.02.18 개발일지  (0) 2020.02.18
20.02.14 개발일지  (0) 2020.02.14

오늘은 Json 파일로의 저장 및 불러오기 기능을 개발하였습니다.

 

바닥 짚고 헤엄 치는 것 마냥 조금씩 개발을 하다가 디버그 하는 도중에 피곤하여 마무리 하였습니다.

 

몇가지 수정사항이 있다면, 유저가 이전에 아바타를 어떤 모양으로 지정 했었는지 저장 하는데, 이 파일이 각 컴포넌트의 이름을 가지고 있습니다.

 

이를 각 컴포넌트의 index를 가지고 있도록 하고자 합니다.

 

또한 기능 자체를 집중하다 보니까 UpdateList가 가지고 있어야 할 것을 DataManager가 가지고 있는 등 몇 가지 충돌이 일어났습니다.

 

DataManager는 순수하게 함수만 제공을 하고, 각 UI 스크립트가 데이터를 소지 하도록 수정하고자 합니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.02.28 개발일지  (0) 2020.02.28
02.20.25 개발일지  (0) 2020.02.25
20.02.18 개발일지  (0) 2020.02.18
20.02.14 개발일지  (0) 2020.02.14
20.02.11 개발일지  (0) 2020.02.11

한 일주일 전까지만 해도 "이거 계속 해야 되나 너무 힘든데" 싶었는데

 

역시 사람이 간사한게 언리얼 막히고 유니티 조금 풀리니까 금세 재미가 붙어버렸습니다.

 

오늘은 MainMenu에 필요한 스크립트들을 모두 선언하고, 작동이 되는 것을 확인했습니다.

 

남은 것은 텍스트 파일을 읽어서 리스트를 받아오고, 이미지를 붙여 아바타 이미지를 완성하는 것입니다.

 

텍스트 파일을 읽는 것은 나중에는 DB로 대체가 되겠지만 우선은 텍스트 파일에 XML이나 JSON으로 포맷을 잡으려 합니다.

 

필요한 데이터는 간단하게 파일 명, 파일 경로이기에 큰 문제는 없을 것 같습니다.

이미지는 대략 형태만 잡아 놓고 나중에 완성이 다 되어갈때 쯤 적용을 해볼 예정입니다.

 

캐릭터 형태는 얼굴 모양으로 비어 있는 이미지를 두고, 배경색을 바꾸면서 피부색을 변경 할 예정입니다.

 

그리고 배경이 투명한 머리, 눈, 코, 입 이미지를 overlay 하면서 아바타를 생성하고자 합니다.

 

금요일에는 테스트 파일을 읽고 가져오는 기능을 적용하고자 합니다.

 

그리고 시간이 남으면 Unity에서 P2P 방식으로 통신하는 방식을 찾아보고자 합니다.

 

 

'폐기된 게시판 > MBGC' 카테고리의 다른 글

02.20.25 개발일지  (0) 2020.02.25
20.02.21 개발일지  (0) 2020.02.21
20.02.14 개발일지  (0) 2020.02.14
20.02.11 개발일지  (0) 2020.02.11
20.02.07 개발일지  (0) 2020.02.07

오늘도 상태가 안좋아서 좀 졸았는데 다행히 뭔가 진행이 되면서 조금 풀린다는 느낌을 받았습니다.

 

오늘은 간단하게 버튼에 Panel 변경 이벤트를 붙이고, 플랫폼상에서 필요로 하는 UI 대부분을 생성하였습니다.

 

이전에 Panel 변경이 잘 되지 않았는데, 이는 변경 방식의 문제가 아니라 Panel을 찾는 탐색 방식이 잘못되어서였습니다.

 

계층 구조를 가지고 있으면 부모 개체에서 탐색을 해야 되더군요.

 

Panel 변경을 하고, 필요한 UI를 생성 한 뒤에는 스크립트 구조에 대해 조금 고민을 했습니다.

 

FindSession을 제외하고, MainMenu와 Session 부분에서 공통적으로 요구되는 기능이 있었습니다.

 

하나는 파일을 읽는 것. 다른 하나는 버튼에 따라 이벤트가 여러 개 발생하는 것입니다.

 

공통적으로 이 둘은 Script가 다른 Script의 함수를 가져다 쓰거나, 다른 Script의 변수 값을 변경 할 수 있어야 합니다.

 

때문에 이 부분을 다음 주 화요일에 찾아볼 계획입니다.

 

또한 현재의 화면 전환 방식도 고민이 되는 점입니다.

 

현재는 Panel을 미리 생성해두고, 필요로 하는 Panel만 Active 하는 방식을 채택하고 있습니다.

 

때문에 멀티플레이가 될 시, 이 또한 최소 다른 Script의 함수를 호출할 수 있어야 합니다.

 

그렇지 않다면 Editor상에서 만든 UI를 Inactive 해놓은 뒤, 버튼 이벤트 발생 때 한번 생성을 하는 방식을 채택해야 합니다.

 

최악의 경우, Script에서 UI 생성을 모두 완수해야 할 것입니다.

 

때문에 이러한 Editor에서 생성한 UI를 Script에서 runtime 상에 생성하는 방법도 찾아보려 합니다.

 

이 두 문제가 해결이 되고 구현이 완료가 되면, 그 뒤는 블루투스를 이용한 멀티플레이 기능으로 넘어갑니다.

 

우선 라이브러리를 결정하고, 그에 따라 테스트 방식에 차이가 있을 것 같습니다.

'폐기된 게시판 > MBGC' 카테고리의 다른 글

20.02.21 개발일지  (0) 2020.02.21
20.02.18 개발일지  (0) 2020.02.18
20.02.11 개발일지  (0) 2020.02.11
20.02.07 개발일지  (0) 2020.02.07
20.02.04 개발일지  (0) 2020.02.04

+ Recent posts