게임 프로그래머는 크게 두가지로 나누어집니다

클라이언트 개발자는 유저의 컴퓨터나 모바일 기기에 설치되는 게임 프로그램을 만듭니다.

서버 개발자는 유저들이 네트워크를 통해 함께 플레이 하며 상호작용이 일어나도록 온라인의 가상세계를 구현 합니다.

게임 클라이언트 프로그래머 게임 서버 프로그래머

클라이언트 프로그래머

사용자가 다운로드 받아 컴퓨터,모바일기기에 설치하는 게임 프로그램(클라이언트) 을 개발합니다.

유저의 키보드,마우스,터치 조작에 반응하며 유저의 눈에 보이는 게임의 캐릭터,지형,인터페이스,이펙트,애니메이션 등을 화려하고 아릅답게 표현합니다.

일반적으로 "게임 프로그래밍" 이라고 하면 대부분 클라이언트 개발을 뜻합니다.

프론트엔드 3D 프로그래밍 유저 인터페이스 유니티 언리얼

서버 프로그래머

온라인 게임의 실질적인 가상세계를 만듭니다. 모든 게임 프로그램(클라이언트) 은 게임서버의 가상세계로 연결되어 전세계 유저가 함께 전투를 할 수 있도록 해줍니다.

유저가 캐릭터를 조작하면 이 정보가 게임서버로 전달되어 게임서버 속 가상세계에서도 캐릭터가 움직이게 됩니다.

게임서버가 없다면 온라인 게임도 없습니다.

백엔드 네트워크 프로그래밍 멀티스레딩 데이터베이스

클라이언트 프로그래머는...

화려한 그래픽과 쫀득한 조작감 구현의 재미

클라이언트 개발자는 다양한 그래픽 기술과 섬세한 작업이 필요합니다. 이를 통해 아름다운 그래픽과 편리한 인터페이스 등 유저의 눈에 보이는 모든 것을 구현 합니다. 게임 유저가 직접 사용하는 프로그램을 개발 하므로 유저의 눈과 귀를 즐겁게 해주어야 합니다.

시원한 타격감과 조작감, 화려한 마법의 놀라움, 눈을 의심케 하는 그래픽, 할아버지도 이해되는 손쉬운 인터페이스... 이 모든것이 클라이언트 개발자가 해결해야 할 과제 입니다.

최근에는 유니티3D, 언리얼, 클라이언트 엔진이 대중화 되어 많은 게임들이 엔진을 사용합니다. 클라이언트 엔진은 게임의 그래픽 처리와 다양한 도구를 제공하여 게임 개발을 훨씬 편하게 도와줍니다.


서버 프로그래머는...

게임의 중심으로 수만명 유저를 하나의 게임 세상으로

서버 개발자는 네트워크를 통해 수만명의 유저가 함께 게임을 즐길 수 있도록 해줍니다. 간단한 게임에서는 친구 정보와 스코어 관리를 통해 랭킹 시스템을 구현하며, MMORPG 월드의 캐릭터 이동과 전투,퀘스트,아이템 등을 처리하여 진정한 게임의 컨텐츠 로직 처리와 가상세계를 구현합니다. 게임서버가 있기에 친구들과 함께 게임을 플레이 할 수 있습니다.

온라인 게임에서 게임의 실질적인 컨텐츠 처리 (퀘스트,아이템,성장,구매,조합 등...) 는 서버에서 담당 합니다. 유저의 해킹,치트 사용 방지를 위해 중요 컨텐츠 대부분을 서버가 전담합니다. 전반적인 진행을 서버가 담당하고, 클라이언트는 이에 대한 결과를 그래픽으로 표현 합니다.

클라이언트와는 다르게 그래픽적인 작업은 전혀 담당하지 않습니다. 클라이언트가 보내주는 네트워크 메시지를 처리합니다. 고성능 네트워크 기술과 빠르고 안정적인 로직처리, 더 많은 유저 데이터 저장을 위한 데이터베이스 기술, 해킹을 막기 위한 보안기술 등이 필요합니다.

서버역시 다양한 엔진과 편리한 기술들이 개발되고 있습니다.


게임개발 입문개론 무료강의

