게임 프로그래밍 공부 순서 기초 9 가지

이제 배워야 하는 입장으로써 이미 일을 하고 있는 경력자처럼 다양한 프로그래밍 언어와 문제해결 능력을 기를 수는 없을겁니다.

그렇지만 기초적인 능력이 되어있으면 문제가 발생하고 배우고 습득하는 것은 문제가 되지 않을거라고 생각하는데요.

여기서 기초적으로 알고 있어야 하며 취업 후 일을 하고 따라가기에 벅차지 않을 정도의 지식을 갖출려면 어떻게 공부해야 할까요?

게임 프로그래밍 이제부터 하나씩 따라가 보도록 하겠습니다.


글의 순서

  1. 게임 프로그래밍
  2. 프로그래밍의 중요성
  3. 프로그래밍 기초
  4. 게임 엔진
  5. 알고리즘
  6. 컴퓨터 그래픽스
  7. 데이터 구조(자료구조)
  8. 네트워크
  9. 수학
  10. 결론

게임 프로그래밍 공부 순서 기초 9 가지

게임 프로그래밍

여러분은 어떤 게임 프로그래머가 되고 싶나요? 게임 프로그래밍을 배우기 전에 우리는 어떤 프로그래머를 목표로 할지 알고 공부를 시작해야 할겁니다.

게임 개발은 혼자서 할 수도 있고 규모에 따라서 개발자의 수는 기하급수적으로 늘어나게 됩니다. 단순한 텍스트 게임은 혼자서도 만들 수 있습니다.

하지만 2D 부터 3D 그래픽, 인공지능, 네트워크, UIUX 등 게임을 구성하는 다양한 요소를 만들기 위해서는 정말 많은 작업과 시간 그리고 기술들이 총 집합하여 이루어 집니다.

기초적인 프로그래밍 능력과 컴퓨터 게임의 이해도를 갖춰야겠지만 게임 개발에서 어떤 포지션을 맞아 개발에 참여를 하게 될지는 미리 알아두는게 좋습니다.

팩트 게임 프로그래머 종류와 연봉 순위 TOP 9


게임 프로그래밍 공부 순서 기초 9 가지

프로그래밍의 중요성

프로그래밍은 컴퓨터에게 작업을 지시하는 일종의 언어입니다. 우리가 일상생활에서 컴퓨터와 의사소통할 때에는 컴퓨터 언어를 사용해야 합니다. 이때 프로그래밍 언어를 사용하여 컴퓨터가 원하는 일을 하도록 명령을 내립니다.

예를 들어, 컴퓨터에게 숫자를 더하는 작업을 시키고 싶다면, “2와 3을 더해줘”라고 명령을 내립니다. 프로그래밍에서는 이와 비슷하게 “2 + 3″이라는 표현을 사용하여 컴퓨터에게 더하기 작업을 지시합니다.

게임 프로그래밍에서도 이와 비슷한 원리로 작업을 합니다. 게임에서는 플레이어가 움직이는 것부터, 적과 싸우는 것, 배경의 그림까지 모든 것들을 컴퓨터 언어로 표현하여 게임을 만들어냅니다.

프로그래밍은 문제를 해결하는 데에도 도움을 줍니다. 예를 들어, 게임에서 어떻게 하면 캐릭터가 장애물을 피해갈 수 있을지, 어떻게 하면 적과 싸워서 이기게 할 수 있을지를 생각하여 프로그램을 작성합니다.

프로그래밍은 말 그대로 컴퓨터와 의사소통을 할 수 있는 키와 같은 역할을 합니다. 우리가 원하는 대로 프로그램을 작성하면 컴퓨터는 그에 맞춰서 움직이고 작동합니다.


게임 프로그래밍 공부 순서 기초 9 가지

프로그래밍 기초

검색포털에 검색만 해도 기본적으로 배워야 하는 프로그래밍 언어는 나옵니다. 자주보게되는 프로그래밍 언어는 C, C++, C#, 자바, 파이썬과 게임엔진인 유니티, 언리얼엔진입니다.

무엇이든 다 배워 놓으면 안좋을건 없지만 가장 활용가능성 높은 트랙은 2가지 입니다. C -> C++ -> 언리얼엔진, C-> C# -> 유니티 입니다.

