게임 제작에서 Client 프로그래밍의 역할에 관하여

Slides:



Advertisements
Similar presentations
2D 게임 프로그래밍 프로젝트 학과 : 게임 공학과 학번 : 이름 : 최우진.
Advertisements

2D 게임 프로그래밍 1 차 프로젝트 배태민. 목 차목 차 ◎ 게임컨셉 ◎ 게임플레이 ◎ 개발범위 ◎ 개발일정.
프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Big Data & Hadoop. 1. Data Type by Sectors Expected Value using Big Data.
멀티미디어 신기술 세미나 프로젝트 제안서 김현철 김경률.
게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
게임 엔진 Term Project 한국산업기술대학교 1 차 발표 : 돌팔이지만 괜찮아 학번 : 이름 : 연보영 학번 : 이름 : 연보영.
1 산학공동과제도출 범용 3D 프린터를 위한 3D 스캐너 개발 특허법률사무소에서 3D 프린터의 필요성 특허출원자가 자신의 아이디어를 설명하고, 시작품을 구 현해 보기 위한 급속 조형 방법 필요 이를 지원하기 위해 본 특허법률사무소에서는 국내최초로 3D 프린트 제작사업 시작.
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터 운영체제의 역사 손용범.
캡스톤 디자인 졸업논문 중간보고서 순천향대학교 컴퓨터공학과 빛의전사.
그래픽스 및 웹 응용설계 자기소개 멀티미디어 학과 4학년 장정환.
(1.1 v) 엔트리교육연구소 엔트리 카드게임 설명서.
2d 게임 프로그래밍 기말 프로젝트 1차 발표 김대현.
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.
CUDA Setting : Install & Compile
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
Open Graphics Library 팀 명 : Spes 송정웅 김정환
장 비 사 양 서 제품특징 제품사양 제조국 브랜드 AVID 모 델 E3 품 명 DIGITAL AUDIO MIXER
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
1. C++ 시작하기.
FTP 프로그램 채계화 박재은 박수민.
1차 발표: 프로젝트 발표 가이드라인 학번: 이름: 강병욱.
D / K / I / T / E / C / H / N / O / L / O / G / Y
OpenGL 프로젝트 K.S.C팀.
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
2015 운영체제 특강 수업 소개 Special Topics on Operating Systems
DSU Nanumi FTP - Network Programming 염대영
WIN32 API 대전 TETRIS 시스템제어 허준호 박정욱 손경원 신동헌.
소규모 IPTV 사업자용 실시간 미디어 플랫폼 기술
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Adobe 제품 다운로드 및 설치 방법 안내 Adobe Creative Cloud Adobe License 권한을 받으신 분
USN(Ubiquitous Sensor Network)
Nessus 4 설치 정보보호응용 조용준.
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
최종 발표 VoIP를 이용한 PC to PC 소프트 폰 1조 백상현 장현제.
Clipping 이진학.
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
인체 대 탐험 3D GAME ENGINE 게임 공학과 이성진.
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
2D게임 프로그래밍 프로젝트 총은 사기입니다(가제) 박상윤.
Java , 안드로이드를 이용한 ‘사천성’ Game
Self Introduction Template PowerPoint
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
보인다닷컴 캐릭터 ID 솔루션 제안서 작성자 : 보인다닷컴 기획전략팀 작성일 : 일 Boinda.com
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
2D 게임프로그래밍 프로젝트 발 록 런 김대호.
OpenGL 프로젝트 오영택 이상엽.
모바일(폰)메일 서비스 정흠수 최동훈.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
2D game programing 게임공학과 임종현.
Map Designer Solution 소개자료
2D 게임 프로그래밍 프로젝트 박태언.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
학번 : 이름 : 김종걸.
멀티미디어 활용 -플래시 CS3 류 정 남.
2D Game Programming 1차 발표 배강산.
김덕용 게임 엔진론 Project 2차발표.
소리가 작으면 이어폰 사용 권장!.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
M.B.TEAM 중간 발표 (5.18) 이 제걸 백 인호.
소리가 작으면 이어폰 사용 권장!.
Presentation transcript:

게임 제작에서 Client 프로그래밍의 역할에 관하여 김영상 (athens96@naver.com) 월드테크코리아 선연(07초청) 2008-10-17 제6주 Client프로그래밍