게임 프로그래머에 관심은 있지만 뭐가 뭔지 전혀 모르시겠나요? 무작정 진로를 결정하자니 겁이 나시나요?

완전 초보 입문자용 무료 개론수업을 준비 했습니다. 게임 개발은 어떻게 이뤄지는지, 게임 개발자의 업무는 무엇인지, 미래는 어떠한지, 클라이언트와 서버 개발의 차이점은 어떤지, 공부는 무엇을 해야하는지 알려드리겠습니다.

게임 개발자를 목표로 꿈꾸는 초보자, 대학교 진로를 선택중인 학생, 게임 개발자에 호기심을 가진 사람이라면 누구나 참석 가능합니다. 프로카데미 등록과는 전혀 무관한 오픈 무료 강의 입니다.

게임 프로그래머 입문 개론

네트워크 프로그래밍이 전부가 아닙니다

해야 할 일이 산더미에요

일반적으로 서버개발이라 하면 네트워크 송수신 부분만을 생각합니다. 하지만 이는 극히 일부분의 작업 입니다. 게임서버는 오류없이 안정적으로 수만명의 게임 로직과 데이터를 처리하고 저장해야 합니다.

안정적인 서비스를 위해 수십,수백대의 서버를 모니터링 하고 관리해야 하며, 서버가 다운 될 때를 대비한 안전장치 까지 해야 합니다. 단 하나의 실수로 회사의 생사가 흔들릴 수도 있습니다. 그래서 더욱더 꼼꼼하게 테스트하고 신중한 개발이 필요합니다.


서버 프로그래밍, 배울 수가 없어요

배울 수가 없으니 실무자도 부족한 현실

게임서버 프로그래밍 분야는 공개적인 교육이 전무합니다. 대학교나 학원 어디를 봐도 클라이언트 개발 교육만 넘쳐납니다. 클라이언트 개발은 서버개발에 비해 상대적으로 단기간에 눈에 보이는 결과물이 나오기 때문에 교육이 수월합니다.

반면 서버기술은 개발사들의 핵심 기술로서 공개되지 않거나, 기술이 워낙에 방대하여 교육 자체가 어렵습니다. 그래서 더욱더 게임서버 프로그래머는 귀해지고 있습니다.


24시간 대기모드가 필요한 서버 개발자

게임서버가 다운되면 내 전화벨이 울려요

일반적으로 게임서버 개발자는 야간 작업이 많습니다.

클라이언트에 오류가 발생하여 게임이 종료되면 그 유저 1명의 게임만 중단됩니다. 하지만 게임서버에 오류가 나면 전체 유저가 게임을 할 수 없습니다. 그래서 24시간 언제든지 서버에 문제가 생기면 이를 확인하고 해결해야 합니다.

서버 점검과 서버 업데이트는 서버를 중단시켜야 하므로 사용자가 가장 적은 시간대에 작업이 이루어 집니다. 안타깝게도 그 시간은 모두가 꿀잠을 자는 새벽시간대 입니다. 서버 개발자는 모두가 자는 새벽에 일어나 서버를 점검하고 작업을 해야만 합니다.

여러분이 즐기는 게임이 어느 새벽시간에 서버점검을 한다면, 서버 개발자가 졸린 눈을 비비며 작업을 하고 있을 것입니다.


게임서버 프로그래밍 교육기관, 프로카데미

프로카데미는 온라인 게임서버 프로그래밍을 교육합니다. 게임 클라이언트 기술과는 전혀 다른 고급 기술이며 국내 유일의 게임서버 전문 교육기관 프로카데미 입니다.

프로카데미 PROCADEMY

프로카데미는 실무 게임개발자 커뮤니티 '게임코디' 에서 직접 운영하는 교육센터 입니다. 한국 게임개발의 기술력 향상과 공유되지 않고 숨겨져 왔던 게임서버 개발의 기술을 후배들에게 전수하고자 합니다.


게임 개발자 적성검사 / 인생 그래프

여러분의 두려움을 떨치기 위한 프로카데미 컨텐츠.

온라인 적성검사 - 게임 개발자로서 당신의 적성은 어떠한지 확인 해보겠습니다.

개발자 인생 그래프 - 개발자로서 내 인생은 어떨가요? (절대 신빈성은 없습니다)

적성검사 개발자 인생그래프