Presentation is loading. Please wait.

Presentation is loading. Please wait.

프로젝트 Final(3차) 발표 학번: 2010181024 이름: 이정훈.

Similar presentations


Presentation on theme: "프로젝트 Final(3차) 발표 학번: 2010181024 이름: 이정훈."— Presentation transcript:

1 프로젝트 Final(3차) 발표 학번: 이름: 이정훈

2 Concept Arts ▼ 3DS MAX로 만든 game play concept gif 애니메이션
리소스 출처 : 1. 3D Models Background Texture -

3 게임 흐름(1)

4 게임 흐름(2)

5 I have done this 구현할 내용 Amount ( 구체적인 수치) 설명 비고 말풍선을 통한 감정 표현으로 대체 구현
OgreBullet의 RigidBodyCollision 을 이식한 월드 구현 컬링 스톤의 이동과 오브젝트들의 충돌을 Ogre용 Bullet Physics 엔진으로 구현 OgreBullet 사용이 불가하다면 직접 충돌 구현 24가지 조합의 컬링 스톤이 나오는 커스터마이징 구현 Trash Bin Bottom Parts : 3 X Trash Body Parts : 2 X Game Characters : 4 = 24 24가지 결과가 나오는 조합으로 전략적인 플레이가 가능하다. 여력이 된다면 추가로 더 많은 parts와 캐릭터들을 구현할 예정 컬링 스타디움 형식의 맵 1 디폴트(Default) 맵으로서 이전의 gif 애니메이션같지 않고 대충이나마 관중도 표현. I/O로서 드래그 앤 드롭 방식 플레이와 커서 스위핑 드래그 앤 드롭 방식의 interaction은 curling stone을 출발시키는 데 쓰이고, 커서 스위핑은 컬링의 스위핑에 쓰인다. UI와 게임 로직 메인 메뉴와 ESC를 눌렀을 때 뜨는 메뉴, 그리고 룰렛과 게임 판정, 플레이를 위한 로직 구현. Artificial Inteilligence와 게임 상태 저장 및 불러오기 컴퓨터와 1대 1 대전을 위하여 구현. State Machine 구현을 통한 구현. 경로 계산은 Bresenham 알고리즘을 이용한다. 캐릭터 별 애니메이션 3종 세트 캐릭터 수 : 4 X 애니메이션 수 : 3 = 12 캐릭터 별로 ‘기쁠 때(승리, 득점 등 ), 슬플 때(패배, 실점 등), 당황할 때(클릭, 자석에 이끌림)’ 구현 추가로 구현해야 된다면 더 구현. 카메라 탑 뷰, 리플레이, 타겟 트래킹 탑 뷰 : 전략 분석용 타겟 트래킹 : 오브젝트들이 움직일때 리플레이 : 경기 다시보기 말풍선을 통한 감정 표현으로 대체 구현

6 Characters’ Abilities
Name : Octopus(가칭) Ability : 반경 1m내의 캐릭터 1명을 촉수로 끌어당겨서 붙잡고 있을 수 있다. Weight : 1 kg Material : Plastic * 정확한 수치에는 변동이 있을 수 있음. Name : Duck(가칭) Ability : 일정 주기로 “꽥꽥"대면서 진동해 쓰레기통이 조금씩 Random하게 움직이게 한다. Weight : 0.5 kg Material : Plastic + Iron Name : Teddy(가칭) Ability : 별 다른 특징 없이 무겁기만 하다. Weight : 3 kg Material : Fabric + Iron Name : Magnet(가칭) Ability : 쇠로 된 물체를 끌어당기거나 같은 Magnet과 특정방향으로 끌어당기거나 밀쳐낸다. Weight : 2 kg Material : Iron

7 Review +말풍선을 통한 감정표현 3차 발표 게임 캐릭터 어빌리티 및 그라운드 스위핑 구현 스톤 커스터마이징 구현
세부 AI 및 게임 저장과 불러오기 구현 게임 다듬기 및 디버깅, 테스트 +말풍선을 통한 감정표현

8 삽질 (1) 기존 소스 코드를 State Pattern과 Component 기반으로 전환 완료했으나,
이미 전환하기 이전부터 꼬인 스파게티 면발 같았던 소스였기 때문에, 디버깅으로도 잡을 수 없는 런타임 에러가 꼬리에 꼬리를 물어 시간만 허비한 꼴이 되었다.

9 삽질 (2) Curling stone customizing을 위한 Bottom Parts 구현을 위해 Body Part에 바퀴를 달 수 있는 방법에 대해 알아보았으나, Bullet이 지원하는 Constraint라 하는 관절들 중에는 바퀴 구실을 할만한 것이 없었고, 할 수 있는 유일한 방법은 Bullet이 지원하는 Vehicle 객체를 이용하는 것이었다. 그런데 기존의 Stone에 Vehicle을 이용하여 바퀴를 달면 땅에 바퀴가 박히거나 바퀴와 Stone이 상호작용의 무한루프를 이루며 안드로메다로 날아가버리는 현상이 생기는데, 이를 해결하고자 시간을 쏟아 부어도 도무지 방도가 나오질 않아 이 역시 포기해야만 했다. ◀무한히 바퀴와 충돌하며 안드로메다로 날아가고 있는 컬링스톤

10 게임을 State Pattern과 Component 합성 기반으로 잘 설계하고 코딩하자 !
삽질로 뼈저리게 느낀 ‘반성할 점' 게임을 State Pattern과 Component 합성 기반으로 잘 설계하고 코딩하자 ! 내가 예전에 짠 코드를 미래의 내가 알아볼 수 있게 코딩하자 ! 과욕을 부리지 말자 ! 이상과 현실 사이의 괴리를 제대로 인지하자 !

11 캐릭터 고유 Ability를 통한 캐릭터 간의 상호작용 구현 게임 저장 및 불러오기 캐릭터들의 emotion 말 풍선 구현
2차 발표 이후 구현한 사항들 캐릭터 고유 Ability를 통한 캐릭터 간의 상호작용 구현 게임 저장 및 불러오기 캐릭터들의 emotion 말 풍선 구현 AI를 더 현실적으로 바꿈 Sky box를 concept에 맞게 upgrade

12 물리엔진이 simulation하는 동작들이 내가 예상하는 것들과 많이 다를 때가 많아서 힘들었다.
어려웠던 점 Ogre 1.9와 Bullet 2.82 간의 호환성이 떨어지는 부분이 좀 있었다. 이러한 수렁들 때문에 개발하기 난해하였다. ( ex – 애니메이션과 충돌형태, constraint … ) 물리엔진이 simulation하는 동작들이 내가 예상하는 것들과 많이 다를 때가 많아서 힘들었다.

13 이미 2차 발표 이전에 하나의 게임이라 칭해도 무방할 정도의 완성도를 보였다.
잘된 점 인터넷 상에 각각 최신 버전인 Ogre 1.9 버전과 Bullet 2.82 버전을 통한 게임 제작에 대한 내용이 거의 전무한데 그럼에도 불구하고 갖은 고초 끝에 실행은 물론 그럴싸한 게임을 만들어냈다. 이미 2차 발표 이전에 하나의 게임이라 칭해도 무방할 정도의 완성도를 보였다. 말 풍선, 게임 저장과 불러오기 등을 통해 좀 더 그럴싸해졌다.

14 게임 시연 완성한 버전을 시연해보도록 하겠습니다.


Download ppt "프로젝트 Final(3차) 발표 학번: 2010181024 이름: 이정훈."

Similar presentations


Ads by Google