담당 프로젝트 2014. 10. 22. 18:15

Blood Summoner

 


초기 버전 동영상 ~ 개발 도중 촬영한거라 GStar2008 출품 버전보다 완성도가 떨어진다.






아카데미 졸업 프로젝트 지스타 2008 출품!! 

온라인 AOS 게임

개발 기간 : 08년 4월 ~ 08년 11월 11일

개발 인원 : 클라이언트 2명, 서버 1명 외 기획 1명, 디자인 4명

사용 언어 및 라이브러리 : C++, STL, DirectX9, HLSL

개발 툴: VS2005, 렌더몽키, PerfHUD, 소스세이프


담당 업무 : 리드 프로그래머

-  엔진 Architecture 설계 및 구현

-  게임 전반에 걸친 시스템 및 로직 구현

-  프레임워크 구현

스택 기반의 Scene 전환 시스템, 게임 중 투명한 지도를 별도의 장면으로 출력하거나

특정 위치에서 이벤트를 출력 후 기존 상태로 그대로 돌아갈 수 있는 구조

-  수학 및 물리 함수 구현

   라인 충돌, 원 충돌, 평면과 라인 충돌, 점의 포함 여부, 선분 길이

-  엔진 프로파일링 시스템 구현

   초기에 엔진 프레임이 나오지 않는 문제의 원인을 찾기 위해서 사용

   자체 개발한 스마트 포인터와 스키닝 계산에 문제가 있다는 사실을 발견 후 해결

-  스크립트 시스템 구현

   엔진 빌드 정보(시스템, 리소스)

   게임 데이터 (스테이지 정보, 캐릭터 상태)

-  풀 시스템 구현 :  메모리 단편화 방지와 참조 국소성을 좋게하기 위해 사용

   리소스 풀 (참조 카운팅 방식)

   동적 객체 풀 (영웅, 소환수, NPC, 배경, 이펙트, 발사체)

-  멀티스레드 구현

   네트웍 동기화를 위한 로직 갱신 스레드와 렌더링 스레드

-  Scene Factory  : Factory Method 패턴을 이용해서 Scene을 찍어낸다.

-  Actor AI 구현

   주변 정황 탐색 시스템 – 가장 가까운 동료, 적 인식, 동시에 인지하는 적들과 동료들

   가까운 적을 공격하는 공격 상태, 지역을 지키는 홀드 상태, 대기 상태, 강제 이동,

   타겟 공격 등 전반적인 AI와 상태전이

-  FSM 제작

   플레이어 조작 UI, World, Actor

-  길 찾기 & 지형 충돌 맵 시스템 구현

Navigation Mesh 를 이용한 길 찾기 & 지형 충돌맵 시스템

-  Flocking 시스템

   주변 정황 탐색 무리 이동, 가까운 동료나 적과 일정거리 유지하기, 타겟에 접근하기

-  게임 플레이 UI 구현

   커스텀 UI와는 별도의 독자적인 UI 클래스 구현 및 적용

-  네트워크 동기화 FSM 구현

 소환, 각종 스킬 사용, 쿨타임, 업그레이드 시점 등  멀티 플레이시 동기화에 관련된 모든

 이벤트 기반 FSM 구현 적용

-  네트워크 동기화 확인용 로그 출력 시스템

World FSM 입출력 이벤트, 이벤트 발생 객체 ID, 받는 객체 ID, 발생 프레임 등 동기화에 필요한 모든 사항을 텍스트로 출력하는 시스템