| to HOME |
| C 게임 프로그래밍 |
| 과목소개 |
* C, C++를 기초로 수강한 학생들을 대상으로 게임 개발의 기초를 지도함
* 게임 제작에 필요한 기본 개념, 능력 배양
* 일반 프로그래밍에 사용되지 않는 게임 개발에 필요한 기법 강의
* C++에서 배운 Class와 Thread의 개념 심화
* 게임 개발에 필요한 기본지식 함양
* 도스 콘솔용 게임 개발 기법 학습
* Win32API를 활용한 게임 개발 기법 학습
* DirectX 활용법 이해
* 네트워크와 인공지능을 접목한 게임에 대한이해
|
| 참고도서 |
1) 초보자를 위한 게임 프로그래밍 - 정보문화사
2) 게임 프로그래머를 위한 C++ - 정보문화사
3) AI Game Prgoramming Wisdom - 정보문화사
4) 3D 게임 프로그래밍 - 한빛미디어
※ 위 자료는 참고자료이며, 주교제는 강의자료로 대신합니다.
|
| 공지사항 |
팀 구성 :
2009년 4월 11일 까지 제출(한팀 당 3~4명)
해당 일자까지 구성하지 않을 경우 교수 임의로 구성
현재 구성된 팀
1 조 : 김병찬, 표정호, 김태용, 김동범
2 조 : 박일생, 이관성, 한정견
3 조 : 신동진, 허만조
4 조 : 송자명, 이헌준, 임호준, 이지훈
5 조 : 이현진, 우정임, 장재웅
6 조 : 여진욱, 장정윤, 최용석, 김진수
7 조 : 박중환, 나현찬, 서종률, 조성원
8 조 : 최윤철, 이동건, 김의규, 정태현
9 조 : 박창현, 손승락, 최기호
10 조 : 정연태, 이명호, 양정윤
11 조 : 권다혜, 김보람, 이은애
12 조 : 백성일, 이승민
|
| 과제 |
팀별 과제 #1 : 제출은 A4 용지에 인쇄해서 5월 18일까지 제출합니다.
* 팀 별 과제는 각 팀별 하나씩만 내면 됩니다.
본 수업의 최종 과제인 테트리스 게임을 만드는데 필요한 개발 계획서를 작성합니다.
개발 계획서는 다음과 같은 내용이 포함되어야 합니다.
- 개발의 목적
- 자신들이 개발하는 게임의 특징
- 테트리스 게임을 만드는데 필요한 프로그래밍 기법(자세히 서술 : 수업 내용 바탕으로...)
- 테트리스 게임의 알고리즘
- 역할 분담(팀원들의 역할이 명확하게 기술되어야 함)
- 개발 기간 정의(몇일부터 몇일까지 뭐하고... 이런 내용들)
* 참고 : copying은 절대 용납하지 않습니다. 각 팀별로 스스로 작성하길 바랍니다.
개인별 과제 #3 [제출] 본 과제는 팀 단위 수행이 아닙니다. 개별적으로 제출하기 바랍니다. 기간 : 2009년 5월 10(일) 자정 까지, 그 이후 제출시에는 시간대별로 점수 차감합니다. 과제 내용: DirectX 강의 내용을 바탕으로 포물선 운동을 구현합니다. 물리학 응용에서 배웠던 내용을 그대로 실습하면 되겠습니다. * 로켓 그림을 DDS로 만듭니다.(알파채널 추가) * Direct3D를 이용하여 포물선 운동을 만듭니다. 위의 두가지만 지켜지면 되게습니다. 참고할만한 예제 프로그램은 [이곳]에서 다운받아보길 바랍니다. 개인별 과제 #2 [제출] 본 과제는 팀 단위 수행이 아닙니다. 개별적으로 제출하기 바랍니다. 기간 : 2009년 4월 26일(일) 자정 까지, 그 이후 제출시에는 시간대별로 점수 차감합니다. 과제 내용: 5주차에 수강한 내용의 함수에 주석을 달아야 합니다. 해당 함수는 DrawUnit() ConvertPoint() degree2radian() radian2degree() moveVelocity() moveAcceleration1() moveAcceleration2() moveParabola() 8가지 입니다. 수업시간 충실히 강의를 들은 학생은 주석을 다는데 큰 문제가 없을것으로 판단됩니다. 사용 소스는 5주차 최종 업로드 소스를 참고하길 바랍니다. 개인별 과제 #1 [제출] 본 과제는 팀 단위 수행이 아닙니다. 개별적으로 제출하기 바랍니다. 기간 : 2009년 4월 13일(월) 자정 까지, 그 이후 제출시에는 시간대별로 점수 차감합니다. 과제 내용: 4주차에 강의 내용인 캐릭터의 이동 회전 및 직선 운동을 3주차의 몬스터 프로그램과 같이 필드를 만듭니다. 최대 10개의 캐릭터가 필드내에서 개별적인 운동을 수행해야 합니다. 과제의 평가 내용은 다음과 같고, 모두 강의 시간에 배운 내용입니다. * 더블 버퍼링 * 어떤 각도에도 동일한 움직임 간격 적용(x) * 이동 각도에 일치하는 캐릭터 회전(x) 참고사항 * 벡터 그래픽이 아니라 비트맵 그래픽으로 동일한 내용 제출시 가산점 부여합니다. * 교수가 업로드 한 소스는 그대로 써도 무방합니다. * 직선운동만 고려하며, 특정 원운동이나, 곡선운동 적용시 가산점 부여합니다. * 과제에 대한 개인별 면담 시간은 4월 11일 토요일 보강 수업이 끝난 이후에 하겠습니다. |
| 유용한 링크 |
|
※ 윈도우즈 XP상에서 비주얼 스튜디오 6.0을 사용하다 컴파일 할때 프로그램이 멈추는 경우 Visual Studio 6.0 서비스팩 6을 설치하면 문제가 해결됩니다. [서비스팩 6 다운로드] DirectX 9.0 SDK Slim Version : DirectX 9.0 SDK 에서 include, lib 디렉토리만 압축된 파일 입니다. C:\Program Files\Microsoft DirectX SDK 디렉토리에 압축이 풀립니다. [다운로드] |
| 과정 |
| 주 | 내용 | 강의자료 및 소스 |
| 1 |
* 게임의 개념, 장르, 개발 단계 * 도스용 게임 개발(소코반) |
강의자료 콘솔용 소코반 |
| 2 |
* 윈도우 프로그래밍 기초 * 핸들, 윈도우 개념 |
강의자료 창이름 변경 창 만들기 비트맵 그리기 윈도용 소코반 |
| 3 |
* 클래스 개념 및 활용 * 클래스를 활용한 캐릭터 표현 |
강의자료 클래스 예제 몬스터 |
| 4 |
* 게임에서 사용되는 수학 응용 * 수학식을 이용한 그래픽 표현 및 캐릭터 움직임 |
강의자료 Vector_1 Vector_2 Vector_3 Vector_4 |
| 5 |
* 게임에서 사용되는 물리학 응용 * 속도, 가속도, 포물선 운동에 대한 기초를 정립하고 프로그램으로 구현함 |
강의자료 포물선 운동 |
| 6 | * DirectX 프로그래밍 * 3차원 공간에서의 객체 표현방법 학습 |
강의자료 directx 예제1 directx 예제2 |
| 7 |
* Direct3D를 이용한 2D 그래픽스 * 텍스쳐 크기 조절, 회전, 이동, 알파 블랜딩의 이해 |
강의자료 2D exam 1 2D exam 2 2D exam 3 2D exam 4 2D exam 5 |
| 8 |
* Sound 제어 * Wave 파일 이해 및 재생 * 게임 엔진 사용 |
강의자료 bgm.wav bomb.wav bgm.mp3 dsound_1.zip dsound_2.zip |
| 9 |
* 테트리스 * 테트리스 알고리즘 |
강의자료 Direct3D rocket source |
| 10 |
* 테트리스 - 계속 * 테트리스 알고리즘 |
강의자료 테트리스 표준로고 게임화면 예제 테트리스 소스 |
| 11 | * 테트리스 최종 |
DirectX Tetris |