2019년 6월 12일 수요일

국비 교육 : 게임 프로그래밍 035 ~ 058일 | 윈도우 프로그래밍, FMOD, A* 알고리즘 등

35일부터 58일까지의 윈도우 프로그래밍 강의 내용을 되돌아본다.


이 기간에 진행된 전반적인 강의는 별도의 교재 없이 강사의 설명과 인터넷 검색을 통한 기술 설명 위주로 진행되었다.


VS에서 윈도우를 생성하는 프로젝트 예제부터 시작하여 HDC를 이용한 2D Draw에 대한 강의가 이루어졌고, 이는 모두 강사의 샘플 프로젝트를 통해 설명되었다.

이후 기본 윈도우 생성 프로젝트를 클래스로 분리하여 재활용이 가능하도록 프로젝트 내 Class를 분리하는 강의, 이후 STL의 컨테이너를 이용한 데이터 관리에 대한 설명이 이루어졌다.


윈도우에서의 기본 그리기 과정이 얼추 정리된 이후 게임 프로그래밍과 연관된 2D 충돌 알고리즘키 입력 방식에 대한 강의가 이루어졌다. 2D 충돌 알고리즘의 네 가지 처리 방식에 대한 설명, 그리고 윈도우 프로그래밍에서의 키보드 및 마우스 키 입력에 대한 처리 방식에 대한 설명이 강의 되었다.

여기까지의 과정으로 윈도우 프로그래밍을 이용한 기본적인 2D 게임 프로그래밍의 모습을 갖출 수 있는 과정이었고, 이후 안정적인 프로그래밍 환경을 위한 강의들이 이루어졌다.

화면에 표시되는 그리기 요소들의 화면 백버퍼링 처리, Alpha 이미지 처리, 주요 기능의 class화로 재활용성 향상, 윈도우 프로그래밍에서의 시간 제어 등에 대한 강의들이 진행됐다.


이후 게임 제작 시 사용되는 많은 리소스를 관리하기 위한 Tree 자료구조에 대한 설명과 FMOD를 이용한 사운드 출력에 대한 설명이 진행됐다.

마지막으로 Sprite 리소스를 이용한 Animation처리 방법과 Tilemap알고리즘의 설명 이후 A* 알고리즘 설명의 과정을 통해 윈도우 프로그래밍을 이용한 2D 게임 프로그래밍 포트폴리오에 필요한 기술들이 강의 되었다.


강의 진행은 주로 강사의 샘플 프로젝트 작성, 이후 교육생들의 프로젝트 분석 후 실습으로 이루어졌다. 이중 윈도우 프로그래밍의 경우 당일 샘플 프로젝트 위주로 설명되고, 각종 알고리즘의 경우 사전 조사를 숙제로 진행하고 이후 강의에서 풀이하는 방식으로 진행된 것으로 기억된다.


돌이켜 보니 이 기간의 교육부터 따라갈 수 있는 사람과 아닌 사람들이 확 나뉘는 느낌이다.

당일 교육은 별도의 학습 자료 없이 실습 프로젝트 구현을 통한 설명으로 진행되었다. 이로 인해 당일 설명이 이해가 되는 사람들은 학습을 계속해 나갈 수 있었고, 아닌 사람들은 계속 교육 내용이 밀리거나 포기하는 현상이 발생 됐을 것이다. (이해가 되지 않으면 질문을 하라고 하지만 교육 중 질문을 하는 원생이 얼마나 있었을지는 상상에 맡기겠다)

또한 강의의 예습과 복습이 모든 교육생이 공통된 자료로 학습하는 것이 아닌 개개인의 인터넷 검색 스킬로 나오는 자료로 이루어지는 한계가 분명히 존재 했을것 같다. 당장 Bold로 표시한 기간 내 교육 내용의 키워드만 인터넷으로 검색해 보아도 다양한 자료들이 혼재되어 검색될 것이다.


이제는 과거에 있었던 많은 국비 게임 교육 중 하나의 과정으로 24일이라는 교육 기간의 강의가 이런 내용으로 진행되었다고 직접 경험한 기록을 남기고자 글을 작성해 본다.

댓글 없음:

댓글 쓰기

Unity - Firebase 연동 (Analytics, AdMob)

버전 : firebase_unity_sdk_6.5.0.zip 게임에서 통계 측정 및 광고 추적을 위해 Firebase 을 연동한다. 앞서 [Unity - GPGS 와 Admob 연동 및 배포 준비 작업]  연동 이후에 작업을 진행 한다. 유니...