Win32API와 DirectX를 이용한 게임 프로그램 개발

Slides:



Advertisements
Similar presentations
Doxygen 으로 코드보기 신동진 신수호. 프로젝트 발주 ㅇㅇㅇ NoYea h 프로그래머 1 프로그래머 2.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
게임 마케팅. 국제지역문화학과 김윤기ㅇ 국제지역문화학과 김영호ㅎ.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
게임 소개 손지인.
Windows Function Windows XP Windows 7 Windows 8 FREE 조장 : 김동환 조원 : 전태우
컴퓨터와 인터넷.
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
팀 구성 : 조재민 (팀장), 고광춘, 유기민, 김대진, 이재호 발표 일자:
관광 스마트 북 발행 제안 OSMD( One Source Multi Device ).
게임 플랫폼.
Index SendMemo 기능 Q & A 팀 소개 배경 및 목적 구현
Image & Video processing
게임 엔진 : 프로젝트 PPT_3 참참참 김 현 원.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
3D Project Cloud Warcraft 박 종 선.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
콘텐츠 제작 프로젝트 [교재] - OpenGL 프로그래밍 가이드, 제4판, Dave Shreiner, Mason Woo, Jackie Neider, Tom Davis 공저, 남기혁 역, 정 보문화사, [참고자료] OpenGL Programming.
JSP Programming with a Workbook
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
07. 디바이스 드라이버의 초기화와 종료 김진홍
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
TETRIS FOR QTOPIA.
Visual Basic .NET 처음 사용하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
1차 발표: 프로젝트 발표 가이드라인 학번: 이름: 강병욱.
WinCE Device Driver 실습 #3
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
인터넷 따라 하기 ◆ 인터넷 시작 하기 ◆ 인터넷 끝내기 ◆ 홈페이지 방문 및 정보검색 ◆ 전자우편( ) 가입
SAS Statistical Analysis System 통계패키지 실습 (2011년 1학기)
WIN32 API 대전 TETRIS 시스템제어 허준호 박정욱 손경원 신동헌.
영상처리 실습 인공지능연구실.
정보 동영상의 가공 YoungjinMedia.
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Xscale Educational Kit
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
USN(Ubiquitous Sensor Network)
그래픽 모듈 편집.
윈도우 컨트롤.
Clipping 이진학.
웹디자인
인체 대 탐험 3D GAME ENGINE 게임 공학과 이성진.
2D 게임 프로그래밍 BUBBLE BOBBLE 제민경.
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
2D게임 프로그래밍 프로젝트 총은 사기입니다(가제) 박상윤.
( Windows Service Application Debugging )
오토베이스9 사용자 라이브러리 오토베이스 교육센터 그래픽 모듈 설정과 화면전환에 대하여 자세히 알아본다. <목차>
게임 해적왕국 해적왕국 (가제) 작성자: 고용회.
OpenCV 설정 2.21 만든이 딩딩.
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
늑대인간 황 보 선.
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
3. 모듈 (5장. 모듈).
JSP Programming with a Workbook
발표자 : 이지연 Programming Systems Lab.
2D 게임 프로그래밍 제안서 김보명.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
학번 : 이름 : 김종걸.
2D Game Programming 1차 발표 배강산.
김덕용 게임 엔진론 Project 2차발표.
Installation Guide.
WISE OLAP.
Presentation transcript:

Win32API와 DirectX를 이용한 게임 프로그램 개발 서론 프로젝트 수행 목표 무엇을 개발할 것인가? 1부 게임 장르 소개 및 정의 2부 About Win32API & DirectX 3부 창작 게임 레전드 오브 엘프 소개

프로젝트 수행 목표 21C 최고의 부가 가치 산업으로 떠오른 게임 프로그램이 실제로 어떤 기법을 이용하여 구현되는지 알아보고, 이를 습득한 후 응용 단계를 거쳐 간단한 자작 게임을 개발해본다.

