오늘 대략적인 시스템과 명칭을 구상하였습니다.

다른 프로젝트가 개발이라 비교적 기획인 이 쪽으로 최근에 투자 하였습니다만.

기획이 어느정도 끝났으니 이제는 기능 별 마일스톤 나누고 기존 탑뷰 코드를 분석을 진행하고자 합니다.

확정은 아니지만 우선 캐릭터 선택, 필드 선택 등의 기능을 구현하여 큐브형 캐릭터를 조작하고, Dedicate Server를 구축한 뒤 게임 시스템을 구현하고자 합니다.

'폐기된 게시판 > UE5로 게임 개발' 카테고리의 다른 글

22년 08월 28일 개발일지  (0) 2022.08.28
22년 08월 21일 개발 일지  (0) 2022.08.22
22년 08월 20일 개발일지  (0) 2022.08.21

HOS의 특성과 장점, 단점을 정리하고, 이를 기반으로 제가 개발하고자 하는 게임의 기획서를 작성하기 시작했습니다.

전체적인 게임 시스템은 구상 했고, 스탯과  포지션, 직군을 고민하고 있는 단계입니다.

이를 나중에 결정을 할 수도 있지만, 가능하면 컨셉을 명확히 잡고 그 다음에 작업 우선순위를 잡아보고자 합니다.

 

기획... 어렵네요.

'폐기된 게시판 > UE5로 게임 개발' 카테고리의 다른 글

22년 08월 29일 개발일지  (0) 2022.08.30
22년 08월 21일 개발 일지  (0) 2022.08.22
22년 08월 20일 개발일지  (0) 2022.08.21

개발은 아니지만 작업사항이 있어서 적습니다.

 

가장 인기 있는 AOS인 League of Legend의 메타 분석글이나 가이드 글, 정리본을 읽고 게임의 특성을 정리하였습니다.

그리고 정리된 내용과 제가 LCK를 보면서 느낀 것을 바탕으로 이 게임이 재미 있는 이유를 분석하였고,

여기에 추가로 부족한 부분과 뭔가 취향에 맞지 않은 부분을 정리해 보았습니다.

 

당므에는 Heros of the Storm을, 그 다음에는 Dota를 분석하여 특징과 장점, 단점을 추가로 정리하고자 합니다.

그리고 나온 아이디어를 따로 하나의 문서로 정리하고, 다시 이를 기반으로 기획 문서를 작성하고자 합니다.

'폐기된 게시판 > UE5로 게임 개발' 카테고리의 다른 글

22년 08월 29일 개발일지  (0) 2022.08.30
22년 08월 28일 개발일지  (0) 2022.08.28
22년 08월 20일 개발일지  (0) 2022.08.21

언리얼 엔진 5로 개발하고자 하는 게임은 AOS게임입니다.

게임 기획적인 측면은 아직 명확히 정해진 바가 없습니다.

사실 평소에 AOS게임을 즐겨 하는 편이 아니기도 하구요.

하지만 AOS에서 이런 저런 요소를 넣으면 좀 색다르게 재밌을 것 같아서 시도를 하고자 합니다.

그런 만큼 빠른 프로토타입 제작을 지향합니다.

 

우선은 개발적으로 3인칭 튜토리얼 모드를 보고 공부를 하고, 미리 구조를 대략 구상하고자 합니다.

기획적으로는 LOL과 HOS를 분석하여 기능을 세밀하게 잡아볼 예정입니다.

이게 1차 과정입니다.

 

2차 과정은 제가 직접 모드를 만들어 다음 기능을 구현하고자 합니다.

  • 3인칭에 캐릭터에게 시점이 고정된 모드 재현
  • 좌표 클릭 시 로그와 함깨 케릭터가 이동

기획은 잡아놓은 기능에 우선순위를 나눠서 1차 프로토타입에 포함될 기능을 추려낼 예정입니다.

 

3차 과정은 프로토타입을 개발하는 단계가 될 것입니다.

이 프로젝트는 우선 Google Drive에서 기획서를 작성하고 기능 분석을 할 예정이며 역시 9월 8일까지 마무리 하는 것을 목표로 하고 있습니다.

'폐기된 게시판 > UE5로 게임 개발' 카테고리의 다른 글

22년 08월 29일 개발일지  (0) 2022.08.30
22년 08월 28일 개발일지  (0) 2022.08.28
22년 08월 21일 개발 일지  (0) 2022.08.22

간단하게 Twitch 로그인을 구현하기 위해 이것저것 찾아보았습니다.

처음에는 API를 다운받는 줄 알았는데 알고 보니까 Http Request를 보내면 되는 것 같더군요.