순서에는 정답이 없습니다. 그리고 어떤걸 배워야 할지도 정답이 없습니다. 다만 자신이 목표를 두고 있는 곳에 도달하기 위한 하나의 퀘스트 또는 미션이라고 생각을 해야합니다.

목표는 직업이 될 수도 있고 회사가 될 수도 있습니다. 목표로한 직업이 갖춰야 하는 능력이 있다면 선별을 해서 갖춰야 할것이고, 회사에서 원하는 능력이 있다면 맞춰서 길러야 합니다.

하지만 대부분의 회사는 기초가 탄탄한 신입을 좋아합니다. 기초가 탄탄해야 회사에서 다시 가르치기 쉽기 때문입니다.

게임 프로그래머가 할 수 있는 일과 연봉 그리고 전망에 대해서 더욱 자세히 알아보세요.

그리고 T자형 공부방식으로 넓지만 깊게 자신만의 전문성을 높이시길 바랍니다.

함께 보면 좋은 정보 국비지원 게임 프로그래머 양성교육

  • C++: C++은 가장 널리 사용되는 프로그래밍 언어 중 하나로, 게임 엔진 개발과 같이 성능이 중요한 부분에서 자주 사용됩니다. C++은 빠른 실행 속도와 메모리 관리 기능을 제공하여 게임의 복잡한 그래픽 처리에 적합한 언어입니다.
  • C#: C#은 Unity와 같은 인기 있는 게임 엔진에서 사용되는 주요 언어 중 하나입니다. C#은 객체지향 프로그래밍을 지원하고, 비교적 쉽고 간결한 문법으로 개발을 용이하게 만들어줍니다.
  • Python : Python은 게임 개발의 여러 측면에서 사용되는 범용 프로그래밍 언어로, 게임 개발 도구 및 스크립트 작성에 자주 활용됩니다. 또한, 게임 서버 개발에서도 많이 사용됩니다.

게임 프로그래밍 공부 순서 기초 9 가지

게임 엔진

유니티와 언리얼엔진 게임을 더욱 쉽게 개발할 수 있게 도와주는 도구입니다. 유니티와 언리얼엔진을 비교하는 하나의 지표는 난이도와 그래픽이다.

유니티는 초보자가 비교적 사용하기 쉽고 편리한 반면 시각적 그래픽이 언리얼엔진에 비해 부족하다.

언리얼엔진은 유니티보다 사용하기가 어려우며 작은 규모의 게임 개발에는 적합하지 않다. 유니티에 비해 높은 퀄리티의 현실적인 그래픽을 선사한다.

유니티(Unity) vs 언리얼 엔진(Unreal Engine) 장단점과 게임 스타일
장점단점
초보자 친화적그래픽스 렌더링 부족
멀티플랫폼 지원
커뮤니티와 에셋 스토어

언리얼 엔진(Unreal Engine) 장단점
장점단점
고급 그래픽스학습 곡선
개방형 소스 코드무거운 엔진
VR 지원
사용되는 게임 스타일
유니티(Unity)언리얼 엔진(Unreal Engine)
모바일 게임대형 3D 액션 어드벤처
2D 플랫폼 게임샌드박스 오픈 월드
아케이드 게임FPS(First Person Shooter)

게임 프로그래밍 공부 순서 기초 9 가지

알고리즘

알고리즘과 컴퓨터 프로그래밍 사이의 관계를 쉽게 이해하기 위해, 일상 생활의 레시피 만들기와 비교해보겠습니다.

레시피를 만들 때, 우리는 요리 순서를 단계적으로 작성합니다. 예를 들어, 스파게티를 만든다고 가정해봅시다.

  • 물을 끓이고 스파게티 면을 넣는다.
  • 스파게티 면을 삶으면서 소스를 만든다.
  • 삶아낸 스파게티 면에 소스를 넣고 섞는다.
  • 그릇에 옮겨 담고, 파마산 치즈를 뿌린다.

이렇게 요리 레시피는 일련의 단계를 따라 문제를 해결하는 방법입니다. 마찬가지로 알고리즘은 컴퓨터 프로그래밍에서 문제를 해결하는 방법을 설명하는 일련의 단계들로 이루어져 있습니다.

