DIY/[ RnD중][Unity] Project J(3)
-
[Project J][R&D] 턴제 액션의 핵심 요소, 행동력 구현하기
이번에는 저번 A* 알고리즘을 구현했던 것에 이어서 캐릭터에게 행동력을 부여하고 그에 따라 달라지는 이동 가능 범위를 구현해보겠다. 캐릭터에게 주어진 행동력이 10이고, 직선이동은 1의 비용, 대각선 이동은 1.4의 비용이라 했을 때, 갈 수 있는 범위는 다음과 같다. 원과 비슷하지만, 1 미만의 행동력으로는 이동할 수 없기 때문에 원과는 살짝 다르다. 위 그림은 행동력이 얼마나 남았는지에 따라 달라지는 이동 가능 범위의 패턴을 그린 것이다. 이제 코드를 통해 이 범위를 구현해보자. 행동력에 따라 이동 가능한 타일인지 판별하기 범위 탐색 시작하면 모든 타일들이 0의 값을 가지게 한다. 캐릭터가 현재 위치한 타일에 현재 행동력만큼의 수치를 부여함. 캐릭터 주변 8칸의 타일을 탐색해 (자신의 수치 - 해당 ..
2022.04.22 -
[Project J] 프로토타입 개발 플로우
턴제 전투 화면 시스템 구현하기 1. 유닛 이동 구현하기 A* 알고리즘 R&D 후 검증하기 마우스 클릭 시 월드포인트 변환으로 타일 선택 이동하게 하기. 2. 행동력 구현하기 보유한 행동력만큼의 타일만 이동할 수 있게 하기. - 이동 후 행동력 소모시키기. 이동 가능한 타일의 범위를 표시하기. - 이동 불가능한 타일은 검은색 or 빨간색으로 표시. 행동력이 없으면 어떤 행동도 할 수 없게 하기. - 어떤 행동이든 행동력 소모시키기 3. '근접' 공격 기능 구현하기 적이 내 사거리 안에 있을 때만 공격 가능하게 하기. - 적이 있는 타일까지의 비용을 계산해야 함. if(비용 < 사거리) 일 때만 공격 가능하게 하기. 공격 가능한 타일의 범위를 표시하기. 공격 기회와 행동력이 1 이상 남아있을 때에만 공격 ..
2022.04.12 -
[Project J][R&D] 이동의 기본, A* 알고리즘 구현하기.
https://ansohxxn.github.io/algorithm%20lesson%202/chapter6/#-a-%EA%B8%B8%EC%B0%BE%EA%B8%B0-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B5%AC%ED%98%84--playercs Chapter 6. A* 길찾기 알고리즘 구현 인프런에 있는 Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘 강의를 듣고 정리한 필기입니다. 😀 🌜 강의 들으러 가기 Click ansohxxn.github.io '공부하는 식빵맘'님의 블로그를 보고 배운 내용을 정리한 필기입니다. A* 길찾기 알고리즘 개념 A* 알고리즘은 시작 지점과 목적 지점이 주어졌을 때, 이 두 지..
2022.04.09