'게임프로그래머'에 해당하는 글 2건

게임프로그래머

 

프로그래밍을 통해 맵 디자인, 캐릭터 디자인, 사운드, 각종 시스템 등을 뒤섞어,

 

게임이라는 하나의 결과물을 만드는 직군이다.

 

사실상 게임을 만드는 데 있어 가장 귀중한 인력이라고 봐도 과언이 아니다.

 

/

 

게임 프로그래머의 유형

 

게임플레이 프로그래머(Gameplay Programmer)

 

이쪽은 만능형 프로그래머 (Generalist Programmer)가 많다. 간단한 설명은

 

다른 프로그래머들은 게임 엔진 쪽으로 더 가깝고 게임플레이는 말 그대로

 

"유저들이 게임이라고 느끼는" 부분이다.

 

가장 핫한 게임 오버워치로 예를들면 플레이어의 움직임, 총기의 작동 원리 등

 

거점을 지키면 승리한다는 규칙등이 다 게임플레이다.

 

(출처 : 오버워치 홈페이지)

 

물리 엔진 프로그래머(Physics Programmer)

 

게임에 필요한 물리 계산을 빠르게, "필요한 만큼 정확하게" 하는 개발을 한다.

 

프로그래머 항목에 프로그래머들은 거창한 알고리즘 연구를 안한다고 하지만,

 

이쪽은 그런짓을 할만한 인간들이 필요하다. 유저들은 매년 상향되는 그래픽,

 

물리 엔진을 보고 싶어하고, 만족할만한 게임을 만들기 위해서 더 새로운 그래픽

 

기술들의 효율적인 계산이 필요하다.

 

그래서 이쪽은 컴공보다 물리학자, 수학자들이 더 많이 보인다.

 

그래픽 / 렌더링 프로그래머(Graphics / Rendering Programmer)

 

3D 그래픽이나 애니메이션을 빠르게 계산하고, 효율적으로 유저의 모니터로 출력하는

 

개발을 한다. 위와 비슷하게 순수한 프로그래밍보다 수학쪽 지식을 더 많이 필요로 함.

 

수학이 싫거나 자신이 없다면 가장 멀리해야 하는 분야이다.

 

개발도구 프로그래머(Tools Programmer)

 

대규모 회사가 아니면 절대 못볼 직업으로, 대부분 프로그래머가 아닌 개발자들이

 

프로그래머들의 도움이 없이 개발에 참여를 하게 해주는 도구들을 개발한다.

 

게임 디자이너들이 아주 기초적인 코딩 실력으로 게임을 완벽하게 바꿀 수 있게

 

하는게 주 목적이다. 회사 규모가 더 크면 게임이랑 전혀 관련 없는 직원, 빌드 관리

 

소프트웨어까지 만들게 된다. 어떻게 보면 '게임 개발'에서 가장 동 떨어진 직업이다.

 

네트워크 프로그래머(Network Programmer)

 

온라인 게이밍의 핵심이라고 볼 수 있다. 클라이언트와 서버와의 데이터 송수신을

 

다루고, 렉을 줄이기 위해서 최소한의 정보를 보낼 방법과, 심한렉, 서버 다운,

 

DDos 공격 등의 문제를 해결할 방법을 연구한다. 데이터 사용량을 줄이는 동시에

 

클라이언트의 시점에서 렉이 안보여야 하는 데, 잘못된 디자인은 0.1초의 렉으로도

 

유저와 유저 밖의 세상이 따로 노는 느낌을 줄 수 있다.

 

/

 

그 외에 인공지능, UI, 사운드 프로그래머가 있다.

 

/

 

이렇듯 다양한 프로그래머들이 있습니다. 하지만 기본으로 하는 C언어는 똑같습니다.

 

기초가되는 언어부터 심화과정으로 진행해 나가는 것이 좋습니다.

 

저 역시도 책으로 공부도 해봤지만 진짜.. 머리에 안들어옵니다.

 

용어들은 들어와도 이게 과연 뭘 어떡하라는거지 라는 생각이 한번씩 듭니다.

 

ex)

#include <stdio.h>

int main(void)

printf("Hello world!\n");

{

return 0;

}

가장 기본적인 C언어 프로그래밍 코드입니다.

 

이것을 외우라는 것이 아니라 이해하고 활용을 해야하는데 많은 분들이

 

그냥 달달 외우고 응용을 못한다는 것이 가장 안타깝다고 하죠.

 

완전 기초가되는 프로그래밍 언어부터

 

