게임엔진과 컨텐츠의 차이

by nettadmin / 2010. 05. 10. [10:41]

저번 냥이 술자리 껀의 뒷 이야기를 살살 풀어보려 한다.

바빠서 너무 오랜만에 글을 올려 본다..

 

먼저 엔진과 컨텐츠의 차이에 대하여 이야기 해보고 싶다.

아는 사람들은 왜 저런 뻔한 소리를 하고 그러냐고 하겠지만 의외로 모르는 사람이 더 많다.

하물며 개발자 중에도 프로그래머 아니면 모르는 사람이 있는데 일반인이야 오죽할까..

 

엔진하면 무엇이 떠오를까? Engine!! (기관!!)

흔히 자동차 엔진을 많이 생각하리라 생각된다.

냥이 로봇에도 엔진…?!

 

기계들마다 엔진이 다 들어가는데 프로그램 소스에도 엔진이 들어갈 수 있지 않을까? 꼭 물리적 개념으로 생각하지 말아보자.

 

크라이 엔진, 언리얼 엔진 이라고 하면 일반 유저도 다 안다.

3D 엔진!

모르면 간첩내지 게임을 하지 않는 사람, 나이 많으신 분, 너무 어린애, 매우 바쁜 삶으로 잠깐씩만 게임으로 시간 때우는 사람......

음.. 은근히 늘어놓으려니 많다. 괜한 짓 했다..

 

이제 이야기를 조금 확장해 보자.

3D에는 엔진이 있다. 흔히 거 그래픽 구리네 돈 좀 더 쓰지 하는 말을 하곤 한다.

그렇다면 서버 발로 만들었냐 하는 말들이 게시판에 오르는 건 어떻게 생각하는 가? (개발자는 정말로 손으로 만들었다며 아니라고 운다.. ㅠ_ㅜ)

응?

 

유저가 보지 못하는 서버와 통신을 위한 엔진 있을 것 같아지지 않는가? 그냥 단순히 Send Recv 이걸로만 게임 다 만들 수 있을까?

서버와 클라이언트 간에 많은 데이터가 오가면서 많은 연산이 필요하다. 클라이언트는 결과값을 보여주는 역할이며, 모든 중요연산은 서버가 다 한다.

그렇다면 모든 것은 통신 데이터의 신뢰성과 안전성 있는 하위 개발의 바탕부터 깔려주어야 작업이 가능해 진다는 말이 된다.

 

물론 3D엔진과 서버엔진이 빵빵 하다고 다는 아니다. 어떻게 쓰느냐가 또한 아주 중요한 문제가 되며 잘 못쓰게 되면 발제(수제의 반대) 서버가 나오기도 한다.

 

 

 

보검을 들고 주먹과 동등하면 암울..

 

그런고로 3D엔진과 통신엔진이 존재하고 이것을 이용하여 기능들을 구현하는 부분을 컨텐츠라 한다.

 

 

‘엔진이 왜 필요하고 중요할까’ 하고 심도 있게 생각해 본 사람이 과연 얼마나 될까?

(개발자 뺴고..-_-;;)

 

알다시피 유명하고 비싼 엔진 쓰면, 거시기한 말로 "퀄리티 쩐다."

그럼 안쓰면 안쩌나?

꼭 그렇지 않다!!

 

프로그래머들이란 자신의 기술력에 자부심을 갖고 있거나 갖을 만큼 실력을 키우고 싶어 하는 존재 들이다. 반대로 개발능력이 되는 사람도 상당히 있다는 소리.

실력 되면 만들 수 있다. 하지만 그래도 사 쓴다.

 

왤까?!?!

 

사장님 왈

"저도 게임 만들 때 엔진 직접 다 만들었죠. 속된 말로 ‘씩X 엔진 만들다 토나오겠네’가 입에서 튀어나오죠 그게 엔진 만들 줄 알아도 사는 이유 중 하나랍니다..."

 

 

 

워워 릴렉스..

 

엔진 무엇이 편해서 쓰는 걸까?

 

만들 때에는 신경 쓸 것이 별의 별게 많다. 쓰기도 편해야 한다.

엔진 하나 만드는데 얼마의 시간과 사람이 필요할까?

1. 최소 5년 이상의 경력자 1~2명 이상 필요.

2. 그 프로그래머가 전에 다니던 회사서 만든 엔진은 그 회사의 재산이다.

3. 개발은 1년은 잡아야 안전성이 높다.