정확히는 Rest겠지만 문제 없을 것 같습니다.

이에 대해 SDK나 API를 검색해보다가 Unreal에서 지원을 하는 것을 확인했습니다.

 

우선 만들어볼 기능은 다음과 같습니다.

  • 버튼 클릭 시 Twitch 로그인 창 출력
  • 로그인 시 받아온 정보를 로그로 출력

이게 되면 그 뒤에는 스펙을 좀 더 명확히 하려 합니다.

 

욕심으로는 PC와 모바일로 분리를 하고 싶습니다.

하지만 생각해보니 모바일에서 되던 것을 굳이 PC에서 막아야 할 이유가 없었습니다.

확장이 되면 확장이 되었지 굳이 분리하지는 않는거죠.

그런데 이게 허가가 되면 모바일에서도 PC 컨텐츠를 제공해도 차이가 없는 것 같습니다.

 

결국 거창한 구조를 갈구했지만 현실보다 더 뒤떨어진 구상이었던 것 같습니다.

물론 더 큰 규모의 PC 게임에서는 의미가 있는 시도이긴 합니다.

공부라는 의미에서는 효율을 떠나서 해보는게 중요하기도 하죠.

 

문제는 어떻게 할지 결정을 못했다는 것입니다.

이래저래 고민이 됩니다만 우선은 Twitch에서의 로그인 창을 출력한 뒤 고민해보려 합니다.

약간 방향성도 미정인 것 같고...

플랫폼도 미정인 것 같고...

 

일단 확실히 해야 할건 꾸준히 할 것. 그리고 무리하지 않을 것. 이 두가지입니다.

회사를 다니면서 아직 적응 중인데 뭔가 다른 것을 하고 싶어서 개인 프로젝트를 진행하려 합니다.

 

목적

  • 언리얼 엔진의 프로젝트 구조를 이해하고 이를 직접 제작 할 수 있는 경험과 지식 터득
  • 데디케이트 서버 프로그래밍 경험
  • 외부 API를 직접 적용해보는 경험
  • 랜드스케이프 맵을 제작해보는 경험
  • 액션 어드벤쳐 게임 시스템을 제작해보는 경험
  • SNG 시스템을 제작해보는 경험

 

목표

  • 데디케이트 서버로 개발
  • 트위치 API로 로그인
  • 게임 서비스를 크게 두가지로 나뉘어서 제공. (액션 어드벤처 / SNG 및 전함 게임)

 

적고 보니까 규모가 크네요.

최종 목표는 게임 컨텐츠 개발을 밀도있게 하는 것이지만, 

결국 이것들이 되려면 로비나 접속 시스템을 우선적으로 해야 될 것 같습니다.

 

순서에 맞춰서 다시 적어보자면

Sorted 목표

트위치 API로 로그인 (~3월)

  • 최초 접속 시 메인 씬에 로그인 버튼 있음
    • 버튼 클릭 시 Twitch 계정 로그인 UI 출력되고 로그인 가능
  • 최초 접속이 아닐 시에는 바로 메인 씬으로 넘어감.
  • 접속한 플랫폼의 종류에 메인 씬에서 출력되는 버튼이 달라짐.

데디케이트 서버 개발 (~9월)

  • 메인 씬에서 UI 및 제공 기능 구상
  • 씬에서 버튼 클릭 시 씬 이동
  • 데디케이트 서버를 만들고 서버에서 세션 미리 생성함.
  • 매칭 방식을 구상하고 이를 구현 함.
  • 매칭이 되면 게임 씬을 넘어가면서 

게임 서비스 개발 (~ 21년 12월)

  • 추후 기능 지정.

대략 이렇게 될 것 같습니다.

굉장히 널럴하게 일정을 잡았지만 주말에만 잠깐씩 하는걸 생각하면 어떻게 될지 모르겠습니다.

가능하면 데디케이트 서버 개발까지 빠르고 간단하게 끝내고, 게임 개발에 시간과 노력을 최대한 투자해보겠습니다.

'폐기된 게시판 > 개인 프로젝트' 카테고리의 다른 글

21.02.28 개발일지  (0) 2021.02.28

오늘은 구현되어 있지 않던 접속 시 Player들의 정보를 UI에 적용하는 기능을 구현하였습니다.

 

아직 완벽히 기능이 연결된 것은 아니나, 하나하나 기능별 구현은 완료 된 상태입니다.

 

남은 것은 멀티플레이 환경에서 접속 시 정보 동기화 및 UI 적용 뿐입니다.

 

 

