[이븐아이 게임톤] 개발자 사전강의
- 사용하는 엔진 버전 확인
- 다른 동료에게 엔진 사용 방법 공유
- 버전 관리
- 프로그래머의 협업
- 로그 관리
- 데이터 관리
- 빌드 관리
- UI 작업 방식 논의
- 구현
- 프로토 타입 개발
- 잘 할 수 있는 것에 집중하기
- 성급한 최적화 금지
- 서버 도입 고민
- 프로그래머는 보여줄 것이 별로 없다?
- My Question
사용하는 엔진 버전 확인
- 프로젝트를 진행할 엔진의 버전을 맞춰야 함
- 유니티 최신 버전 및 LTS 확인
다른 동료에게 엔진 사용 방법 공유
- 엔진을 한번도 사용 안해본 동료가 있을 수 있음
- 다같이 엔진을 사용하면서 개발하는게 개발 속도가 빠름
버전 관리
- 소스 코드와 데이터의 버전 관리가 중요
- 다양한 버전관리 시스템이 존재 (svn, git , … , etc)
- 익숙하지 않은 사람에게 사용법 공유 필수
- 커밋 메시지는 꼭 알아볼 수 있도록 명확하고 자세하게 작성
프로그래머의 협업
- 협업을 어떻게 할 것인지 미리 얘기하면 좋음
- 유니티의 Scenes 충돌 방지를 위해 어떻게 작업을 할 것인지?
- 어떤 부분들을 맡을 것인지?
로그 관리
- 이슈를 확인하기 위한 제일 쉬운 방법은 로그
- 귀찮아도 꼼꼼히 로그를 남기면 나중에 버그 추적에 도움을 줌
- 문제가 발생한 경우에 로그를 보고 명확하게 쉽게 남기는게 좋음
데이터 관리
- 프로젝트 내의 데이터는 어떻게 관리 할 것인지 고민
- 다양한 방법으로 데이터를 관리할 수있음 (ScriptableObject, 엑셀, Xml, … , etc)
- 게임 규모와 사용성을 고려해서 결정
빌드 관리
- 주기적으로 출시하려는 플랫폼의 빌드를 뽑는게 좋음
- 빌드를 통해 꾸준한 구현 점검 필요
- 빌드 파일 사이즈 관리 필요
UI 작업 방식 논의
- UI 작업은 다양한 스타일이 존재하기 때문에 스타일 통일 필요
- 해상도는 처음부터 고려해야 함
- 라이센스 관리
- 무료 리소스들마다 다른 라이센스를 가지고 있음
- 라이센스를 확인하고 지키도록 노력해야 됨
구현
- 초기 기획서는 모호할 수 있다
- 구현 가능한 수준으로 디테일을 요구 (개요, 의도, … , etc)
- 개발 속도에 따른 우선 순위 결정 필요
- 기능(컴포넌트) 단위로 개발하는 것 추천
프로토 타입 개발
- 처음부터 잘 만드는 것은 어려움
- 초기엔 기획도 갈팡 질팡 하기 때문에 구현이 힘든 경우가 많음
- 기획한 내용을 바로 확인할 수 있는 프로토타입을 가지고 재미 검증 필요
- 재미가 검증되면 그때 다시 만들어도 늦지 않음
잘 할 수 있는 것에 집중하기
- 잘 할 수 있는 것만 하기에도 시간이 부족
- 잘 할 수 있는 것에 집중해서 퀄리티 높이기
- 무리해서 처음 해보는 무언가를 할 필요 없음
- 익숙한 것으로도 충분
성급한 최적화 금지
- 처음부터 최적화를 고려해서 작업하면 작업이 느려질 수 있음
- 게임 전체를 보면 의미 없는 최적화 작업일 수 있음
- 최적화는 문제가 있다고 판단 될 때, 프로파일러를 이용해서 진행
서버 도입 고민
- 서버 도입은 개발 코스트가 커질 수 있음
- 서버 비용도 고민해봐야 함
프로그래머는 보여줄 것이 별로 없다?
- 프로그래머는 결과와 과정으로 충분히 어필 가능
- 기술적으로 A라는 문제를 만났는데 A를 B로 해결한 경험
- 꼭 기술적으로 무언가를 보여줄 필요는 없다
- 그래도 무언가를 해보고 싶다면?
- 기획자를 위한 툴을 잘 만들어서 생산성을 올린다던가
- 범용적인 시스템을 잘 설계해본다던가…
- 새로운 것을 해보고 싶다면
- Addressable Asset System, UniTask, UniRx 등을 써보는 것도 좋음
My Question
“개발자 3명 RPG 게임 제작 진행 클라이언트개발 만으로도 벅찼다 플레이어, 몬스터, 보스, 보스패턴, 스킬, 이펙트, UI 등 클라 개발에만 해도 엄청 할 것이 많았는데 프로그래머 자원 관리를 어떻게 진행하는 것이 효과적이고 예시 사례를 알려줄 수 있는지?”
- 최신 정보 서칭 하는 능력 필요! (구글 정책 변경 등)
- 백엔드에 관한 내용은 최소화 (cost 측면에서도 리소스 측면에서도 유리)
- 기획자와 다른 포지션의 인원들과의 얘기가 필요
- 현재 개발팀의 프로그래머가 산출물을 얼마나 찍어 낼 수 있는지를 중간 중간 프로토타입을 만들어내며 일정확인을 계속 체크하는 것이 유리
- 레벨 디자인을 기획자나 다른 포지션의 인원들이 할 수 있게 끔 범용적인 툴을 만들어 내는 방법도 있음