hong avatar

[게임개발] 고양이 로그라이크 작업일지 008. 여러칸 이동하기

sesangsokuro

Published: 28 Mar 2018 › Updated: 28 Mar 2018[게임개발] 고양이 로그라이크 작업일지 008. 여러칸 이동하기

[게임개발] 고양이 로그라이크 작업일지 008. 여러칸 이동하기

반성


오랜만입니다. 찡찡이아빠, 게임개발맨 세상속으로입니다.

이렇게 드문드문 개발 하면 안되는데... 체력의 한계인지 미루다 간만에 작업을 했습니다.

캐릭터 이동입니다.

우선은

1. AStar 알고리즘을 이용해서 캐릭터 이동 가능한 기반을 만들구요.

( AStar는 벽, 바닥없는 구멍 등을 피해서 이동하는 걸 도와줍니다 - 길찾기 기능이죠 )

2. 플레이어 턴일때 화면 클릭( 사용자 입력 ) 을 하면 해당 경로를 남은 액션에 넣어줍니다.

액션은 플레이어나 몬스터가 행동하는 행동 1개를 뜻합니다.

마법 캐스팅, 우측의 적공격, 물약 마시기, 템 줍기와 같죠.

인벤토리 열기, 닫기등은 액션에 포함되지 않습니다. 입출력 단에서 해결합니다.

3. 액션이 있는 경우 해당 액션의 내용에 따라 데이터를 변경하고 화면에 그려줍니다. ( 액션 체크 상태 )

( 위치가 이동되었다면 이동된 위치에 캐릭터를 그려줍니다 )

4. 몬스터 턴이 다 지나고, 플레이어 턴으로 돌아왔을때

액션 리스트가 비어있지 않는 경우 ( 3칸 이동을 했는데 이전턴에 1칸 이동만 한 경우 2칸 이동 경로가 남아있을 겁니다 )
플레이어는 입력을 하지 못하고 남은 것 중 첫번째 액션을 따라 자동으로 이동합니다 ( 액션이 비어있는 경우는 키보드, 마우스, 터치 입력을 받습니다 )

제가 좋아하는 로그라이크인 돌죽에서는 이렇게 액션이 남은 경우라도 적으로부터 피격 당하거나

새로운 몬스터가 시야에 들어오면 남은 행동을 하지 않고 ( 액션리스트를 비우고 )

사용자에게 입력가능한 턴을 돌려주는데 이것은 나중에 작업하기로 하죠.

결과물 - 움짤

KakaoTalk_20180328_034309083.gif

다음 목표

이제 이동이 가능하게 되었으니

몬스터 AI도 넣어야 될 상황입니다.

다음은 잠자기 상태에서 플레이어를 인식하고 깨어나는 몬스터를 만들어보도록 하겠습니다.

잠자기 상태를 기록할 ( 버프/디버프 ), 와 몬스터 턴에 사용될 몬스터별 AI가 필요하겠네요

우선은 잠에서 깨는 것 뿐이지만요 ㅎㅎ

Leave [게임개발] 고양이 로그라이크 작업일지 008. 여러칸 이동하기 to:

Written by

0.5 * game dev + 0.5 * app dev = 1.0 cat daddy

Read more #kr posts


Best Posts From hong

We have not curated any of sesangsokuro's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From hong