Contents Client 프로그래밍이란 게임 프로그래밍 구조 엔진 프로그래밍 컨텐츠 프로그래밍 게임 제작 프로세스 결론 Reference 2008-10-17 2008-10-17 제6주 Client프로그래밍 2

Client 프로그래밍이란? 게임 프로그래밍이란 Client 프로그래밍이란 사람들의 머리 속에 있는 게임 아이디어를 컴퓨터에 구현하기 위한 작업이다. 게임 프로그래밍에는 크게 Server 프로그래밍 과 Client 프로그래밍으로 나눈다. Client 프로그래밍이란 게임을 플레이 하는 유저가 작동시키는 모든 프로그램을 구현하는 작업이다. Client 프로그래밍은 크게 엔진 프로그래밍과 컨텐츠 프로그래밍으로 나누어진다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 3

게임 프로그래밍 구조 Server 프로그래밍 Client 프로그래밍 게임 엔진 Server 엔진모듈 Client 컨텐츠 Zone관리 툴 모니터링 툴 게임 엔진 Client 컨텐츠 캐릭터관리 툴 게임 UI Map 툴 Effect 툴 2008-10-17 2008-10-17 제6주 Client프로그래밍 4

게임 프로그래밍 구조(2) 게임엔진 Client 컨텐츠 게임 UI 게임을 구성하고 있는 그래픽, 사운드, 네트워크등을 구현한다. Client 컨텐츠 게임 엔진을 사용하여 게임 컨텐츠를 구현한다. 게임 UI 유저가 컨트롤하는 UI를 구현한다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 5

게임 프로그래밍 구조 캐릭터 관리툴 Map 툴 Effect 툴 디자이너가 MAX나 Maya로 만든 캐릭터 데이터를 게임안에 사용하기 위해 변환하고 게임상 필요한 데이터를 추출하기 위한 툴 Map 툴 디자이너가 MAX나 Maya로 만든 여러 지형 또는 물체 등을 배치하고 게임에 맞는 속성을 부여하는 역할을 하는 툴 Effect 툴 Effect를 구현하는 툴 2008-10-17 2008-10-17 제6주 Client프로그래밍 6

게임 엔진 - 그래픽 그래픽 게임 엔진에서 가장 중요한 부분으로 실제로 화면에 보이는 부분을 구현하고 있다. 보통 게임 엔진을 선택하는 가장 중요한 역할을 하고 있다. 그래픽 엔진은 보통 렌더링 엔진이라고 불리운다. (렌더링이란 컴퓨터 프로그램을 사용하여 실제 모델을 모니터의 이미지 형태로 생성하는 과정을 말한다) 초기 그래픽 엔진의 경우 직접 비디오카드를 콘트롤 하여 구현하였으나 시대가 흐름에 따라 각자 그래픽 카드의 자체 API를 제공하기 시작하였고 지금 현재는 모든 그래픽 카드의 통합 API(DirectX, OpenGL)를 제공하기에 이르렀다. 그래픽 엔진은 기본적으로 DirectX와 OpenGL을 기반으로 이루어진다. DirectX나 OpenGL의 경우 파이프라인이라는 과정을 거쳐 렌더링을 한다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 7

게임 엔진 – 그래픽 파이프라인 HARDWARE Vertex shader program Pixel shader program Application Geometry Rasterizer HARDWARE Vertex shader program Pixel shader program 2008-10-17 2008-10-17 제6주 Client프로그래밍 8

게임 엔진 – 쉐이더 사용 예 Unreal 3 HDR 2008-10-17 2008-10-17 제6주 Client프로그래밍 9

게임 엔진 – 쉐이더 사용 예 Unreal 3 Normal mapping 2008-10-17 2008-10-17 제6주 Client프로그래밍 10

게임 엔진 – 게임 툴(Map 툴) UEdit 2008-10-17 2008-10-17 제6주 Client프로그래밍 11

게임 엔진 – 게임 툴 (캐릭터 툴) 2008-10-17 2008-10-17 제6주 Client프로그래밍 12

Client 컨텐츠 게임 엔진의 기술을 바탕으로 기획자가 적용하고자 하는 부분을 제작한다. 컨텐츠란 기획자에 의하여 만들어진 게임에서 구현될 내용을 의미한다. 기획자가 원하는 데이터를 프로그래밍에 연동하기 위하여 다음과 같은 툴을 제공해 준다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 13

