구현 리스트
- 이동(Locomotion) + 애니메이션 구현
- 걷기
MoveDirection: Forward,Back,Left,Right - 뛰기
MoveDirection: Forward,Back,Left,Right - 벽 타기
MoveDirection: Up,Down,Left,Right - 빠른 벽타기
MoveDirection: Up,Down,Left,Right - 죽음
체력 0이하의 경우 발생 - 숨쉬기
특정 이벤트 상태가 없을 경우 발생 - 발도
숨쉬기 모드에서 공격 버튼 클릭시 발생
- 걷기
- 공격
- 검
좌 마우스 클릭 시 공격
공격은 최대 3단계 콤보 공격 가능
이동 불가능
우 마우스 클릭 시 몬스터 락온
- 검
- 스텟(몬스터 공용 사용)
- 체력
체력이 0이하 소진될 시 게임 오버 - 기본 공격력
-7 ~ +7의 범위 내 적에게 데미지를 입한다.
몬스터는 플레이어의 기본 공격 + 무기 공격력의 합산으로 계산된다 - 스태미너
플레이어: 뛰기(Shift) 사용 시 소진
몬스터: 공격 시 사용
- 체력
- 맵
- 전투 맵
- 레벨 디자인
- 맵 소환
전투맵은 고유한 Id가 존재한다
전투맵은 고유한 이름이 존재한다
전투맵은 고유한 맵이 존재한다
BattleMapLevel은 전투맵 단 하나만을 가진다. - 몬스터 소환
소형 몬스터 스포너는 다수 넓게 존재한다.
소현몬스터는 한 스포너에서 1~3개의 소환이 가능하다.
대형 몬스터 스포너는 리전에서만 존재하며 단 하나만을 소환 해야한다.
- 맵 소환
- 리전
맵은 6~7개의 구역이 존재한다.
구역의 특징은 전투에 방해되지않게 평평한 지형을 이루고있다.
대형 몬스터의 이동 좌표의 지정 핸들러이다.
레벨 디자인은 서로가 연결되는 그래프 구조로 되어있다.
각 고유 번호를 가지고있다. - 미니 맵
입력 이벤트: M
리전의 고유 번호 표기
플레이어 현재 위치 표기
대형 몬스터의 위치, 이름 표기
캠프 좌표 표기 - 캠프
회복 가능
- 레벨 디자인
- 마을 맵
- NPC
- 요리사(Creator)
- 요리(virtual Create)
몬스터에게 획득한 재료 아이템의 조합으로 요리 생성이 가능하다
재료 아이템 타입은 1~2개 필요
갯수는 1~2개 필요 - 식사
식사는 3개의 서로 다른 요리가 모이면 가능하다
식사시 플레이어의 스텟이 2씩 증가
- 요리(virtual Create)
- 연금술사(Creator)
- 골렘생성
몬스터에게 획득한 재료 아이템의 조합으로 골렘 생성이 가능하다
재료 아이템 타입은 1~2개 필요
갯수는 1~2개 필요 - 체력포션 생성
몬스터에게 획득한 재료 아이템의 조합으로 포션 생성이 가능하다
재료 아이템 타입은 1~2개 필요
갯수는 1~2개 필요- 포션 설명
- 일정 체력을 증가 시킨다.
- 최대 갯수는 20개를 기준으로 한다.
- 포션 설명
- 골렘생성
- 무기 장인(Creator)
- 무기생성
몬스터에게 획득한 재료 아이템의 조합으로 무기 생성이 가능하다
재료 아이템 타입은 1~2개 필요
갯수는 1~2개 필요 - Ui
무기는 그래프 구조의 ListView Ui로 표현
- 무기생성
- 배틀맵 로더
배틀맵 선택
리스트뷰 형태의 배틀맵 리스트를 유저에게 보여준다.
배틀맵 이름, 소형 몬스터의 이름, 대형 몬스터의 이름이 출력된다.
- 요리사(Creator)
- NPC
- 전투 맵
- 몬스터
- 소재 아이템(재료 아이템)
- 획득 조건
몬스터의 죽음 플러그를 세운 대상이 플레이어인 경우
소재 아이템을 획득 - 설명
몬스터는 드랍 가능한 소재의 아이디를 1차원 자료구조 형태로 고유하게 가지고있다.
소재 아이템은 각 고유 id를 가진다.
소재 아이템은 각 소재 타입을 가진다. - 타입
고기소재 타입 = 1
식물소재 타입 = 2
각갑소재 타입 = 3
유기물소재 타입 = 4
- 획득 조건
- 상태머신 FSM
몬스터는 게임중 단하나의 상태만을 가지며 대형몬스터와 소형몬스터는
상태의 타입의 존재가 구분되어 관리된다.
- 소재 아이템(재료 아이템)
- 소형 몬스터
- FSM
- 일반 상태
- 숨쉬기
1f~3f초간의 정지 상태를 유지한다.
지정된 범위 내에서 다음 이동할 좌표를 지정한다.
걷기 상태를 가진다. - 걷기
이동이 완료되면 숨쉬기를 반환한다. - 전투
플레이어에게 공격받았을 시 전투상태 반환.
- 숨쉬기
- 전투 상태
- 일반 공격
범위 내 플레이어가 존재하지않으면 추적 상태로 반환.
근접 애니메이션과 함께 일정 내각범위에 플레이어를 공격한다.
앞으로 약간 이동한다.
일반 공격이 끝나면 거리만들기 상태를 가진다. - 추적
공격당한 플레이어를 추적하여 이동한다
플레이어가 범위내 접근되면 일반 공격상태로 반환한다. - 거리 만들기
플레이어의 반대 방향으로 일정 거리를 빠르게 이동한다.
이동이 완료되면 추적상태를 반환한다. - 잊기
추적상태에서 일정 시간까지 상태변환이 존재하지않으면
일반상태 숨쉬기를 반환한다. - 죽음
- 일반 공격
- 일반 상태
- FSM
- 대형 몬스터
- FSM
- 일반 상태
- 숨쉬기
1f~3f초간의 정지 상태를 유지한다.
지정된 범위 내에서 다음 이동할 좌표를 지정한다.
걷기 상태를 가진다. - 걷기
이동이 완료되면 숨쉬기를 반환한다. - 전투
플레이어에게 공격받았을 시 또는 발견시 전투 상태
- 숨쉬기
- 전투 상태
- 일반 공격
범위 내 플레이어가 존재하지 않으면 추적 상태로 반환.
근접 애니메이션과 함께 일정 내각범위에 플레이어를 공격한다.
앞으로 약간 이동한다.
공격이 끝난 이후 숨쉬기 상태를 가진다. - 추적
플레이어가 일반공격 범위 보다 멀리 존재하면 이동할 좌표를 지정한다.
조건을 달성하면 일반 공격 상태를 가진다. - 숨쉬기
1~3초간의 정지 상태를 유지한다.
이후 흔들기 상태를 가진다. - 흔들기
몬스터 기준 일정 원 범위 내 존재하는 플레이어에게 넉백 및 데미지를 입힌다.
-> 플레이어가 데미지를 입으면 일반공격
-> 플레이어가 데미지를 입지않으면 숨쉬기 - 도망
일정 시간동안 추적상태가 유지되면 특정 리전을 목표 좌표로 이동한다. - 죽음
몬스터의 체력이 0일 경우 - 기절
지정된 수치보다 플레이어의 DFS가 크면 발생된다.
5초간 몬스터는 아무것도 상태를 변환하지않는다.
5초가 지나가면 일반 공격 상태를 가진다.즉사 패턴
체력이 3/1로 내려갈 경우 몬스터는 스킬 공격을 시도하며 피격 플레이어의 HP는 0이 된다.
- 일반 공격
- 일반 상태
- FSM
- 전투맵 클리어
- 보상 UI
대형 몬스터 처치 시 등장
처치 대형 몬스터 이름
처치 소형 몬스터 이름 및 마리수
보너스 소재 아이템
마을로 가기 클릭 버튼 - 마을 맵 이동
마을의 입구에서 플레이어 소환
- 보상 UI
'게임 프로그래밍' 카테고리의 다른 글
3 스텟 구현 + 공격력 (0) | 2024.02.09 |
---|---|
1_2 이동(Locomotion) + 레벨디자인 (0) | 2024.02.06 |
1_1 이동(Locomotion) + 애니메이션 구현 (0) | 2024.02.03 |
[게임 기획 아이디어] 횡스크롤 MMORPG Aron (0) | 2023.11.10 |
게임 메커니즘 아이디어 (0) | 2023.09.08 |