최종 발표 학번: 2010182020 이름: 박기범 학번: 2012180044 이름: 정영옥.

Slides:



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

2D 게임 프로그래밍 1 차 프로젝트 배태민. 목 차목 차 ◎ 게임컨셉 ◎ 게임플레이 ◎ 개발범위 ◎ 개발일정.
게임엔진 Term Project 학번 : 이름 : 오민형 2D 게임 프로그래밍 Project.
1차 발표: Control Artist 학번: 이름: 서민성.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
어서와 Java는 처음이지! 제20장 실전프로젝트 #2.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
게임 엔진 : 프로젝트 PPT_3 참참참 김 현 원.
2009-1학기 프로젝트 수업 프로젝트 I, III, V, VII 학기.
Java 프로그래밍 - 팩맨(Pacman) -
5강. Servlet 본격적으로 살펴보기-I 프로젝트 만들기 doGet() doPost()
3D Project Cloud Warcraft 박 종 선.
Revenge of the Zombie:2차 발표
2d 게임 프로그래밍 기말 프로젝트 1차 발표 김대현.
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
자바 5.0 프로그래밍.
1차 발표: 프로젝트 발표 가이드라인 학번: 이름: 강병욱.
Power Java 제14장 배치 관리자.
유니티 튜토리얼 실습.
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
3차 발표: 프로젝트 발표 학번: 이름: 주창환.
Method & library.
2d 게임 프로그래밍 galaga 유진명.
인터넷응용프로그래밍 JavaScript(Intro).
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
2DGP 2차발표 유창민.
2D게임 프로그래밍 1차 발표 자료 정재훈.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
2D Game Programming Project 1
웹디자인
20장. 객체지향 프로그래밍 01_ 객체지향 프로그래밍의 시작.
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
인체 대 탐험 3D GAME ENGINE 게임 공학과 이성진.
2D 게임 프로그래밍 BUBBLE BOBBLE 제민경.
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
2D게임 프로그래밍 프로젝트 총은 사기입니다(가제) 박상윤.
WPF 3D 그래픽 발표자 : 조 현 민.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
P.S.S 3G 60% 비시바시 프로젝트 10월 21일 (월요일) 밀어서 잠금해제.
C# 07장. 객체 지향 개념.
2D게임 프로그래밍 1차 프로젝트 배태민.
모 바 일 게 임 제 작 한국IT전문학교 박재성.
Animation copyright
플래시 CS3 액션스크립트3.0.
게임공학과 장민석.
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
늑대인간 황 보 선.
3차 발표: 양궁 게임 학번: , 이름: 조형윤, 박지훈.
2D 게임프로그래밍 프로젝트 발 록 런 김대호.
애니메이션 제작 기법 2D 애니메이션 3D 애니메이션 임희영.
위모트를 사용한 교통 정리 게임 김순경의 로망 3차 발표! 김영채.
가둬라 버블버블! 터트려라 팡팡!.
2D game programing 게임공학과 임종현.
2D 게임 프로그래밍 프로젝트 박태언.
2D 게임 프로그래밍 제안서 김보명.
2D 게임프로그래밍 프로젝트 - Air Clear 심석용.
학번 : 이름 : 김종걸.
멀티미디어 활용 -플래시 CS3 류 정 남.
학번: 이름: 견정수 학번: 이름: 장성우 학번: 이름: 조재훈
OpenGL 프로젝트 「링 통과하기」 게임&멀티미디어 이인석.
2D Game Programming 1차 발표 배강산.
김덕용 게임 엔진론 Project 2차발표.
TANK TANK 팀명 땅크로 밀어부리 것소 팀원 학번 이름 역할 204?? 류소준 프로그래밍 이진홍 그래픽
Power Java 제14장 배치 관리자.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
7 생성자 함수.
6 객체.
웹 사이트 분석과 설계 학과 : e-biz 경영학과 2-2 학번 : 이름 : 이재섭.
20 XMLHttpRequest.
Presentation transcript:

최종 발표 학번: 2010182020 이름: 박기범 학번: 2012180044 이름: 정영옥

1. 구현 내용

구현 내용 OgreSDK 리소스들을 이용해서 구현. 캐릭터 애니메이션 및 방향 회전 캐릭터 및 카메라 & 화면 조작 HeightMap을 이용한 높낮이 있는 맵. 다양한 조명들 구현. 랜덤 방향으로 돌아다니는 객체 구현. 오브젝트들의 바닥 충돌 체크. 캐릭터 공격 모션 충돌 체크. 적이 죽을 때 Juicy한 리액션 구현. 점수 화면 표시를 위한 Overlay 구현. SkyBox를 이용한 하늘 구현. 사운드 구현

1. 구현 방법

구현 방법_1 < 전문가의 코드 인용 > 지형지물은 ogre3d 홈페이지 Tutorial3 코드인용 메인 캐릭터는 ogreSDK 샘플코드 인용 전문가의 코드를 보면서 코딩스타일과 여러 함수들과 그것의 구현 방식을 습득함.

구현 방법_2 < 나름 클래스 설계 > Class: GameObject GameObject 클래스를 Player, Light, Enemy 클래스에 상속시켜 객체들을 관리 공통 컴포넌트과 인터페이스 함수 정의로 코드 재사용성을 높이고 다형성을 구현

Class: Player 구현 방법_3 < 충돌 체크 > 충돌체크영역 Player 공격 모션 시 플레이어가 바라보고 있는 방향을 기준으로 사각영역을 충돌체크 나름의 고민이 많았던 부분. 하지만 해결책은 쉬웠다. 플레이어 초기 방향과 회전 누적값을 Quaternion 곱하면 바라보는 방향이 나옴.

Class: BasciApp 구현 방법_4 < 바닥 충돌 체크 > Ray Object 지형의 y 좌표만 알면 됨, Ogre에서 제공하는 Ray 클래스를 인용. 오브젝트 위치의 상공에서 바닥으로 향하는 직선 광선을 쏴서 지형에 부딪힘으로 y값을 도출하는 것 같음(추정) 응용의 여지가 많을 것 같음.( 총알 충돌, 거리 계산…)

구현 방법_5 < Juicy Reaction > Class: Enemy mTimer 초기값 = 100 프레임당 60*deltaTime을 빼줌으로써 약 1.65초에 음수값이 됨. mTimer가 60 이하(약 0.7초)가 되기 전까진 천천히 위로 그 후엔 재빠르게 위로. mTimer를 변수로 yaw회전, 상대변환 이므로 회전이 서서히 줄어듦. mTimer는 줄어드는 값이므로 등속이 아닌 가속 변화를 보임.

3. 느낀점

코드를 인용해 봄으로써 객체의 상속 구조, 은닉성, 캡슐화의 중요성을 알게 됨. TOPIC_1 < 객체지향 > 코드를 인용해 봄으로써 객체의 상속 구조, 은닉성, 캡슐화의 중요성을 알게 됨. 프로젝트가 진행 될수록 객체 설계 단계의 이런 아쉬움들이 드러남. Static_cast의 남용 무분별한 getter와 setter 객체 역할의 불분명함

Ogre 엔진을 살펴봄으로써 게임 엔진의 전체적인 구조를 알아가고 엔진 구현에 많은 힌트를 얻음. TOPIC_2 < 엔진 구조 > Ogre 엔진을 살펴봄으로써 게임 엔진의 전체적인 구조를 알아가고 엔진 구현에 많은 힌트를 얻음. 여태 배운 과목들의 실적용례를 보고 구현해 보면서 희미했던 것의 실체를 잡게 됨. 또한 셰이더, 스크립트, FSM, 디자인 패턴 등 엔진 구현에 공부해야 할 과목들과 코딩 테크닉들을 알게됨.