하지만 이와 동시에 애석하게도 본 프로젝트를 중단하려 합니다.

 

여러 이유가 있는데 첫번째로, 시간을 낭비한다는 느낌을 크게 받았습니다.

자주 쓰는 것은 아니라고 하지만, 전혀 익숙해지지 않아 의욕이 서질 않았습니다.

그래서 일주일에 두번 있는 개발 날마다 딴짓을 하면서 시간을 축이는 일이 많아졌습니다.

또한 유니티 자체를 이해하고 사용하는데 시간이 너무 많이 요구되어 개발이 더뎌지기도 했습니다.

 

두번째로, 주변에서 다들 유니티 개발보다 다른 공부를 추천하였습니다.

입사 지원서를 작성할 때, 제가 지키던 기준들이 있습니다.

1. 3D 게임을 개발하는 업무.

2. C++을 사용(자체 엔진 개발)하거나, Unreal을 사용하는 프로젝트.

3. PC Online, Package, Console 게임 개발을 하는 프로젝트.

 

하지만 시간이 지날수록 취업을 하지 못하고 점점 더 초조해지면서 이러한 기준들을 지워나가면서 지원을 하다가 

최근 4개월? 동안 Unity를 쓰는 회사에 면접을 보고 떨어지면서 Unity 실력을 더 올리는게 다양한 회사에 지원하기

좋겠다는 생각에 Unity 개발을 시작했습니다.

시작 하면서도 많은 걱정이 있었고, 최근까지도 걱정을 하였습니다.

알고리즘이나 통신과 같은 좀 더 기초적인 부분을 갈고 닦는 것이 더 좋지 않을까? 라는 생각을 멈출 수 없었습니다.

 

그러다 비교적 최근, 다른 개발자 분들에게 상황을 설명하는 기회를 갖게 되었습니다.

다들 하나같이 "Unity는 개발 환경이 좋다. 굳이 지금처럼 안해도 회사 가서 배우면서 일하는게 가능하다." 라던가, "Unreal을 쓰는 회사들이 비교적 더 규모가 있고 대우가 좋다. Unreal을 쓰는 회사를 목표로 하라" 라던가,
"Unity 할 시간에 차라리 알고리즘을 공부해서 기초를 닦아라" 라는 말들을 들었습니다.

 

이를 듣고 Unity 개발을 정지하게로 마음먹었습니다. 

비록 지금 당장은 손을 떼지만, 언젠가 기회가 되면 다시 이 일지에 글을 적으면서 개발을 해보겠습니다.

기존에 Unity를 개발하던 화요일, 금요일에는 대략 3가지를 나눠서 해볼까 싶습니다.

 

하나는 기존에 개발하던 Unreal 개발.

다른 하나는 CodeForce와 같은 사이트에서의 Algorithm 문제 풀이.

이는 시간을 정해놓고 푸는 Online Test와

시간 제한 없이 문제 해결을 통해 개발 방법을 익히는 Online Judge를 병행 할 생각입니다.

나머지 하나는 생각중입니다.

원래는 DirectX12를 익혀볼까 생각 했는데 서버 프로그래밍을 할까 잠깐 고민되기도 하여 확정짓지 못했습니다.

 

아마 화요일 낮에 아직 미정인 작업을 하고 일찍 마무리가 되면 오후에 Unreal 개발을 진행할 것 같습니다.

토요일는 Online Test 1번과 Online Judge 한 두번을 진행하고 남은 시간에 Unreal 개발을 할 것 같습니다.

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

20.04.28 개발일지 2  (0) 2020.04.28
20.04.28 개발일지  (0) 2020.04.28
20.04.24 개발일지  (0) 2020.04.24
20.04.21 개발일지  (0) 2020.04.21
20.04.17 개발일지  (0) 2020.04.17

개발일지를 하나 적고 코드를 다시 보다가 간과한 사실이 하나 있습니다.

 

read 할 때는 중간에 다른 변수를 거쳐 가도 된다는 점입니다. 

 

그냥 모든 Host와 Client가 Write는 자유롭게 하되,
Read에서 한번 걸러주면 될 것 같습니다.

 

예를 들어 {bool, List<PlayerInfo>} 구조체를 만들어서
true면 Player 추가로 기존의 PlayerInfoList보다 새로 받아온 PlayerInfoList의 길이가 더 길 경우에만 read를,
fasle면 Player가 제거로 기존의 PlayerInfoList보다 새로 받아온 PlayerInfoList의 길이가 더 짧을 경우에만 read를.

 

아니면 이 둘을 별도의 변수로 두어도 될 것 같습니다.

 

