Computer Science/Unity(유니티)

[유니티 입문] 유니티란? 그리고 게임 제작 입문

Master_Worm 2021. 3. 22. 15:31

현대에는 크건 작건 간에 우리는 게임을 한번이라도 접해본 세상에 살고 있습니다. 이러한 세상에서 게임을 하다보면, 게임을 직접 만들어보고 싶은 욕구가 생기기 마련입니다. 그래서 게임 만들기에 대해 한번 이야기하고자 합니다. 

 

1. 게임제작?


게임제작은 거창한 일이 아닙니다. 물론 우리가 잘 알고 있는 NC소프트에서 만든 게임이나, 블리자드에서 만든 거대한 스케일을 가진 게임을 본적이 있습니다. 그러한 게임들은 많은 사람이 모여서 만드는 큰 프로젝트일 수도 있지만, 뭐든 시작은 한 걸음부터입니다. 작은 게임에서부터 시작해서 점차 발전해나가는 것입니다. 초창기 게임들 또한 엄청나게 거대한 프로젝트로부터 시작된 게임은 없습니다. 시작은 작게 시작하다가 점차 커져서 (혹은 회사가 커져서) 큰 프로젝트를 하게 된 것이죠. 

리니지2
블리자드 게임들

다양한 게임이 현재에도 쏟아져 나오고 있습니다. 하지만 우리의 입맛에 맞는 게임이 없을 수도 있습니다. 그리고 친구와 하기 위한 간단한 게임을 제작하고 싶을 수도 있습니다. 다양한 목적에 따라 우리는 게임을 제작하고 만들게 됩니다. 이러한 수요를 위해 게임 제작 툴이 존재하며 복잡한 절차 없이 간단하게 게임을 만들 수 있습니다. 

 

2. 게임 제작 툴


  게임을 만들기 위해서는 다양한 게임 제작 툴을 이용할 수 있습니다. 물론 게임 제작 툴이 없더라도 만들 수 있지만, 초보자에게는 쉽지 않은 일이지요. 그래서 게임 제작 툴을 이용하면 여러 고생할 일이 확 줄어들어 스토리 전개에 집중할 수 있게 됩니다. 대표적인 게임 제작 툴은 Unity와 Unreal이죠.

 

(좌) 유니티, (우) 언리얼

유니티 엔진으로 만든 3d

 

언리얼 엔진으로 만든 3d

 

 

사실 유니티와 언리얼은 게임 제작 툴이기도 하지만 게임에서 사용되는 물리 엔진이기도 합니다. 두 물리엔진의 특성은 여러 차이점이 있습니다. 

  • 유니티가 언리얼 엔진보다 모델링 측면에서 유연성을 갖습니다. - 이는 반대로 이야기하면 모델링에서는 할 일이 많다는 소리죠.
  • 언리얼 엔진은 유니티보다 물리엔진에 대해 자유도가 높습니다. - 프로그래머의 역량만 된다면 언리얼 엔진은 무엇이든지 할 수 있는 신이 될 수 있는 것이죠.

  프로그래밍의 관점에서 유니티는 물리엔진에 대해 제약이 많은데 반해 언리얼 엔진은 자유도가 높아서 자유자재로 변형할 수 있습니다. 하지만 초보자에게는 이는 좋은 일이 아닙니다. 내가 무엇을 할지도 모르는데, 많은 자유를 주어져 봤자 쓰지도 못합니다. 그래서 만약 초보자가 처음으로 프로그래밍 관련, 그것도 게임 프로그래밍을 시작한다면 유니티 쪽으로 시작하는 것이 좋지 않나 생각이 듭니다. (물론 언리얼도 장점이 아주 많습니다. 하지만 초기 시작에 대해 너무 힘든 부분이 많은 것은 사실입니다. 그래서 처음 배우는 초보자에게는 유니티 쪽이 낫지 않나 생각해보는 것이죠. 어차피 하다보면 둘 다 배워둬야 하는 일이 생기기 마련입니다. ) 둘의 차이점은 조금 더 잘 정리된 여기를 보시면 되겠습니다. 

 

  일단 유니티와 언리얼에서 가장 중요한 라이센스의 차이점

  • 유니티의 경우, 일정한 수입이 있으면 유료 라이선스를 구매해야함 (기준 금액은 1억 매출 ( 정확히는 10만 달러))

[유니티는 10만~20만 달러이면 1년에 약 48만원, 20만 달러 이상이면 1년에 216만원이다. 자세한 여기]

  • 언리얼의 경우, 상업 용도로 사용하게 되면 일정한 비율 만큼의 로열티를 지불해야함 (11억이 넘을 경우(정확하게는 $1,000,000, 매출의 5%)

 

 

이외의 다른 게임 제작 툴도 존재합니다. 

등등이 존재합니다. 하지만 우리의 시작은 유니티로 시작하도록 할 예정입니다. 다양한 플랫폼을 커버하는 것과 동시에 게임 만들기에 대한 기본을 제대로 배울 수 있기에 유니티로 시작하려 합니다. 

[ +로 무료라는 강점이 너무 좋다는 점입니다. 다양한 장르의 게임을 만들 수 있기에 아주 좋습니다. 다른 게임 제작 툴 또한 좋은 점이 많지만 그래도 기본을 제대로 배울 수 있는 유니티를 쓰기로 하였습니다. 언리얼은 초보자가 하기에는 생각보다 복잡한 요소가 많기 때문에 이번에는 유니티입니다. 유니티가 모두 끝난 뒤에는 언리얼 엔진 도전하는 것도 좋은 일입니다. ]

 

3. 기본 언어?


 

  유니티나 언리얼이나 둘 다 기반 언어는 C++를 통해 제작되었습니다. 우리가 사용하고 있는 대부분이 C++로 제작된 것이 많기에 프로그래밍을 한다면 C++와 Java는 반드시 섭렵해야 합니다. 하지만 유니티를 활용해서 게임 제작할 때는 여러 요소를 걱정해야하는 C++를 사용하지 않습니다. 대신에 스크립팅 언어를 사용할 수 있습니다. C++보다 배우기 쉬우며, 사용하기도 쉬운 C#을 사용합니다.

 

  물론 C#만 사용해야 하는 것은 아닙니다. JavaScript로도 사용할 수 있지만, C#을 기반으로 배워보도록 할 예정입니다. 요새는 인터넷에서 많이 쓰이는 자바스크립트가 더 좋을 수도 있지만, 유니티는 C#을 오랫동안 사용되어져 왔으므로 C#을 통해 해보도록 합시다. (가장 큰 장점은 우리가 찾아볼 여러 레퍼런스가 많다는 점이죠. )