4. 테스트 머신 100마리 200마리 늘려가며 테스트하다 뭔가 이상하면 다시 문제 해결하고 다시 테스트.

5. 아니면 그냥 그 연봉 값과 시간, 개발진들의 스트레스로 엔진을 산다..(잘 만들어진 엔진의 사용은 시간과 돈에 있어 상당히 큰 절약의 수단이 된다.)

 

그리고 나서 만약 엔진 쪽에 에러가 났다. 시급히 잡아야 한다. 근데 다른 일도 너무 많다.

1. 직접 만들고 죽자 살자 미친 듯이 고치자. 까짓 거 없는 시간은 한 달이고 일년이고 잠 안자고 개인시간 다 버리면 되지

   뭐. 그래도 안되면 사람도 더 써!!

2. 걍 사쓰고 에러 났다고 빨랑 고치라고 통보만 보내면 빠른 시일 내에 알아서 해준다. 추가 인력도 안 들고 내 일에만 집

   중하면 된다. (스트레스 감소 최대화)

 

 

 

안전성에 대한 증명사례가 필요하다

1.     미친 듯이 테스트 머신 돌리고 사람 붙여봐서 안 걸려도 만 단위 이상 붙으면 무슨 일이 생길지 아무도 모름..

2.     그냥 이미 다른 게임에서 성공사례가 있는 엔진을 사자..

 

속도가 느리다. 엔진에 대한 업그레이드가 필요하다.

1.     할게 많고 미친 듯이 바쁘다.. 시간을 쪼개고 쪼개서 계획을 세우자..

2.     엔진이나 사 쓰고 통보 한번 보내자 어디가 느리면 테스트 툴로 테스트해 보고 요청 보내면 끝.

 

더러는 어떤 기능을 구현하려고 한다.

1.     죽어라 개발하고 2~3명씩 붙여 유지 관리도 해주어야 할 때가 있다.

2.     그냥 엔진에 붙은 기능 쓰자.

 

네트워크의 경우 플레이어가 2배로 늘면 버그는 제곱으로 는다.. ㅠ_ㅜ 

      1. 내부 테스트에서 잘돌아간다고 그게 정말 버그가 없는 것일까?

      2. 내부 테스트로 모든 확인이 가능하면 '발로 만든' 꼬리표는 세상에 나오지도 않았을 것이다..

 

 

 

실수란 아무리 뛰어난 실력자라 할지라도 피할 수 없다. 사람이기에!!!

결국 가장 중요한 것은 개발된 후, 버그가 발견되고 수정되며 흘러온 많은 시간과, 실질 적용된 사례이다.

 

가만있으면 알아서 어떤 기능이 추가 되어져 올 때가 있다. 예를 들면 다른 게임회사에서 들어가는 어떤 기능 추가 요청에 대한 트렌드가 될 수도 있다. 그냥 그런 기능을 연결만하면 유저는 ‘오 많이 발전했다’ 하고 놀랜다..

 

 

삽질은 많이 해봐야 삽질일 뿐…

 

어떤 에러의 경우 1프로 이하의 확률로 일어나며,

데이터 베이스, 서버엔진, 서버 컨텐츠, 클라이언트 컨텐츠, 글라이언트 엔진

중에 어디가 문제인지 참 애매할 때가 있다. 이럴 때 정신적 고통을 줄이고 시간을 절약하기 위해서도 엔진은 절대적으로 견고해야만 한다.

특히 한달 두달 날수만 늘고 희박한 확률로 버그가 튀어나와서 감도 안 잡히는 경우도 꾀나 종종 생기게 되는데 이런 피마르는 상황을 줄이기 위해서도 엔진의 안정성은 절대적이지 않을 수 없다.

그리고 이중에 저 Server Engine을 개발 하는 회사가 우리 넷텐션인 것이다.

 

 

글좀 줄여바.. 너무 길자나..

etc.

Comments (2) -

unreal
unrealKorea
05/10/2010 09:07:00 #

좋은 글 잘 읽었습니다. 언젠가 넷텐션도 1%의 엔진이 되길 기대해 봅니다. ^^;
그리고 발제보다는 수제라고 하셨으니 족제가 어떨지... ㅡ,ㅡㅋ

깜장냥이
깜장냥이Korea
05/11/2010 12:13:00 #

아아아앗 좋은 지적!! ㄳ (꾸닥꾸닥(--)(__)(--) ) ㅋㅋ