컴퓨터 프로그래밍에서 알고리즘은 컴퓨터에게 무엇을 해야하는지를 알려주는 중요한 지침입니다. 예를 들어, 컴퓨터에게 숫자들의 합을 계산하도록 시키고 싶다면, 이를 해결하는 알고리즘을 작성해야 합니다. 이 알고리즘은 더할 숫자들을 선택하고, 숫자를 더하는 방법을 정확하게 설명해야 합니다.

컴퓨터 프로그래밍은 알고리즘이라는 문제 해결 방법을 사용하여 컴퓨터가 원하는 작업을 수행하도록 만드는 과정입니다. 알고리즘이 있는 경우, 프로그래머는 컴퓨터가 이해할 수 있는 프로그래밍 언어를 사용하여 알고리즘을 구현합니다. 이렇게 구현된 프로그램은 컴퓨터가 정해진 단계를 따라 작업을 수행하게 됩니다.

요약하자면, 알고리즘은 컴퓨터 프로그래밍에서 문제를 해결하는 방법을 설명하는 레시피와 같다고 생각하시면 됩니다. 알고리즘을 작성하고 컴퓨터가 이해할 수 있는 프로그래밍 언어로 구현함으로써, 우리는 컴퓨터에게 원하는 작업을 수행하도록 지시할 수 있습니다.

함께 보면 좋은 정보 국비지원 게임 프로그래머 양성교육


게임 프로그래밍 공부 순서 기초 9 가지

컴퓨터 그래픽스

컴퓨터 그래픽스를 쉽게 이해하기 위해, 그림을 그리는 방법과 비교해보겠습니다.

우리는 종이와 연필을 사용하여 그림을 그리듯이, 컴퓨터 그래픽스도 컴퓨터가 화면에 그림을 그리는 기술을 말합니다. 하지만 컴퓨터 그래픽스는 특별한 프로그램과 알고리즘을 사용하여 그림을 만들어내는 것인데요.

컴퓨터 그래픽스는 2D 그래픽스와 3D 그래픽스로 나눌 수 있습니다. 2D 그래픽스는 평면적인 그림을 만드는 것이고, 3D 그래픽스는 입체적인 그림을 만드는 것입니다.

게임 프로그래밍과의 관계를 이해하기 위해, 게임에서 사용되는 그래픽스를 생각해봅시다. 게임은 다양한 그래픽 요소를 사용하여 현실적이고 흥미로운 화면을 제공합니다. 예를 들어, 게임 속 주인공이 걷거나 뛰며 움직이는 것을 2D 그래픽으로 그리면서, 배경은 3D 그래픽으로 구현하여 입체적인 느낌을 줄 수 있습니다.

게임 프로그래머는 컴퓨터 그래픽스를 사용하여 게임 내 그래픽 요소들을 만들고 제어합니다. 플레이어 캐릭터의 움직임, 적과의 싸움, 게임 세계의 배경과 물체 등을 그래픽스를 통해 표현하며, 이를 위해 복잡한 알고리즘과 기술을 사용합니다.

즉, 컴퓨터 그래픽스는 컴퓨터가 화면에 그림을 그리는 기술을 말하며, 게임 프로그래밍에서는 이를 사용하여 게임 내 그래픽 요소들을 구현하고 제어합니다. 컴퓨터 그래픽스를 통해 게임은 화려하고 현실적리고 시각적인 효과를 일으켜 높은 만족감을 줍니다.


게임 프로그래밍 공부 순서 기초 9 가지

데이터 구조(자료구조)

데이터 구조를 쉽게 이해하기 위해, 일상 생활의 정리정돈 방법을 비교해보겠습니다.

우리는 일상 생활에서 물건들을 보관하고 정리하는데 다양한 방법을 사용합니다. 예를 들어, 옷을 옷장에 올려두거나 서랍에 정리하고, 책을 책장에 꽂거나 박스에 넣어 보관합니다. 이러한 방법들은 물건들을 효율적으로 찾고 사용하기 위해 정리된 형태를 가지게 되는데요.

컴퓨터에서도 데이터 구조는 이와 비슷합니다. 데이터 구조는 컴퓨터에게 데이터를 저장하고 정리하는 방법을 말합니다. 컴퓨터는 수많은 데이터를 다루기 때문에, 데이터를 효율적으로 처리하고 관리하기 위해 특별한 방법이 필요합니다.

