유니티로 방치형게임 간단하게 하나 만들어보고싶은데
개발경험이 짧아서 모르는게 많거든요.
방치형게임은 자동사냥일텐데 이때 '자동'이라는걸 어떤식으로 구현해야함??
지금까지는 키를 직접 입력받아서 키 누른대로 액션이 나가고 거기에 몹을 처치하는 방식만 해봤지 자동사냥 같은걸 구현해본적이 없어서 그 근본적인 방법 자체를 모르겠음..
예를 들어서 캐릭터 스킬목록이 쭉 리스트에 담겨있고 여기에 사용가능한 스킬을 하나 정해서 그 스킬의 사거리만큼 캐릭터 주위를 검색하고 가장 가까운 몹을 서칭해서 그 몹을 향해 스킬을 날린다 뭐 이런식일까요??
짜기나름
그보다는 게임이 꺼져있을 때도 돌아가는 게 더 중요한 구현일 듯. 이걸 해결하려고 하다보면 지금 그 질문에 대한 해답도 보일 거 같아.
이건 좀 어려워보이는데.. 여기까지 구현이 가능할까 싶긴하네요 ㄷㄷ; 대충 켜져있을때 분당 평균경험치같은거 구한담에 꺼지는 순간부터 시간 체크해서 다시키면 그 시간만큼 평균경험치 이전에 구한걸 더해준다거나 이정도도 좀 쉽지않아보임 초보라서
ㅇㅇ 구현방식은 나도 그렇게 생각함. 방치형 게임마다 접근 방식은 다르겠지만 자동사냥 자체는 결국 분당 경험치만 올려주는 역할이고 실제로 배틀이 굴러가는 건 겉치레일 뿐이니 정밀하게 구성할 필요는 없다고 생각해. 액션게임처럼 정밀한 피격범위와 타격판정을 만들고 몹으로부터 경험치를 얻는 걸 구현하려면 빡세니, 반대로 분당 경험치는 이미 정해져있고 거기에 맞는 연출이 재생되도록 하는 식이 좋을 것 같음
아 그런식이였구나 아예 몰랐음 진짜. 난 진짜로 자동사냥이 몹 때리고 죽는거 판정 계산 다하면서 경험치 들어오는식인줄 알았음.. 그러면 뭔가 오히려 더 쉬운건가 전투 구현이?
구현은 쉬운데 그럴싸하게 보이게 하는 건 어려운 영역 같음. 가령 1분에 경험치 100씩 들어오고 승률이 50%라면, 10초에 한판씩 배틀이 진행되서 6판중 3판은 이기고 3판은 지는 연출을 만들면 되겠지. 이미 승패는 정해져있으니 영웅이 몹과 투닥거리고 10초 지나면 승리! 혹은 패배! 이러는 식. 단순하게 구현하면 서로 말뚝띨만 하다가 승패 결과 나오면 되겠고 더 욕심부리면 막 스킬쓰고 회피하고 그러면 그럴싸할 듯.
ㄳㄳ 많은 도움이 되었어용. 방치형게임이 이런식으로 만들어지는지도 첨알았네요
화이팅요!
캐릭터가 비주얼적으로 어떻게 움직이건 그 캐릭터가 낼수있는 시간당 대미지 회복 평균값이 있으니 그걸 기준으로 사실은 3으로 1000깍기인데 비주얼적으로만 자동으로 움직이는척 하는게 방치형게임아냐?
아 그니깐 내부 데이터같은건 어차피 평균값 있으니 그걸로 처리되는건데 겉으로 사냥하는게 보이는건 그냥 일종의 연출같은? 그런느낌이란거임? 이런 방식은 더더욱 낯설어서 넘 어려운데;