무엇을 개발할 것인가? 1. 게임 명세 2. 개발 정보 PC 게임 또는 비디오 게임 기반의 패키지(Package) 게임 게임 장르 : 롤플레잉(Role Playing) 약 15분 정도의 플레이 타임을 지닌 체험판 형식의 게임 2. 개발 정보 사용 기술 : Win32API, DirectX, 기타 C 계열 언어 제작 툴 : Visual Studio6.0, PhotoShop6.0 미디어 편집기

플랫폼에 따른 게임 장르의 분류 게임 내용에 따른 게임 장르의 분류 체험판 게임이란? 1부 게임 장르 소개 및 정의 플랫폼에 따른 게임 장르의 분류 게임 내용에 따른 게임 장르의 분류 체험판 게임이란?

1. 플랫폼에 따른 게임 장르의 분류 1. Arcade Games : 업소용 게임 (DDR) 2. PC Games : PC 기반 게임 (스타 크래프트) 3. Video Games : 가정용 게임기 전용 게임 (파이널 판타지)

2. 게임 내용에 따른 게임 장르의 분류 1. 롤플레잉 게임(Role Playing Game = RPG) (파이널 판타지, 드래곤 퀘스트) 2. 시뮬레이션 게임 (삼국지, 스타 크래프트, 파랜드 택틱스) 3. 액션 게임 (슈퍼 마리오) 4. 대전 격투 액션 게임 (스트리트 파이터, 철권) 5. 슈팅 게임 (1945 시리즈) 6. 스포츠 게임 (FIFA, 버추얼 테니스, 모두의 골프) 7. 온라인게임/머드 게임 (리니지) 8. 퍼즐 게임 (테트리스, 헥사, 퍼즐 버블버블) (기타) ARPG, SRPG 등의 혼합 장르 게임

3. 체험판 게임이란? 하나의 완성된 게임이 아닌, 홍보 또는 테스트등의 목적으로 게임 내용의 일부분만을 플레이 할 수 있거나 중요한 부분만을 발췌하여 플레이 할 수 있도록 제작한 게임을 말한다. 일반적으로 메뉴나 캐릭터, 시나리오 등의 일부분이 삭제되거나 편집된 경우가 많으며, 행동 범위 역시 제한이 붙게 된다. 또한 플레이 시간이 20분을 넘어가는 경우가 드물다.

2부 About Win32API & DirectX DirectX SDK 게임환경 설정 및 구동방법

1. Win32API란? Win32 Application Programming Interface 32비트 체계의 Windows 기반 응용 프로그램을 쉽게 개발할 수 있도록 OS(Operation System) 자체에서 지원하는 여러 가지 함수와 문법, 인터페이스 환경

2. DirectX란? DirectX 게임개발 프로그래머 1. DirectX란? Window에 설치된 각종 드라이버들 1) 전세계 모든 언어를 통역할 수 있는 통역사의 역할 2) Windows에 설치된 모든 드라이버의 제어 가능 (모든 드라이버를 관리해주는 또 다른 드라이버) 통역 Window에 설치된 각종 드라이버들 게임개발 프로그래머 DirectX 호환

3. DirectX SDK DirectX SDK(Software Development Kit)란? 2) 구성 - DDRAW.LIB - DSOUND.LIB - DPLAY.LIB - DINPUT.LIB - D3DRM.LIB - 그 외 : DirectMusic, DirectShow, Direct3D…

4. 게임환경 설정 및 구동방법 - (1) 1. 화면 관련 객체 생성 2. 게임 모드 설정 1) 윈도우 모드 DirectDraw (화면에 관계된 모든 기능을 지닌 라이브러리) 객체 생성 LPDIRECTDRAW DirectOBJ; DirectDrawCreate(DirectDraw 장치의 고유 식별자 주소, 클래스 변수, 다음 버전과의 호환); 2. 게임 모드 설정 1) 윈도우 모드 DirectOBJ->SetCooperativeLevel(MainHwnd, DDSCL_NORMAL); 2) 풀 스크린 모드 DirectOBJ->SetCooperativeLevel(MainHwnd, DDSCL_EXCLUSIVE || DDSCL_FULLSCREEN); DirectOBJ->SetDisplayMode( 가로픽셀, 세로픽셀, 색상 비트수, 화면갱신 속도, 저해상도 모드 설정);