데이터 구조는 다양한 형태로 존재합니다. 가장 기본적인 데이터 구조는 배열(Array)인데요. 이는 데이터를 일렬로 나열하여 저장하는 방식입니다. 예를 들어, 숫자들의 집합을 배열로 표현하면 [1, 2, 3, 4, 5]와 같이 됩니다.

또 다른 데이터 구조로는 리스트(List)가 있습니다. 리스트는 데이터들이 연결되어 있어서, 새로운 데이터를 추가하거나 삭제하기 용이합니다. 예를 들어, “사과”, “바나나”, “딸기”라는 과일들의 리스트는 [“사과” -> “바나나” -> “딸기”]와 같이 연결되어 있습니다.

데이터 구조는 컴퓨터 프로그래밍에서 중요한 역할을 합니다. 올바른 데이터 구조를 선택하고 사용하면, 데이터를 빠르게 검색하거나 처리할 수 있습니다. 특정한 작업에 적합한 데이터 구조를 선택하면 컴퓨터가 빠르고 효율적으로 작업을 수행할 수 있게 됩니다.

요약하자면, 데이터 구조는 컴퓨터에서 데이터를 정리정돈하는 방법으로, 일상 생활에서 물건들을 보관하는 방법과 비슷하다고 생각하시면 됩니다. 적절한 데이터 구조를 선택하여 데이터를 효율적으로 관리하면 컴퓨터의 작업이 원활해지고 더 빠르게 일을 할 수 있습니다.


게임 프로그래밍 공부 순서 기초 9 가지

네트워크

네트워크는 컴퓨터들이 서로 연결되어 정보를 주고받는 시스템을 말합니다. 우리가 스마트폰이나 컴퓨터를 인터넷에 연결하여 메시지를 보내거나 영상을 시청하는 것도 네트워크를 이용한 것입니다.

게임 프로그래밍에서도 네트워크가 중요한 역할을 합니다. 가끔 파티를 만들어서 사냥을 한다던가 또는 해외 플레이어와 같이 플레이를 하는 게임은 네트워크의 성능에 따라서 게임 환경이 나빠질 수도 있습니다.

온라인 게임 같은 인터넷 게임은 정말 중요한데요. 게임 캐릭터 정보가 저장이 안되고 통신상태가 불량하다거나 렉이 걸린다면 사용자 환경에 지대한 영향을 미치게 되 게임 만족도가 떨어지게 됩니다.


게임 프로그래밍 공부 순서 기초 9 가지

수학

1과 0이으로 이루어진 컴퓨터만 봐도 알수가 있습니다. 컴퓨터 프로그래밍은 수학하고 밀접한 관계를 이루고 있는데요.

수학을 포기한 사람이라면 마냥 게임을 좋아한다고 해서 게임 프로그래머를 하지 않아야 할것 같습니다.

게임은 물리적인 현상를 게임 그래픽으로 구현해야 합니다. 물리엔진을 통해 물리적인 현상을 오브젝트마다 연산을 해야할 수도 있습니다.


게임 프로그래밍 공부 순서 기초 9 가지

결론

게임 프로그래머 정말 쉽지 않습니다. 위의 내용은 일부분에 불과합니다.공부할게 더 많으니 하루하루 쌓아가시길 바랍니다.

능력좋은 개발자들은 연봉이 1억이 넘는다고 하죠. 관련 국비수업도 많아서 비전공자들도 많이 지원을 한다고 합니다.

하지만 남들이 쉬워보이고 잘하는 것 같아보이면 그건 정말 달인의 경지까지 올랐다고 하는데요.

그런데 프로그래밍은 정말 쉬워보이지 않습니다. 그냥 외계어를 가져다가 사용하는 것처럼 알 수 없는 컴퓨터 언어들을 가지고 이렇게 저렇게 만드는걸 보면 정말 신기합니다.

경력자들도 아무것도 몰랐던 시절이 있듯이 지금 공부를 시작하는 분들도 마찬가지로 1부터 시작하는 겁니다.

공부를 시작하고 목표를 정했다면 망설이지 말고 꾸준히 공부하시기 바랍니다.

*해당 글은 소정의 광고료를 지급 받을 수 있습니다.

Sharing is caring!

Leave a Comment