================================================================================ * 시간 : 11:00 ~ 13:20 * 참석자 : 프로그래밍 팀 * 주제 : 향후 작업 방향 ================================================================================ * 2014년 12월 마일스톤과 연장 작업이 현재까지 거의 마무리 됨 - 이제는 진짜로 출시 기능으로 만들어야 할 버전에 대한 작업에 들어가야 한다. - 정길태 팀장님이 진행하던 작업을 기반으로 함 * 코딩 규약을 정의하자. - 기존 코딩 규약은 내 맘대로 정했던 규약에 가까움. - 이제 3명이 되었으니, 제대로 된 규약을 정하자! : 목적은, 이후에 어떤 개발자가 들어오더라도 스타일을 표준에 가깝게 맞춰주기 위한 기준을 제공하는 것이다. * 변경된 코딩 규약의 주요 내용들 - 형식 면에서는 기존에 코딩 규약으로 정의한 예제 샘플과 크게 달라진 점은 없다. - 모든 변수들은 소문자로 시작하는 낙타 표기법을 사용 - 유니티 프로젝트에 한해서는 C#의 internal과 protected internal 키워드는 사용하지 않기 : 하나의 어셈블리로 나오기 때문에 그다지 큰 의미가 없다. 굳이 쓸모를 찾자면 UnityEditor 어셈블리에 노출할 내용을 제한해줄 수 있는 점인데, UnityEditor는 결국 개발팀 내부의 부수 프로젝트인지라... 유니티 프로젝트가 아닌 C# 프로젝트가 별도로 존재하는 경우에 저 키워드들도 사용하는 것으로 합의 - 함수 구분줄의 주석을 한줄 주석 형태로 표기함 : 기존의 여러 줄 주석 방식은 한꺼번에 여러 개의 함수를 주석 처리하고 풀기 불편하다는 의견이 잇어 이를 수용함. - 유니티 컴파일러의 내부적인 파일 인코딩 처리 문제 때문에, 한 줄 주석을 사용 금지했던 부분을 완화 : 대신, 한 줄 주석을 사용하는 경우, 반드시 문자열 끝이 ASCII 문자의 범위로 끝남을 보장하기 위해 '//' 를 추가하기로 함. * 기존 코드 분석에 대한 의견(정길태) - Update()에서 Initialize()의 결과가 성공할 때까지 지속적으로 호출하는 부분은 문제가 있다고 본다. : 객체의 생성 / 소멸 순서를 명백하게 하는 게 더 낫다고 봄. - XCamera는 너무 많은 기능을 가지고 있는 클래스이다. : 카메라이면서도 입력 처리 기능까지 가지고 있는데, 이해하기 어렵고, 쉽게 변경하기도 어려움. 재작성을 하는 쪽으로 갔으면 한다. - 기능을 쪼개기 애매한 객체들이 많다. : 대표적으로 GUI에서 게임 로직의 핵심 부분에 접근해서 이를 변경하고 조작하는 부분들은 객체의 결합도를 높이므로 부적절하다고 본다. * 현재까지의 작업 진행 상황(정길태) - 기본적으로 기존에 돌아가고 있던 코드들을 수정해서 재설계 / 재구축하는 방식으로 진행 중임 - 장면 관리를 위해 SceneManager 객체가 추가됨 : 각 장면 전환은 이제 SceneManager가 담당한다. - ResourceManager 개편 : 개선된 리소스 로딩 관리 객체들을 작성함. 현재 진행도를 추적하기 더 쉽고, 처리 방식을 일관성 있게 할 수 있다. - XML 데이터들은 Serialize / Deserialize 방식으로 읽어들인다. : 이를 지원하기 위해, 향후 게임 데이터들은 사람이 편집할 때는 Excel로 편집하지만, 게임에 적재될 때는 Serialize / Deserialize가 가능한 XML 데이터로 변환되는 기능을 추가할 것이다. (조수운) - 기존 UIScene 개념은 사라졌고, 모든 GUi들은 개별적인 GUISet을 각 장면이 필요에 의해 불러온다. - 현재는 Intro에서부터 로비 화면에서 내 캐릭터를 선택하는 데까지 구현이 되었다. * 향후 작업 방향에 대한 의견(조수운) - 앞으로는 장기적으로 운용할 수 있는 견고한 구조를 만드는 게 우선이라고 본다. - 기존 구조 / 기능들을 최대한 빠르게 재구축하는 것은 좋으나, 지금 이 작업이 부지불식 간에 또 다른 프로토타이핑이 되어서는 안된다고 생각한다. : 그래서 기존 구조와 기능들을 재활용하는 데 대해 과감하게 생각했으면 한다. 버릴 건 버리고, 재작성할 건 재작성하는 게 맞다고 본다.