심화과정까지 배울 수 있고 생각을 심어주는 과정들을 진행합니다.

 

처음에 어려워 하시는 분들도 있지만 점차 시간이 지나면서

 

자연스레 익히게 되고 프로그래밍자체에 눈을 뜨게 됩니다.

 

/

 

부산게임프로그래밍학원에서는 이처럼 본인의 역량 개발 실력 향상에 집중을 하고

 

수강생들이 잘 따라올 수 있도록 도와주고 있습니다.

 

위 그림을 클릭하면 해당 페이지로 이동합니다.

 

가정의 달 행사 / 친구동반 할인 / 무료 상담 진행등 다양한 혜택이 있습니다.

 

에스비에스아카데미게임학원/제4293호/직업기술-컴퓨터 게임/수강료홈페이지참조

 

 


WRITTEN BY
커피김스타
게임 기획, 개발, 프로그래밍, 그래픽, zbrush, 원화, 캐릭터 등등 다양한 정보공유

,

본 내용은 뇌를 자극하는 C++STL 내용을 참조했습니다.

 

알고리즘

STL은 순차열의 원소를 조사, 변경, 관리, 처리할 목적으로 알고리즘이라는 구성 요소를 제공합니다. 알고리즘은 한 쌍의 반복자([begin, end])를 필요로 하며 알고리즘 대부분은 순방향 반복자를 요구하지만, 몇몇 알고리즘은 임의 접근 반복자를 요구합니다.

 

STL 알고리즘은 같은 기능을 수행하는 여러 가지 버전으로 오버로딩되며, 약 100개로 정의 되어 있습니다. STL 알고리즘은 일곱 가지의 범주로 분류합니다.

 

ㅁ원소를 수정하지 않는 알고리즘

ㅁ원소를 수정하는 알고리즘

ㅁ제거 알고리즘

ㅁ변경 알고리즘

ㅁ정렬 알고리즘

ㅁ정렬된 범위 알고리즘

ㅁ수치 알고리즘

 

STL 알고리즘은 아주 일반적입니다. 일반적이라는 의미는 특정 컨테이너나 원소 타입에 종속적이지 않다는 뜻입니다. 예를 들어 find 알고리즘은 순방향 반복자를 요구하기 때문에ㅐ 순방향 반복자만 지원하는 컨테이너(순차열)라면 어떤 컨테이너가 와도 알고리즘을 수행할 수 있으며 컨테이너 원소가 정수, 실수, 문자열 혹은 사용자 정의 타입이어도 가능합니다.

 

 

[출력 결과]

20

100이 없음!

 

iter = find(v.begin(), v.end(), 20)은 [v.begin(), v.end())에서 20을 찾아 20 원소를 가리키는 반복자(iter)를 반환합니다. 20을 찾지 못하면 iter는 끝을 표시하는 v.end()와 같습니다.

 

 

순차열을 정렬하는 sort 알고리즘은 임의 접근 반복자를 요구하므로 vector와 deque는 sort 알고리즘을 수행할 수 있지만 다른 컨테이너는 불가능합니다. 사실 연관 컨테이너는 컨테이너만의 정렬 기준을 가지고 있기 때문에 sort 알고리즘 적용 자체가 말이 안됩니다.

v는 정렬되지만 1t는 정렬되지 않으므로 컴파일러 에러입니다.

 

(수강생 작품)

 

프로그래밍을 배우고 내가 직접 만들어보고 내가 만든 게임도 해보면서 흥미를 느끼고 또 다음게임을 구상하고 강의 종료할때 시연회도 진행하면서 뿌듯함을 많이 느낍니다.

 

많은 분들이 난 처음해보니까 또 할줄 모르니까 라며 먼저 겁을먹게 되는데 걱정할 것이 없습니다. 할줄 모르니까 배우고 처음해보니까 배우는 것입니다.

 

(출처 : sbs게임아카데미학원)

 

이제 혼자가 아닌 독학이 아닌 우리 함께 입니다.

 

위 그림을 클릭하면 해당 페이지로 이동합니다.

전국에 지점이 있습니다.

 

무료 상담 // 진로 상담 // 다양한 이벤트 혜택등이 있습니다.

 

에스비에스아카데미게임학원/제4293호/직업기술-컴퓨터 게임/수강료홈페이지참조


WRITTEN BY
커피김스타
게임 기획, 개발, 프로그래밍, 그래픽, zbrush, 원화, 캐릭터 등등 다양한 정보공유

,