턴제제작

전투 시스템

아이고이아 2019. 1. 12. 13:29

 

 클릭을 할 수 있는 UI 시스템과 카메라 시스템 은 엄폐 시스템을 만들었으니 이제 기본 전투 시스템을 만들 차례인 듯싶다. 아직은 전투의 효용성이 높은 자리를 찾아가는 건 만들지 않고 그냥 맞다 까는 전투 시스템을 먼저 만들고 그다음에 전투에 유리한 장소로 이동해서 맞다 까는 시스템을 만들어야겠다. 일단은 근접 전투 시스템부터 만들어야겠다. 계속 뛰어만 다니니까 지루하다는 평이 있는데 사실 전투 시스템을 만들라면 선행해야 하는 게 좀 있어서 어쩔 수 없는 면이 있다. 아 그리고 배경 건물을 좀 넣어라는 평이 있는데 이것도 전투 시스템이 끝나기 전까지 추가하는 건 좀 어려운 면이 있다. 일단은 전투 시스템과 배경 둘 중 하나를 선택해서 진도를 빼고 남은 하나는 그다음에 해결할 일이다. 

 아 그리고 앞으로 글을 작성 중일 때는 옆에 그림이 작성 중이라고 뜨도록 했다. 아직 미완성이더라도 보겠다는 사람과 완성되면 보겠다는 사람이 있을 수 있어서 말이다. 

 일단 처음에는 플레이어가 가서 때리는 시스템을 만들어 본다. 그다음 무조건 돌진하는 AI를 만들어 보고 그다음에 이가와를 시전 하는 AI를 만들어야겠다. 그다음에 이가와 상태일 때 엄패를 하고 행동력이 남아 있으면 총을 쏘거나 경계를 하는 AI를 만들어야 할 듯싶다. 그다음이 주변에 동료가 있는지 확인해서 돌격하는 AI이다. 그냥 플레이어가 가서 때리는 거는 한 10초면 영상이 끝날 거 같으니까 최종적인 게 구현되었을 때 초로 만들어야 할 듯싶다. 아 그리고 테스트할 때는 등장인물을 둘로 줄여야겠다.

    public List<Player> activePlayerList = new List<Player>();

 

        foreach (var player in playerList)
        {   
            if (player.gameObject.activeSelf == true)
            activePlayerList.Add (player);
        }

 

 이런 식으로 수정을 해 주어야 할 듯싶다. 비주얼 스크립트 코드를 쓴다면 위에 Reference를 클릭하면 뜬다. 갠 적으로 이 기능 때문에 아톰에서 비주얼 스크립트 코드로 넘어왔다. 

 오늘은 잠깐 옆길로 새서 라즈베리 파이랑 아두이노 라테 판다 같은 싱글보드에 관한 영상을 보는 중이다. 그전에 갈라테이아 설정을 짠 거가 생각나서 말이다. 취미 공학 쪽은 아는 게 거의 없지만 최소한에 정보는 알아두면 좋을 듯싶어서 말이다.  

 문득 드는 생각이 엑스컴처럼 무기나 방어구는 3단계 업그레이드 체계로 가야 할듯싶다. 이게 난 다키스트 던전을 플레이 햇을때 각 던전을 돌면서 3단계 업그레이드까지 끝나면 게임이 좀 루즈해져서 다키스트 던전은 안 가고 그냥 끝냈기 때문이다. 3단계 업그레이드까지 끝냈을 때 한번 사이클을 돌리고 엔딩 미션 주는 게 좋을 듯싶다. 

 사실 지금 어떻게 코드를 짜야할지 감이 안 오고 있다. 일단 할 수 있는 거부터 차근차근해야겠다. 우선 근접 전투 애니메이션을 추가해야지 먼가 보이는 게 있을 듯싶다. 애니메이션 컨트롤로로 가보자. 

 그냥 달리는 거 만들어 논거 같은데 되게 복잡하게 만들어 놨다. 이게 실시간 게임이 아니니 아이들 상태로 돌아간 다음에 검을 내려치게 하는 게 먼가 턴제 게임의 느낌을 살릴 수 있을 듯싶다.

 액션 게임을 염두에 둔 에셋이라 그런지 공격 모션이 좀 화려하고 다양한 듯싶다. 근접 공격을 스킬 별로 여러 개를 만들지 아니면 단일 공격을 만들되 모션만 좀 랜덤으로 나가게 할지가 고민이 된다. 일단 대머리 아저씨로는 감이 잘 안 오니까 액션을 좀 추가해서 테스트를 해 봐야겠다. 

 칼을 추가해야 하는데 어디에 추가해야 하는지 애매하다. 손가락까지 애니메이션을 만들어야 하면 힘드니까 게임 캐릭터들을 전부 주먹을 살짝 쥔 상태로 바꿔야겠다. 그리고 게임에 쓸 칼들을 만들어야겠다. SF느낌이 나는 칼들로 추가하면 될 듯싶다. 게임에 쓰일 칼들의 손잡이 크기를 통일을 시키고 길이도 얼추 규격을 맞춰서 표준화하는 작업을 해야겠다. 일단 이 작업이 끝나고 애니메이션을 추가해야 할 듯싶다. 일단 스케치 펍에서 칼들을 다운로드하였다. 

 디자인이 너무 마음에 드는데 문제가 1안이 넘는 페이스를 자랑한다는 거다. 어느 정도 손을 볼 필요가 있을 듯싶다. 

 이건 내가 예전에 만들었던 거다.

 검을 하나로 하지 말고 여러 개 등장시켜야 할 듯싶다. 각 검마다 업그래이드를 시킬 수 있도록 하면 될 듯싶다. 스턴이나 혼란 같은 스킬을 추가하거나 대미지를 업을 시키던가 머 그런 식으로 검을 키워나갈 수 있도록 해야 할 듯싶다. 각 검마다 아두이노 같은 게 내장이 되어 있다고 하면 될 듯싶다. 검에도 경험치 시스템을 만들까. 컴마다 스킬 트리와 장착물을 붇이는 것도 행각해 볼 수 있겠네. 아니면 주인의 능력 스킬을 이전받을 수 있도록 만들어도 될 듯싶다. 스턴 스킬을 많이 쓰면 스턴이 일정 확률로 붙고 이걸 다른 팀원에게 넘겨줘도 스턴이 걸리게 된다는지 하는 식으로 말이다. 

 검 종류는 3개 정도 정하고 각각의 초기 특색을 지정해 주면 될 듯싶다. 카타나도 추가 할껀데 그건 에셋을 사둔 걸 쓰면 될 듯싶다.

 옛날엔 오른손에 위치시키면 알아서 따라서 움직이고 그렇던 거 같던데 이제는 안 그런다. 어떻게 이문제를 해결해야 할지 모르겠다. 이럴 줄 알았으면 아주 옛날 일지를 지우지 않는 건데 말이다. 쉽지가 않다.

 메쉬는 움직이는데 각 요소의 트랜스폼 자체는 안 움직이기 때문에 생기는 문제이다. 마치 이미 베이크드 된 것처럼 되어 있다.

 움직이는 거에 등록을 해야 문제가 해결된다. 아 그리고 골반이 넓어서 팔을 좀 더 벌리도록 해야겠다.

 왠지 이중에 있을 거 같다. 암스 트레치를 늘렸는데 적용이 안된다.

 아예 팔을 좀 더 벌려주는 애니메이션을 섞었다.  

 이제야 칼을 들고뛰어 다닌다. 원본 모델을 참조해서 손가락에 본을 넣어줘야겠다. 

 이런 식으로 들어가는가 보다.

 손을 때와서 합체시키면 되거나 싶다.

 나는 이게 처음 하는 거라서 앞으로 뭘 해야 되는지 잘 모르지만 아마 내 개발일지를 완성까지 정독한 사람은 시행착오를 좀 더 줄일 수 있지 않을까 싶다. 이게 티 안나는 작업이 많다 보니 글이라도 안 쓰고 있으면 내가 놀고 있는 거라고 생각하는 사람들이 많기도 하고 말이다. 

 주인공 팀은 탐정업과 경비업을 하는 사설 무장단체이다. 이게 국내법상 탐정법은 불법이다. 물론 그것뿐만 아니라 각종 사적 폭력행위 등 불법행위를 발생시키고 다니는데 이건 게임적 허용으로 보면 좋을 듯싶다. 전투 시스템이 없는 워킹 시뮬레이터나 어드벤처 게임은 아니기 때문이다. 마치 홍콩영화에서 허 구언 날 총질하는 것처럼 말이다. 안 그래도 다들 뛰어다니는 거 말고 좀 폭력적인 거 좀 만들어 달라고 지금 계속 피드백이 오고 있다. 이번 포스트가 전투 시스템인 이유인 게 그것이다. 여하튼 싸우려면 주먹을 쥘 수 있도록 하니까 손가락 마디를 만들어야겠다. 

 아직 게임이 완성되려면 멀었는데 인터뷰 같은 건 출시 직전 한 달 정도 남기고 몰아서 해야 효과가 높다.    

 테스트를 하려고 하는데 휴머노이드가 아니라고 안된다. 손을 추가했는데 아니라니 이것 참.

 검색해보니 이런 식으로 뜬다. X표 처진 본들을 제거하니까 휴머노이드가 아니라고 안되던 문제는 해결된다. 블렌더에 오토 리깅 시스템은 매우 강력해서 일단 벗은 단계에서는 딱히 웨이트를 신경 쓸 필요는 없다. 갠 적으로 인공지능 발전을 환영하는 것도 이 때문이다. 한 1년 전 버전에서는 헤어 같은 경우에는 직접 칠했어야 했었다. 나날이 발전해서 너무 좋다. 

 리깅이 잘 되었는지 여부는 보통 믹 사모에서 하는 편이다. 이번에 해야 될 거는 손가락 움직임이다. 손가락 제스처도 어색하지 않고 주먹이랑 이상 없이 잘 쥐어지는 거 같다.  

 손가락 추가한 본인데 필요한 사람은 받아가라.

HandsBone.blend
다운로드
HandsBone.fbx
다운로드

 6명 모두에게 적용하는 작업을 해야겠다.