계획을 바꿔, 금요일에는 이 방식을 구현해보고자 합니다.

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

20.05.01 개발일지 - 일시정지  (0) 2020.05.01
20.04.28 개발일지  (0) 2020.04.28
20.04.24 개발일지  (0) 2020.04.24
20.04.21 개발일지  (0) 2020.04.21
20.04.17 개발일지  (0) 2020.04.17

요 몇일 컨디션이 안좋은거 버티면서 운동 하던게 한달만에 한꺼번에 반동이 와버렸습니다.

 

내리 2시간을 유니티 업데이트 후에 2시간 정도 뻗어버렸습니다..

 

그래서 충분히 개발까지 할 수 있을법한 시간에 대략적인 계획만 잡게 되었습니다.

 

문서를 읽어보면서 나온 내용을 종합해보자면

1. OnPhotonSerializeView에서 Stream이 Writing 중이면 통신을 보내고, Reading 중이면 통신을 받는다.

2. OnPhotonSerializeView는 Update와 같이 수시로 호출이 된다.

3. OnPhotonSerializeView는 PUN2 내부 스크립트에서 호출되는 함수다. 의도적으로 호출할 수 없다.

이 세가지입니다.

 

제가 구현해야 하는 기능은 "Player들의 PlayerInfoList의 동기화" 입니다.

여기서 주의해야 할 점은

1. 새로운 Player가 접속했을 경우, 기존에 Data를 가지고 있는 Player의 PlayerInfoList를 read 해야지
본인이 가지고 있는 것을 write 해서 기존의 Player들의 PlayerInfoList가 날라가면 안된다.

2. 반대로 Player가 방을 나갈 때는 해당 Player의 PlayerInfoList가 write 되어야 한다.

이 정도 될 것 같습니다.

 

지금 생각하는 구현 방식은 대략 두가지 정도입니다.

1. Player가 각자 관리하는 트리거를 둔다.
Host-Client 구분은 쉽게 될 것 같으니, 이를 통해 Client는 평소에는 write 하지 않고 read만 하도록 한다.
Host는 항상 write와 read를 열어 둔다.

Client의 주도로 List가 바뀌는 경우(ex. ready, logout)에는 해당 이벤트가 발생 시 호출하는 함수에서 트리거를 열어둔다.

열린 트리거는 write 하는 부분 마지막에 자동으로 잠궈두도록 한다.

 

2. RPC로 PlayerList를 관리한다.

OnJoinRoom 이벤트에서 RPC 함수를 통해 자신의 PlayerInfo를 전달한다.

Update 함수에서 전달 받은 PlayerInfo가 존재하는 경우, 이를 초기화하고 PlayerInfoList에 PlayerInfo를 적용한다.

이 중 Host는 다시 RPC를 함수를 통해 최신 버전의 PlayerInfo를 전달한다.

 

가능하면 금요일에 이 방법들을 구현해보고 싶으나, 아직 확신이 없습니다.

때문에 몇일 더 구현 방법을 고려해보고 그럴듯하다는 확신이 생기면 개발을 하고자 합니다.

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

20.05.01 개발일지 - 일시정지  (0) 2020.05.01
20.04.28 개발일지 2  (0) 2020.04.28
20.04.24 개발일지  (0) 2020.04.24
20.04.21 개발일지  (0) 2020.04.21
20.04.17 개발일지  (0) 2020.04.17

일지가 늦었습니다.

 

요 근래 기관지가 안좋았었는데 원인을 몇가지 꼽아보자면

 

1. 가습기 청소를 안함

2. 본체 청소를 안함

3. 방에 먼지가 쌓임

 

이 세가지 때문이었습니다.

 

이 중 1번은 한달 전쯔음에 청소를 하였고, 조만간 가습기를 넣을 시기라 해결.

 

2번은 한달 반 전에 했으니 해결.

 

이제 3번을 해결하기 위해 방 내부 인테리어 및 구조를 변경할 계획을 잡았습니다.

 

원래는 개발을 쉬는 날에 하는 것이 좋으나, 운동 시간도 고려하다보니 불가피하게 오늘 개발을 하지 못했습니다.

 

요즘 취업에 대한 발작성 감정 폭발로 많이 힘들었는데 비록 몸은 쉬지 못하지만 기분이 좀 풀렸으면 합니다.

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

20.04.28 개발일지 2  (0) 2020.04.28
20.04.28 개발일지  (0) 2020.04.28
20.04.21 개발일지  (0) 2020.04.21
20.04.17 개발일지  (0) 2020.04.17
20.04.14 개발일지  (0) 2020.04.14

+ Recent posts