온오프믹스 :: 게임 기획자를 위한, 게임 프로그래밍 원리 배우기

게임 프로그래머와 의사 소통하면서 답답함을 느껴 본 적 있으신가요? 향후 프로그래밍을 공부해서 1인 개발에 도전해 보시고 싶으신가요? 그런 게임 기획자라면 이 강좌를 수강해 보시기 바랍니다. 게임 프로그래머들이 게임을 어떤 원리에 따라 만드는지, 상세한 설명과 예시를 통해 알려드리는 현역/예비 게임 기획자들 대상의 특별한 강좌이기 때문입니다. 이 강좌를 수강하신 뒤에는 게임 프로그래머와의 협업을 더욱 효율적으로, 그리고 자신 있게 하실 수 있을 것입니다. (이 강좌는 유니티 5를 활용하여 진행합니다)

소스: 온오프믹스 :: 게임 기획자를 위한, 게임 프로그래밍 원리 배우기

 

 

강좌에서 다루는 내용들

  1. 게임 씬을 구성하는 요소들 – 하나의 게임 씬에는 다수의 게임 오브젝트와, 이들의 내부 규칙, 그리고 게임의 전체 규칙을 콘트롤하는 매니저 등이 들어 있습니다. 이러한 요소들이 어떤 식으로 모여서 하나의 게임 씬을 구성하게 되는지 자세히 살펴 봅니다.
  2. 게임 오브젝트의 이해 – 게임을 구성하는 가장 기본적인 단위 개체들인 게임 오브젝트의 종류와 기능에 대해 알아 보고, 그 작동 원리를 살펴 봅니다.
  3. 3D 공간의 좌표와 방향에 대한 이해 – 게임이 실행되는 동안 동적 게임 오브젝트들의 위치는 끊임 없이 변화합니다. 따라서 이들의 위치를 측정하기 위한 방법이 준비되어 있어야 합니다. 이를 위해 반드시 알고 있어야 할 좌표와 방향, 그리고 공간에 대한 중요한 개념들을 정리하고 유니티를 이용하여 시각적으로 보여 드립니다.
  4. 카메라의 종류와 주요 속성의 이해 – 카메라는 게임 플레이어의 눈이라고 할 수 있습니다. 그리고 3D 카메라를 사용하면 3D 게임이 되고, 2D 카메라를 사용하면 2D 게임이 됩니다. 이 강좌에서는 카메라의 종류와 FOV(필드 오브 뷰)와 같은 중요한 관련 개념들에 대해 자세히 설명 드리고 실제 유니티를 이용하여 그 작동 원리를 눈으로 확인하실 수 있게 도와 드립니다.
  5. 라이트의 종류와 특징 – 3D 게임을 만들 때 필수적으로 알아야 할 여러 가지 라이트(light)를 살펴 보고 각각의 특징에 대해 알아 봅니다.
  6. 3D 모델에 대한 이해 – 버텍스, 엣지, 폴리곤, 매쉬 등 3D 게임 모델을 다루기 위해 반드시 알아야 할 주요 개념들을 정확하게 이해하는 시간입니다.
  7. 재질과 셰이더 – 재질(Material)과 셰이더(Shader)의 개념을 알아 보고, 물리 기반 셰이더 등 최신 게임에서 사용하고 있는 다양한 재질 표현 기법들에 대해서 간단히 배워 봅니다.
  8. 게임 물리학 – 최근에는 다양한 물리 엔진이 무료로 공개되면서, 물리 기반의 게임들이 많이 등장하고 있습니다. 따라서 기획자들도 이러한 물리 엔진들이 어떤 기능을 제공하고 있는지 배워 둘 필요가 있습니다. 아울러 게임 물리학에서 자주 쓰는 주요 개념들에 대해서도 정리해 드리고 유니티 5를 통해 게임 물리를 어떤 식으로 활용할 수 있는지 보여 드립니다.
  9. 충돌처리 – 컴퓨터 게임에서 게임 오브젝트들은 끊임없이 충돌하게 됩니다. 레이싱 게임, 슈팅 게임은 물론이고 고전 게임인 팩맨에서도 충돌은 반드시 일어납니다. 게임에서 이러한 충돌을 어떤 식으로 감지해 내는지, 그리고 충돌 감지 방식에 따른 대가는 무엇인지 등에 대해 상세히 알아 봅니다.
  10. 레이캐스트에 대한 이해 – 슈팅 게임에서 총격에 따른 충돌, 그리고 마우스 클릭등을 처리하기 위해 주로 사용하는 레이캐스트란 무엇인지 알아 보고, 이것을 게임에서 어떤 식으로 활용하는지 예제를 통해 알아 봅니다.
  11. 트리거 충돌 – 캐릭터가 문을 열고 그 안으로 들어가는 순간 공중에서 몬스터들이 떨어지는 상황을 자주 보았을 것입니다. 이런 상황에서 자주 사용하는 것이 트리거 충돌입니다. 일반 충돌과 달리 트리거 충돌은 충돌 순간을 감지는 하지만 실제 충돌에 따른 효과(막힘, 밀어내기)가 발생하지는 않습니다. 이 강좌에서는 트리거 충돌의 개념과 적용 사례들을 알아 보고 유니티 5를 이용하여 실제로 트리거 충돌을 구현해 봅니다.
  12. 에셋에 대한 이해 – 게임 오브젝트를 만들기 위한 파일들, 예를 들어 이미지 파일, 사운드 파일, 3D 모델 데이터 파일 등을 에셋이라고 합니다. 게임 개발을 위해 준비해야 하는 에셋의 종류와 파일 형식, 그리고 파일 형식 선택에 따른 장단점 등을 상세히 다루어 봅니다.
  13. 게임 루프 개념 이해 – 일반적인 어플리케이션과 달리 게임 오브젝트들은 사용자의 조작이 없어도 스스로 움직이고 판단합니다. 이것을 가능케 하는 게임 루프 개념을 자세히 살펴 봅니다.
  14. 게임에서 시간 다루기 – 실제 세상의 시간과 게임 안에서의 시간은 다릅니다. 이 강좌에서는 게임에서 시간을 어떻게 처리하는지에 대해 상세히 알아 봅니다.
  15. 델타 타임 개념의 이해 – 고성능 컴퓨터를 가진 사람과 느린 컴퓨터를 가진 사람도 같은 속도로 동작하는 게임을 플레이 할 수 있도록 하려면 델타 타임 개념을 활용해야 합니다.이 강좌에서는 델타 타임이라는 것이 무엇인지, 그리고 어떤 식으로 사용하는 지에 대해 자세히 살펴 보겠습니다.
  16. 스프라이트와 스프라이트 시트 – 2D 게임을 만들기 위해 알아야 할 것이 바로 스프라이트입니다. 이 강좌에서는 스프라이트의 개념과 게임에서의 활용법, 그리고 스프라이트 시트를 이용하는 이유 등에 대해 알아 봅니다.
  17. 2D 게임에서의 배경 스크롤링 원리 – 플랫포머 등 배경이 스크롤되는 2D 게임을 어떤 식으로 만드는지, 그리고 스크롤링의 종류의 특징에는 어떤 것들이 있는지 살펴 봅니다.
  18. 타일 맵 제작의 원리 – 2D 게임을 만들 때 가장 많이 사용하는 타일 맵이 무엇이고, 프로그래머는 타일 맵을 어떤 식으로 처리하는지 알아 봅니다.
  19. 3D 캐릭터 애니메이션에 대하여 – 3D 게임에서 캐릭터 애니메이션을 구현하기 위해 사용하는 대표적인 두 가지 방법을 알아 보고, 유니티를 이용하여 실제로 작동하는 애니메이션 캐릭터를 화면에 띄워 봅니다.
  20. 콘트롤러와 사용자 입력 – 게임 캐릭터를 작동시키기 위해서는 사용자의 입력을 받는 과정이 필요합니다. 게임에서 사용자 입력을 받기 위해 어떤 방법을 사용하는지 자세히 살펴 보고 입력 장치의 종류와 활용 방법에 대해 알아 봅니다.
  21. 이벤트 개념의 이해 – 게임 내에서 개발자가 의도한 어떤 사건이 발생하면 이와 연관된 다른 일들이 연쇄적으로 일어나게 됩니다. 이러한 기능을 담당하는 이벤트 개념에 대해 알아 보고, 게임 내에서 일어날 수 있는 이벤트에는 어떤 것들이 있는지 자세히 살펴 봅니다.
  22. 게임 사운드의 이해 – 게임에서 소리를 다루는 방식들을 살펴 보고, 2D 사운드와 3D 사운드의 차이, 그리고 중요한 사운드 용어들에 대해 알아 봅니다.
  23. 오브젝트 파라미터를 다루는 방식 – 게임 오브젝트들은 고유의 파라미터들을 가지고 있습니다.이 강좌에서는 게임 기획자가 설계한 오브젝트 파라미터들을 게임 프로그래머들이 어떤 식으로 게임에 적용하는지 살펴 봄으로써 게임 시스템 기획자에게 실질적인 도움이 될 수 있도록 합니다.
  24. 유한 상태 기계(FSM)의 개념과 활용 예 – 가장 간단하면서도 기본적인 인공지능 구현을 위해 많이 사용하는 것이 바로 FSM 개념입니다. 기획자가 이 개념을 정확하게 이해하고 있다면 프로그래머와의 소통이 훨씬 쉬워집니다. FSM이란 무엇이고 어떤 식으로 설계하는지 자세히 알려 드리고 유니티5를 이용하여 실제로 FSM 기반의 몬스터 움직임을 구현해서 보여 드리겠습니다.
  25. 게임 스크립팅 기초 배우기 – 게임 스크립트 언어로는 LUA, 자바스크립트, C# 등 다양한 언어가 사용됩니다. 이 강좌에서는 유니티5의 C# 스크립트로 할 수 있는 일이 무엇인지 살펴 보고 기본적인 스크립트 문법을 배워 봅니다.
  26. 변수, 상수, 함수(메소드)의 개념과 게임 내 활용 예 – 본격적인 코딩을 하는 것은 아니지만, 프로그래밍을 위해 가장 먼저 알아야 할 기본 개념인 변수, 상수, 함수(메소드)가 어떤 것인지 설명 드립니다. 그리고 게임 시스템 기획을 할 때 이들 개념을 이해하고 있는 것이 어떻게 도움이 되는지 알아 봅니다.
  27. 클래스 개념의 이해 – 기획자가 스스로 코딩하지는 않는다고 해도, 클래스와 상속이란 무엇인지를 이해하고 있다면 게임 시스템 기획을 할 때 많은 도움이 됩니다. 이 강좌에서는 클래스와 상속을 개념적으로 정확하게 이해할 수 있도록 상세한 설명과 예시를 제공할 예정입니다.
  28. 간단 게임 프로토타입 만들어 보기 – 키보드로 조작하는 간단한 슈팅 데모 프로토타입을 만들어 보면서, 지금까지 강의에서 다루었던 내용이 실제 게임 제작에 어떤 식으로 활용되는지 살펴 봅니다.

 

댓글 남기기