[게임개발] 고양이 로그라이크 작업일지 008. 여러칸 이동하기
반성
오랜만입니다. 찡찡이아빠, 게임개발맨 세상속으로입니다.
이렇게 드문드문 개발 하면 안되는데... 체력의 한계인지 미루다 간만에 작업을 했습니다.
캐릭터 이동입니다.
우선은
1. AStar 알고리즘을 이용해서 캐릭터 이동 가능한 기반을 만들구요.
( AStar는 벽, 바닥없는 구멍 등을 피해서 이동하는 걸 도와줍니다 - 길찾기 기능이죠 )
2. 플레이어 턴일때 화면 클릭( 사용자 입력 ) 을 하면 해당 경로를 남은 액션에 넣어줍니다.
액션은 플레이어나 몬스터가 행동하는 행동 1개를 뜻합니다.
마법 캐스팅, 우측의 적공격, 물약 마시기, 템 줍기와 같죠.
인벤토리 열기, 닫기등은 액션에 포함되지 않습니다. 입출력 단에서 해결합니다.
3. 액션이 있는 경우 해당 액션의 내용에 따라 데이터를 변경하고 화면에 그려줍니다. ( 액션 체크 상태 )
( 위치가 이동되었다면 이동된 위치에 캐릭터를 그려줍니다 )
4. 몬스터 턴이 다 지나고, 플레이어 턴으로 돌아왔을때
액션 리스트가 비어있지 않는 경우 ( 3칸 이동을 했는데 이전턴에 1칸 이동만 한 경우 2칸 이동 경로가 남아있을 겁니다 )
플레이어는 입력을 하지 못하고 남은 것 중 첫번째 액션을 따라 자동으로 이동합니다 ( 액션이 비어있는 경우는 키보드, 마우스, 터치 입력을 받습니다 )
제가 좋아하는 로그라이크인 돌죽에서는 이렇게 액션이 남은 경우라도 적으로부터 피격 당하거나
새로운 몬스터가 시야에 들어오면 남은 행동을 하지 않고 ( 액션리스트를 비우고 )
사용자에게 입력가능한 턴을 돌려주는데 이것은 나중에 작업하기로 하죠.
결과물 - 움짤
다음 목표
이제 이동이 가능하게 되었으니
몬스터 AI도 넣어야 될 상황입니다.
다음은 잠자기 상태에서 플레이어를 인식하고 깨어나는 몬스터를 만들어보도록 하겠습니다.
잠자기 상태를 기록할 ( 버프/디버프 ), 와 몬스터 턴에 사용될 몬스터별 AI가 필요하겠네요
우선은 잠에서 깨는 것 뿐이지만요 ㅎㅎ
저도 게임 한번만들고싶네요
어렵나요?
팔로 꾸욱~❤
ㅎㅎ 저도 공부하면서 하는거라 쉽지는 않은거 같아요. 근데 재미있어요 ㅋㅋ
게임 만드는 건 참 잼나지요 ^^ 응원 합니다.
ㅎㅎ 응원 감사합니다! 힘낼게요!
오오 몬스터 AI 부분은 좀 자세히 설명 부탁할게요! 차후 크립토게임 만들려고 하는 1인으로 흥미로운 연재네요ㅎㅎ
AI는 사실 저도 하는데 인터넷에 있던 좋은 자료 보고 하는거라 자료 공유하도록 할게요. ㅎㅎㅎ 근데 완성이 되야 포스팅도 하는데 시간이 좀 걸릴거 같아요 ㅋㅋㅋ
앗 '좋은 자료' 매우 궁금하군요ㅎㅎ 기다릴게요!!
hi @sesangsokuro, nice to see you again.
thank you for making me grow in steemit
Congratulations @sesangsokuro! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!