🐧. Today
기획 3일차.
대강 전체적인 그림이 그려졌다. 아직 세부적인 내용들을 정리해야 하지만 전체적으로 어떤 흐름으로 진행될지 그려질 정도까지는 끝마쳤다. 오늘은 클라이언트 시니어 개발자님과 1:1 면담이 있었다. 30분이라는 시간 밖에 주어지지 않았지만 그래도 나름 알차게 질문을 준비해서인지 정말 도움 되는 면담이었다.
- 멀티 플레이 구현에 대한 우려
- 동기화 문제가 있을 수 있기 때문에 클라이언트와 같이 체크할 필요가 있다.
- 모바일로 출시할 예정인데, 지금까지 구상한 내용을 기반으로 만들어졌을 때 기기가 받쳐줄 수 있을까요?
- [멘토님] 모바일로는 조금 위험하기는 하다.
- 어떤 부분에서 위험하다는 의미이신지
- 8주 안에 가능할지 의문
- 기한 내에 끝낼 수 있을 것에 대한 것인지?
- [멘토님] 기한도 그렇고, 멀티를 적용하면 변수가 많이 생길 것이다. 이 변수들에 대처만 하다가 끝나버릴 수도 있다.
- 기한 내에 끝낼 수 있을 것에 대한 것인지?
- 8주 안에 가능할지 의문
- 어떤 부분에서 위험하다는 의미이신지
- [멘토님] 모바일로는 조금 위험하기는 하다.
- 3D 활용해서 2.5D로 보여주려고 합니다. 전투에서 건물이 파괴되는 이벤트를 구현하고 싶은데, 그것도 모바일 기기에서 버텨낼 수 있을까요?
- [멘토님] 최적화 부분을 얘기하시는 건가요?
- 건물이 파괴되고 잔해들을 무작위로 배치하려고 구상 중인데, 모든 유저들이 문제 없이 지나다닐 수 있도록 구현이 가능할지 궁금합니다.
- [멘토님] 건물 파괴 구현은 문제 없을 것 같은데 동기화 부분에서 문제가 있을 수 있을 것 같다.
- ex) 플레이어1은 지나갔는데 플레이어2는 지나가지 못하는 문제
- [멘토님] 각자 클라이언트에서 실행되도록 해야 할 것 같다
- 건물이 부분부분 파괴되어 있는 효과는 어떻게 하는 게 효율적일까요?
- [멘토님] 파티클을 사용해 부서진 모습의 스프라이트로 교체하는 방식으로 하는 게 좋을 것 같다.
- 건물이 부분부분 파괴되어 있는 효과는 어떻게 하는 게 효율적일까요?
- [멘토님] 건물 파괴 구현은 문제 없을 것 같은데 동기화 부분에서 문제가 있을 수 있을 것 같다.
- 건물이 파괴되고 잔해들을 무작위로 배치하려고 구상 중인데, 모든 유저들이 문제 없이 지나다닐 수 있도록 구현이 가능할지 궁금합니다.
- [멘토님] 최적화 부분을 얘기하시는 건가요?
- 오클루젼 컬링 기능을 멀티에서 가능할지, 또 최적화를 어떻게 시켜야 할지 궁금합니다.
- [멘토님] 안쓰는게 좋을 것 같습니다.
- 유니티 클라이언트 주니어 개발자가 가지고 있어야 할 기술적 챌린지 요소가 있을까요?
- [멘토님] 프로젝트를 어떤 것을 하느냐에 따라서 필요한 부분이 달라지지 않을까 싶다. RPG를 예시로 들어보면 대미지나 방어력에 대한 공식을 사용해 작업해본 적이 있어야 한다.
- 고도의 지식을 필요로 할까요?
- [멘토님] 고도의 지식 보다는 프로젝트에 대한 이해도가 중요할 것 같다.
- 고도의 지식을 필요로 할까요?
- [멘토님] 프로젝트를 어떤 것을 하느냐에 따라서 필요한 부분이 달라지지 않을까 싶다. RPG를 예시로 들어보면 대미지나 방어력에 대한 공식을 사용해 작업해본 적이 있어야 한다.
- 출시를 목적으로 할 경우, 뉴비 개발자가 놓치기 쉬운 부분이나 알고 있으면 좋다! 하는 내용이 있나요?
- [멘토님] 안드로이드 같은 경우는 부가적으로 선택해야 하는 것들이 있음. 개인 정보를 어디까지 개발자가 체크하고 검수할 것인지. 출시를 올려보지 않으면 아직은 알 수 없는 부분 예전에는 없었지만 개인 정보가 예민해지면서 오는 것들
- [멘토님] 구글에 앱 컨텐츠 데이터 보안 부분이 있는데 암호화 전송 여부 및 장문의 글이 있음
- [멘토님] 멀티플레이 같은 경우 빌드 할 때 또 문제가 있을 것 같음 ⇒ 빌드 에러
- 거의 대부분 빌드 에러가 발생함
- 빌드 테스트를 미리 해보고 호완성을 점검 해보는게 좋을 것 같음
- 나중에 무거워지면 빌드가 힘들어지고 확인도 어려움 (20분 넘게 걸릴 수 도 있음)
- 혹시 코테는 점수만 확인하나요? 아니면 구현된 코드를 검수하나요?
- [멘토님] 회사 규모나 뽑는 인원에 따라 케이스 바이 케이스
- 캠프 / 학원 출신 개발자는 정말 좋아하지 않나요? 이 타이틀을 극복 할려면 어떻게 해야 하는지?
- [멘토님] 결국에는 포트폴리오, 다른 분들과 차별화를 두고 보여줘야 함.
- 나는 이걸 공부했다. 다른 분들이 공부하지도 않았던 부분도 공부했다.
- ex) 뒤끝을 연동해서 사용해봤다.
- [멘토님] 결국에는 포트폴리오, 다른 분들과 차별화를 두고 보여줘야 함.
- 신입 개발자를 뽑을 때, 출시 경험을 더 높게 치나요? 아니면 기술 스택을 더 우선적으로 보나요?
- [멘토님] 멀티플레이를 해본다는 것이 장점이 될 것 같음.
- 물론 출시 경험을 우대 하는 것은 맞지만, 그냥 출시만 하는 경우 말고 기술적인 완성도가 있는 출시.
- 출시와 기술적인 부분이 어울러지고 잘 녹아있는 것.
- 출시에서 오는 메리트가 무엇일까요?
- [멘토님] 출시에서 오는 고난과 역경이 많은데 그것을 해결해본 경험.
- [멘토님] 회사 같은 경우 SDK를 여러가지 붙여서 빌드하기 때문에 문제가 매번 발생 함.
- 출시에서 오는 메리트가 무엇일까요?
- [멘토님] 멀티플레이를 해본다는 것이 장점이 될 것 같음.
- 저희 프로젝트는 시점이 고정된 2D 표현인데 1,2,3층 표현은 어떻게 해야 될까요? 2,3층에서 밖을 보게 하면, 앞쪽에 배치된 건물에 있는 사람은 뒤쪽에 배치된 사람에게 보이지 않을 수 있을 것 같습니다.
- [멘토님] 2, 3층은 반투명 처리를 해서 오브젝트가 보이게 하는 것은 어떨지
- 콜리더를 붙여서 영역을 체크하는 것도 가능
- 멀티플레이어 게임의 동기화 문제:
- 멘토님은 모바일 환경에서 멀티플레이어 게임을 개발하는 것이 위험할 수 있다고 언급함. 특히, 동기화 문제로 인해 같은 환경에서 하나의 플레이어는 건물을 지나갈 수 있지만 다른 플레이어는 그렇지 못하는 상황이 발생할 수 있음을 지적함.
- 3D 요소의 2D 구현 및 최적화:
- 팀원A는 3D로 모델링된 건물을 2D 게임에 구현하고 싶어함. 특히, 전투 중 건물이 파괴되는 모습을 실현하고자 함.
- 멘토님은 건물 파괴 효과를 위해 파티클 시스템 사용을 제안하고, 오클루젼 컬링(Occlusion Culling) 기법을 멀티플레이어 게임에서 사용하지 않는 것이 좋다고 조언함.
- 유니티 클라이언트 개발자의 기술적 챌린지:
- RPG 게임을 개발하는 경우, 대미지와 방어력 계산 공식의 이해가 필요함.
- 출시 준비 및 주의 사항:
- 멘토님은 안드로이드 게임 출시 시 개인 정보 보호 및 보안에 주의할 것을 권장함. 특히, 구글의 앱 컨텐츠 데이터 보안 규정을 언급함.
- 멀티플레이어 게임은 빌드 과정에서 에러가 자주 발생하므로 미리 테스트하고 호환성을 점검하는 것이 좋음.
- 캠프/학원 출신 개발자의 극복 방안:
- 포트폴리오를 통한 차별화와 추가 학습(예: 뒤끝 서버 연동 등)을 통해 실력을 입증하는 것이 중요함.
- 신입 개발자 채용 시 고려사항:
- 출시 경험과 기술 스택 모두 중요하지만, 기술적 완성도가 높은 게임 출시 경험이 더욱 우대됨.
- 2D 게임 내 다층 구조 표현:
- 2층, 3층을 표현하기 위해서는 반투명 처리를 하여 오브젝트가 보이도록 하는 방법과 콜리더를 활용하여 영역 체크하는 방법을 사용할 수 있음.
'취준 > 스파르타 내일배움캠프 Unity' 카테고리의 다른 글
23.10.30 - 스파르타 내일배움캠프 Unity 8기 [TIL] - Day.82 (0) | 2023.10.30 |
---|---|
23.10.26 - 스파르타 내일배움캠프 Unity 8기 [TIL] - Day.78 (0) | 2023.10.27 |
23.10.23 - 스파르타 내일배움캠프 Unity 8기 [TIL] - Day.75 (0) | 2023.10.23 |
23.10.12 - 스파르타 내일배움캠프 Unity 8기 [TIL] - Day.64 (0) | 2023.10.12 |
23.10.06 - 스파르타 내일배움캠프 Unity 8기 [TIL] - Day.58 (1) | 2023.10.06 |