4. 게임환경 설정 및 구동방법 - (2) 3. 서페이스(Surface) 설정 1) 서페이스란? 이미지 정보를 읽고 쓰는 일종의 저장 공간, API함수를 사용하지 않고도 DirectX를 통해 화면으로 직접적인 접근이 가능 - 화면에 보이는 서페이스 (Surface) : Primary - Primary에 연결되어 있으면서 화면에 보이지 않는 서페이스 (Surface) : Back - Primary에 연결되어 있지 않으면서 화면에 보이지 않는 서페이스 (Surface) : OffScreen

4. 게임환경 설정 및 구동방법 - (3) 2) 서페이스 객체 생성 및 연결 CreateSurface( 만들어질 서페이스의 정보를 담고 있는 구조체LPDDSURFACEDESC2의 포인터, 서페이스 객체의 포인터, 다음 버전과의 호환); DirectOBJ->CreateSurface(&ddsd, &RealScreen, NULL); ddscaps.dwCaps = DDSCAPS_BACKBUFFER; RealScreen->GetAttachedSurface(&ddscaps, &BackScreen);

4. 게임환경 설정 및 구동방법 - (4) 3) 서페이스 객체의 소멸 4) 서페이스를 이용한 페이지 플리핑 Surface 객체를 다 사용하고 응용 프로그램을 종료할 때는 생성한 서페이스를 소멸시켜주어야 하며, 서페이스 객체의 멤버 함수인 Realease() 함수를 사용하면 된다. 4) 서페이스를 이용한 페이지 플리핑 RealScreen->Flip(NULL, DDFLIP_WAIT);

4. 게임환경 설정 및 구동방법 - (5) 4. 이미지 출력 DirectDraw에 내장된 이미지 출력 함수 1. Blt(이미지가 그려질 영역의 구조체, 이미지가 그려질 서페이스 변수명, 이미지를 복사할 영역의 구조체, 복사하는 방법, 여러 가지 효과를 주기 위한 구조체); 2. BltFast(이미지를 출력할 가로 좌표, 이미지를 출력할 세로 좌표, 복사할 이미지를 읽어낼 서페이스 객체, 복사할 영역을 나타내는 구조체, 복사할 방법을 나타내는 플래그);

3부 창작 게임 레전드 오브 엘프 소개 세계관 기본 시나리오 전체적인 게임구성

1. 세계관 루미너스 월드(Luminous World) 게임의 주무대가 되는 물질계(物質界) 검과 마법, 인간과 이(異)종족이 공존하는 세계 중세 시대를 기반으로 하는 판타지 세계 4개의 독립된 영역 (천상계, 물질계, 정령계, 마계)로 구분되는 세계 게임의 주무대가 되는 물질계(物質界) 인간, 엘프(Elf), 다크 엘프(Dark Elf), 드워프(Dwarf) 호비트(Hobbit), 비스트(Beast)의 6개의 종족이 공존하는 영역

2. 기본 시나리오 엘프와 인간이 공존하여 살아가는 이색적인 마을 메이헬. 평화롭기만 하던 마을은 어는 날 몬스터 군단의 습격을 받게 되며 이에 위기를 느낀 촌장은 마을의 유일한 정령 전사 소녀 아이리스에게 이웃 마을 ‘카르포’의 촌장에게 한 장의 편지를 전해주라는 임무를 맡기게 된다. 엘프 족 소녀 아이리스는 그 길로 곧장 물의 마을 카르포로 향하지만, 마을로 가던 도중 주변의 숲에서 몬스터들이 출몰하는 사실에 다시 한번 놀라게 된다. 그리고 숲에서 만난 의문의 여자는 묘한 말 만을 남긴 채 사라지는데…갖은 고생을 하며 겨우 카르포에 도착하지만 그 곳에는 단 한명의 주민도 찾아볼 수 없는데…

3. 전체적인 게임 구성 - (1) 1. 오프닝 2. 메이헬 마을 이벤트

3. 전체적인 게임 구성 - (2) 3. 필드 화면 4. 마의 숲 이벤트

3. 전체적인 게임 구성 - (3) 5. 필드 화면 6. 물의 마을 카르포 이벤트 7. 엔딩