학생작품

국제인재능력개발원에서
도약하는 당신의 미래를 만들어보세요.

학생작품

game | 머시네이터(3인칭슈팅)-최종 프로젝트

페이지 정보

작성자 최고관리자 작성일20-04-09 12:39 조회1,432회 댓글0건

본문

교육과정 : 게임프로그래밍(클라이언트,서버) 개발 실무자 양성  

교육기간 : 19.09.25~20.04.06

 

발표자

박종빈 

프로젝트 명

 머시네이터(3인칭슈팅)

프로젝트

적용기술

 

C++을 이용하여 EngineMinimal의 기능을 읽어들여 엔진의 여러 컴포넌트와 기능들을 참조하기 쉽게 하였으며, 게임 플레이에 있어 중요한 플레이어 캐릭터, 애님인스턴스, 플레이어의 능력치에 관한 기능을 가지고 있는 게임스테이트컴포넌트

플레이어의 조작을 담당하는 플레이어 컨트롤러, 플레이어의 공격수단이 되는 발사체등을 이와같이 기본적으로 플레이어와 직접적으로 관계되는 기능들을 C++로 제작하였으며, 플레이어의 행동을 애니메이션 모션으로 나타나게 되는 부분은 애님블루프린트로 제작하였습니다

 

이와 다르게 플레이어가 상대할 적 캐릭터의 기능들은 블루프린트로 작성하였습니다

플레이어가 발사하는 발사체의 구성은 발사체속성의 액터와 플레이어 클래스에 들어있는 발사체의 작동에 관여하는 발사체생성, 발사, 제어, 중지함수로 구성되어 있으며, 발사체는 먼저 플레이어의 Fire_proj()함수를 통해 발사체의 생성좌표와 방향을 결정하고, 플레이어가 존재하는 공간(UWorld)에 생성될 수 있게한 다음

발사트리거 함수인 Fire_Start()를 통해 발사될 무기의 발사체 위치와 효과 위치의 정보를 담고있는 오른손의 무기발사를 담당하는 Fire_r(), 왼손을 담당하는 Fire_l(), 그리고 시간경과에 따른 이벤트 발생을 위한 SetTimerManager와 함께 쓰여 양손의 발사 간격을 조절하는 Fire_Delay(), 발사중지를 실행하는 Attack_End()로 플레이어의 공격을 구현하였습니다.

 

적 캐릭터의 행동패턴은 플레이어 목표를 인지하는 AIControllerAIPerception과 함께, 적 캐릭터의 행동분기를 나누는 BlackBoardBehaviorTree를 이용하여 적 캐릭터의 행동을, 시야내에 플레이어가 존재하지 않을 시 지정된 구역내에 무작위 순찰을, 시야내에 플레이어가 존재할 시 플레이어를 추격할 수 있도록 적 캐릭터의 인공지능을 구현하였습니다.

 

프로젝트

기획의도

 

프로젝트를 만들면서 그간 배웠던 프로그래밍 구조와 절차, 기능들을 다시 한번 학습하고, 실제 적용해보며, 기능의 구현에 있어서 여태까지 부족한 점과 필요할 점을 스스로 공부할 기회가 되었고

 

최종적으로 프로젝트를 기획하면서 단편적인 학습이 아니라, 목표를 통해 구체적인 계획과 그것을 실무에 적용할 수 있게 종합적으로 재분류할 필요성 또한 배우게 되는 기회를 만들게 되었습니다.

 

 

 

56609dab7febe4dc232b4132e0128ab1_1586403
 

 

56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
56609dab7febe4dc232b4132e0128ab1_1586403
 

 

 

댓글목록

등록된 댓글이 없습니다.