컨텐츠 에디터 툴 GABEdit 천랑열전 Script Edit 2008-10-17 2008-10-17 제6주 Client프로그래밍 14

게임 제작 프로세스 Pre-production Production Milestones Nearing completion Maintenance 2008-10-17 2008-10-17 제6주 Client프로그래밍 15

게임 프로세스 상에서 프로그래밍의 역할 Pre-production 게임 프로세스 상에서 프로그래밍의 역할 Pre-production Pre Production과정에서 가장 중요한 것은 바로 엔진을 선정하는 것이다. 현재 프로젝트에서 요구되는 기술적인 사항을 파악하여 이에 맞는 엔진을 선택하는 것이 중요하다. 여기서 필요한 기술적인 요소는 그래픽, 네트워크, 물리를 비롯한 모든 기능에 대해 파악하여 선택한다. 직접 엔진을 구현 또는 사용엔진을 선택 하여 Pre-production상에서는 자신이 구현하고자 하는 게임의 가장 기본적인 기술적 기능을 구현하여 Prototype을 제작한다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 16

게임 엔진을 직접 제작 할지, 상용 게임 엔진을 사용할지? 게임 엔진을 직접 제작할 경우 장점 자신의 게임에 맞는 엔진을 제작 할 수 있다. 게임 엔진을 계속 발전 시킬 수 있다면 회사에 엔진 노하우를 축적 할 수 있음 보다 쉬운 커스터마이징이 가능 단점 상용엔진에 비하여 상대적으로 오랜 개발 기간이 필요하다 게임 엔진을 직접 제작할 엔진 개발자가 필요하다. 상용 엔진을 사용할 경우 게임 엔진을 직접 제작하는 시간을 단축시켜 전체 개발 일정을 줄일 수 있다. 신뢰성 있는 사용 엔진을 사용함으로서 일정 수준이상의 퀄리티를 보장 받을 수 있다 상대적으로 많은 초기 비용이 들어간다. 해당 엔진을 사용하기 위한 학습 기간이 필요하다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 17

게임프로세스 상에서 Client 프로그래밍의 역할(2) Production Pre-production에서 구현한 엔진에 필요한 기능을 추가한다. 기획에서 나온 여러 컨텐츠를 구현 순위에 의하여 순서대로 구현 한다. Milestone 우리나라 게임은 대부분 온라인 게임이기 때문에 다음과 같은 마일스톤을 가지고 있다 Alpha Test Closed beta Test Open beta Test 이러한 기간중에 가장 중요한 것은 바로 Bug를 잡는 일이다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 18

게임프로세스 상에서 Client 프로그래밍의 역할(3) Nearing completion 이 과정에서 가장 중요한 것은 바로 Testing 과정이다 Client에서는 Milestone과정에서 얻는 데이터를 가지고 Testing을 한다. Completion Maintenance 제품을 릴리즈 한 후, 기존의 개발팀은 보통 해체 되고 새로운 프로젝트를 진행하며 기존 개발팀중 일부가 Live 팀을 조직하여 계속 업데이트를 해나가게 된다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 19

결론 Client는 크게 엔진과 컨텐츠로 나눌 수 있다. 엔진 프로그래밍은 게임을 구동하는 베이스를 구현하는 일이고 게임 적인 요소의 구현은 컨텐츠 프로그래밍이 담당하고 있다. 개발의 모든 과정은 Client 프로그래밍과 밀접한 관련이 있다. Client 프로그래밍은 게임 개발에서 가장 중요한 역할을 하고 있으며 그래픽, 기획 등 모든 부분을 수용하고 있다. 2008-10-17 2008-10-17 제6주 Client프로그래밍 20

Reference 3D 게임 프로그래밍 , 김용준 , 한빛미디어, 2005 게임프로그래밍제작론(개정판), 김경식 외 홍릉출판사, 2004. 8 Directx9를 이용한 3D Game 프로그래밍 입문, 정보문화사, 2004 Realtime Rendering 2nd edition, Tomas Akenine-Moller, Eric Haines, ISBN 1568811829, 2003.12 Wikipedia , http://en.wikipedia.org 2008-10-17 2008-10-17 제6주 Client프로그래밍 21