- 타이틀: Credere
- 개발기간: 23'06'21 ~ 진행중
- 개발목표: 고퀄리티 싱글플레이 RPG
- 엔진버전: Unreal 5.2.1
- 버전관리: git, git lfs
- 프로젝트 클론 or 다운로드(Git LFS Bandwidth초과로 clone이 불가능 할 경우 다운로드 링크 이용부탁드립니다)
git clone --depth 1 https://github.com/yuntaewoong/Credere.git
Credere.uproject
우측 마우스 클릭Generate VisualStudio Project Files
클릭Credere.sln
클릭Credere
프로젝트 빌드Credere.uproject
실행
w
,a
,s
,d
: 캐릭터 이동
q
,e
: 조작 캐릭터 전환
space bar
: 점프
mouse X
, mouse Y
: 시점 조작
- 23'06'21 ~ 23'06'22 : c++ 개발환경 세팅
- 23'06'26 ~ 23'06'30 : 조작 캐릭터 애샛(paragon 무료 애샛), c++로직 추가
- 23'07'07 ~ 23'07'11 : 맵 애샛(Infinity 무료 애샛), 테스트 맵 추가
- 23'07'18 ~ 23'07'25 : 네비게이션 개발
- 23'07'26 ~ 23'08'02 : 동료 캐릭터 시스템 개발(동료 AI, 조작 전환)
- 23'08'03 ~ 23'08'10 : 자체 스킬,스탯 시스템 개발시도(Gameplay Abillity System알게 된 후에 개발 중단)
- 23'08'11 ~ 23'08'13 : 언리얼 공식 Lyra스타터 프로젝트를 통해 GAS공부
- 23'08'14 ~ 23'08'23 : Gameplay Ability System으로 자동공격 체계 구현
구현 방법: 게임 시작 시 플레이어 조작을 반영하는 AHumanPlayerController
1개와
동료 캐릭터 수만큼의 APartnerAIController
를 스폰.
게임인스턴스 서브시스템을 상속받는 UPlayableCharacterSubsystem
에서 현재 조작할 수 있는 캐릭터 배열, 조작하고 있는 캐릭터를 관리하도록 구현.
플레이어가 q
,e
인풋을 주면 UPlayableCharacterSubsystem
멤버함수를 호출해서 현재 AIController가 조작중인 동료 캐릭터를 possess하고 현재 캐릭터는 남는 AI Controller가 possess하는 로직 실행
자동공격 Ability 구현 방법:
- AutoAttack GameplayAbility 클래스 생성
- Health Attribute Set 클래스 생성
- 캐릭터,적 base클래스에 AbilitySystemComponent 서브 오브젝트 생성 + Health Attribute Set 서브오브젝트 생성
- AutoAttack GameplayAbility의 ActivateAbility함수 구현(UAbilityTask_Repeat를 이용해서 반복 공격 구현)
- ActivateAbility함수에서 사용할 GameplayEffect 블루프린트 생성
- 자동공격함수 호출할때마다 ApplyGameplayEffectToTarget 함수로 GameplayEffect효과 발동