새로 언리얼 프로젝트를 진행하는데 다른 분들은 어떻게 사용하는지 궁금해서 설문조사를 만들어봤습니다. 설문조사는 4월 15일~4월 22일까지 약 일주일동안 진행되었고 모두 무선으로 조사했고, 신뢰도나 표본 오차 따위는 개나 줘버려!


설문조사 요청은 게임코디에서 했습니다.

http://www.gamecodi.com/board/zboard.php?id=GAMECODI_Talkdev&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=4622


총 66명이 응답을 해주셨고, 참여해주신 모든 분들께 다시 한번 감사의 말씀 전해드립니다. 당연히 이 조사가 언리얼 사용 현황을 대표하거나 하지는 않고 같은 팀에서 여러명이 참여했을 경우도 있을테니 비율도 실제와 다를 수 있습니다.


재미로 봐주세요.





'엔진소스를 직접 고칠 이유가 없다면 소스를 직접 빌드할 필요도 없지 않을까?'라는 의문에서 시작된 설문 조사 입니다. 그리고 직접 빌드하지 않을 때 소스를 보거나 디버깅하는데 답답함은 없는지 등이 궁금했습니다.

 

 장점

단점 

 직접 빌드한다.

  • 엔진을 커스터마이징 할 수 있음
  • 엔진 수정 내역을 확인 가능
  • 엔진 코드를 보면서 아키텍처를 이해할 수 있음
  • 엔진 빌드가 오래 걸림
  • HDD 용량 부족
  • 커스터마이징 이후 업그레이드 할 때 귀찮음+어려움

 빌드하지 않는다.

  • 쉬운 설치
  • 심볼 설치로 디버깅도 가능
  • 엔진 업그레이드가 비교적 간편
  • 문제가 있어서 소스를 보려할 때 시간이 오래 걸림
  • 가끔 궁금하거나 답답함
  • 없음


위에 있는 표에는 넣지는 않았지만 엔진을 직접 빌드할 때 장점으로 '기분이 좋음'이라고 써주신 분도 있었습니다??? 저도 기분이 우울할 때 한번씩 빌드하도록 하겠습니다.





두번째로는 개인적으로 아스트랄하다고 생각하는 언리얼 엔진의 코딩 표준을 지키고 있는지에 대해 궁금했습니다. 접두어 F, U, A 등은 참을 수 있겠는데 변수 이름이 대문자로 시작하는 것 등은 좀 괴로웠거든요.


설문 시작 전에는 '언리얼 엔진을 빌드하는 사람은 언리얼 코딩 규약도 따를 것이다.'라는 가정이 있었는데 언리얼 엔진 빌드 여부와 언리얼 코딩 규약을 지키는 것 사이의 큰 연관관계가 없었습니다. 예를들어 빌드하시는 분들 중에 규약을 따르지 않는 분들도 많았고, 빌드하지 않는 분들 중에서 규약을 지키는 분들도 많이 있었습니다.


 

 장점

 단점

 따른다.

  • 코드의 일관성
  • 클래스 Prefix만으로 쉽게 용도 파악이 가능
  • 빌드나 사용에 제약이 없고 엔진 친화적
  • 언리얼 도큐먼트나 커뮤니티의 예제를 볼 때 익숙함
  • 마음에 들지 않는 규칙도 있음
  • 서버와 공유 코드가 있는 경우 등 전파와 설득이 힘듦
  • 템플릿, 가상클래스 등 사용이 어려움
  • 없음
 따르지 않는다.

  • 본인들에게 익숙한 규약을 설정하면 가독성이 좋음
  • 우리가 수정한 코드 구분이 쉬움
  • 없음


참고로 이번에도 규약을 따르는 장점에 '언리얼 전문 개발자가 된듯한 기분~'이라고 응답하신 분이 계셨는데 언리얼 엔진을 빌드할 때 기분이 좋아지던 분과는 다른 분이네요.




다음으로는 STL을 사용하는지 여부가 궁금했습니다. 언리얼에서는 TArray, TMap, TSet 등의 자체 컨테이너가 있는데, 엔진에 친화적이겠지만 표준 STL과 사용법 등이 다르기 때문입니다. 이번 설문 역시 직접 빌드나 코딩 표준 준수 여부와 비슷할 것이라 생각했는데 이번에도 아주 큰 연관관계는 없었습니다.


연관성 여부는 제가 주관적으로 판단한 것이니 자세한 비율이 궁금하시면 페이지 맨 하단의 전체 응답 링크를 보시면 될 듯 합니다.


 

장점 

단점 

 사용한다.

 (=STL)

  • 익숙하기 때문에 편함
  • 서버 프로그래머 등과의 공동 작업에 좋음
  • 3rd-Party 라이브러리 사용이 쉬움
  • 언리얼 컨테이너 보다 퍼포먼스가 낮은듯
  • 언리얼 컨테이너와 호환이 잘 안됨
  • 없음

 안한다.

 (=TArray, ...)

  • 메모리 할당 등 STL 구현별로 다른 문제 해결
  • Serialize, GC, Blueprint 등 엔진에 친화적
  • 코드의 일관성
  • 엔진 업그레이드 등에 유리
  • Reflection
  • API 등에 적응이 필요
  • 디버깅이 STL 보다 미흡한듯
  • 없음





마지막으로는 소스 컨트롤 입니다. 예전에 김포프님 동영상에도 Perforce 쓰는게 좋다고 본 것 같은데 (거기에는 언리얼 코딩 표준을 따르라고도 했지만) 과연 가격 대비하여 쓸만한 장점이 있는지 궁금했습니다. 최근에는 Git도 에디터에서 지원이 되는데 얼마나 많이 사용하는지 궁금했습니다.


 

 장점

 단점

 Perforce

 (12명)

  • 편함
  • 안정적
  • 빠름
  • 언리얼과 잘 맞음
  • Conflict 최소화
  • 윈도우 탐색기에서 동기화가 안됨
  • 비쌈

 Perforce + SVN

 (1명)

  • SVN 사용으로 Perforce 가격 절약
  • 하나만 쓰면 좋겠음

 SVN

 (22명)

  • 무료
  • 익숙함
  • Lock 사용 가능
  • github 같은 호스팅 서비스 부족
  • 브랜치가 불편함

 SVN + Git

 (9명)

  • 무료
  • 프로그래머만 Git 교육하면 됨
  • 하나만 쓰면 좋겠음
  • 헷갈림

 Git

 (21명)

  • 무료
  • 브랜치 및 히스토리 보기에 좋음
  • DCVS 개념 적응


기타 의견에 Mercurial 사용자가 한분 계셨는데 장단점에 대해서는 기입하지 않으셨습니다.




이상으로 이번 설문조사 정리를 모두 마칩니다. 다시 한번 참여해주신 모든 분들께 감사드립니다. 4문항 정리하는데도 꼬박 2시간이 걸렸는데 boost 사용여부 등 궁금한거 더 물어봤으면 큰일날뻔 했네요.


전체 응답은 아래 링크에서 확인하실 수 있습니다.

https://docs.google.com/spreadsheets/d/1Jut5Ccroxcjv4KwkhbRbQgmTTR-zPsWmGAGt_qZPq7s/edit?usp=sharing




신고

'Game Dev > Article' 카테고리의 다른 글

Unreal 사용에 대한 설문 결과  (0) 2017.04.22
Tiled Rendering  (0) 2016.10.21
Forward+ Rendering  (1) 2016.10.19
Premultiplied alpha  (0) 2016.10.14
Inferred Lighting  (0) 2016.10.13
받은 트랙백이 없고 , 댓글이 없습니다.
secret