개발일지 목록
잡말
드디어! 무기 복구 끝 ! 겸사겸사 리팩토링도 했어.
개발을 진행해갈수록 나의 한계를 깨닫고 조금씩 줄여나가고 있어.
자세한 이야기는 본문에서 !
두리번 거리는 귀여운 댕댕이 보고가.
무기
전에는 원대한 꿈을 가지고 진화 무기 3종류씩 ! 이런 느낌을 가려고 했는데,
어짜피 스토리 게임을 만들고있다보니 후반 갈수록 늘려나가면 될 것 같고,
개발기간이 너무 늘어지다보니 최소한으로만 만들어서 데모는 내놓을 수 있도록 해봐야겠다 생각했어.
기존에 있던 몇몇 무기는 일단 보류하고
스토리의 시작이 될 무기들만 추가해보려고해.
스토리가 진행할수록 강해지는 것을 보여주고 싶어서
업그레이드 해서 장비 슬롯을 늘려줄거고,
초기에는 최대 3개의 무기와 악세사리를 장비하도록 할 생각이야.
요 아래에 있는 무기들은 잠깐 보류하는 걸로 !
13
45
8
이 발톱 무기는 컨셉과 밸런스가 별로여서 제거할 생각이야.
12
즉사 공격은 버릴까 고민중 !
10
이렇게 보니 뭔가 많이 한것 같으면서도 한게 없네...
어쨌든간에 롤에 있는 스킬 하나씩 따와서 무기를 만들면 금방 만들수 있을 것 같단 생각이 들더라고.
개성있는 무기들을 만들어주고 싶다보니 적절히 따오면 도움이 될 것 같아.
시작 스토리는 댕댕이가 주인이랑 놀고 있었는데, 장난감을 던진 순간 용사로 간택받아.
장난감은 마왕성으로 날아가버리고 댕댕이는 이를 쫓아가게 돼.
용사가 어린시절 가지고 놀던 장난감들이 자아가 생겨서 댕댕이를 쫓아왔고!
그래서 용사의 장난감들을 생각해봤는데 역시 용사하면 젤다의 전설의 링크인 것 같아.
대표적인 무기인 활, 칼, 방패, 부메랑을 초기 장비로 선택했어.
활
기존과 동일해 !
방패
기존에는 뱀서의 성경처럼 빠르게 회전하며 투사체를 막아주는 것을 생각했는데,
이러면 너무 빠르게 회전하다보니 투사체를 절대방어해버릴 것 같더라고.
좀더 방어적인 부분에 초점을 맞춰서
아우솔 과거 패시브나 아이작의 파리 처럼 근처를 천천히 회전하되,
다단히트를 빠르게 주도록 했어.
대신 아래 짤처럼 방향에 따라 입체적이게 되면
스프라이트 모양에 따라 콜라이더 모양을 맞춰주기가 어려워서
속도가 느리다보니 위화감을 느낄 듯 해 스프라이트 모양은 고정시키기로 했어.
이전과 크게 차이는 나지 않지만 요런 느낌으로 변경되었어 !
부메랑
여러가지 고민을 많이 하며 만들었는데,
처음에는 나르 큐처럼 만들어서 되던지는 기능을 넣어주고 싶었어.
하지만 수많은 투사체 속에서 부메랑을 신경쓰기는 그다지 좋은 기분이 아닐 것 같더라고.
그래서 여러 조언을 들어보고 결정한 결과
드레이븐 궁 같은 느낌으로 무조건 돌아오는 방식으로 변경했어.
단순히 던지고 돌아오기만 하면 재미없을테니
받을 때 바라보는 방향으로 던지고, 되돌아올 때는 데미지가 더 높도록 설정했어.
참고로 초기 느낌은 이랬어 !
칼
만족스러운 결과가 나온 무기야.
댕댕이가 칼을 휘두를 순 없으니
자아를 가진 칼이 알아서 공격하는 컨셉이야.
부메랑은 직접 공격, 방패는 근처 공격, 활은 근접한 적 자동 타겟팅이라서
이 세가지와 다른 공격방식을 주고싶었는데
근접 적을 자동 타겟팅하면서 찌르기 공격을 하도록 해보았어.
레벨이 낮을 때에는 조금 구려보이지만,
잠재력이 높은 무기가 될 것 같아.
아마도 진화무기가 되면 이런느낌일 것 같고 !
상쾌해 !
혹시 어떤식으로 구현했는지 궁금한 사람이 있을까 싶어 글이 길어져서 짧게 설명하자면,
포지션을 시작위치, 마지막 위치를 구해서 Lerp로 움직여주고
CircleCast를 사용해서 경로상의 적을 체크해서
데미지를 주는 방식으로 구현했어 !
위를 여러번 반복해서 저런 느낌이 되는거고.
스크립터블 오브젝트
이번에 다른 분 개발일지를 보다가 깨달았는데, 그냥 SO를 때려박는것도 나쁘지 않은 것 같아.
기존에 내가 적의 체력 컴포넌트에 접근하는 방법은
성능을 위해 충돌체를 GetComponent하는 방식이 아닌
미리 충돌체들을 Dictionary에 캐싱해두고 해당 딕셔너리에서 체력 컴포넌트를 받아오는 방식이었어.
그런데 이를 위해 Dictionary를 전역에서 접근해야하고
싱글톤을 이용해서 접근중이었어.
이렇게 하면 해당 싱글톤이 먼저 파괴되거나 늦게 생성되면 문제가 생겨버려.
물론 null체크나 스크립트 순서 등의 해결방법들이 있는데
SO를 사용해볼까 생각을 했어.
단순하게 Dictionary<충돌체, 체력컴포넌트>를 가지고 있는 SO를 만들어주고
적은 이를 참조해서 딕셔너리에 자신의 충돌체를 등록, 파괴될 때는 제거해줘.
무기는 공격 시 이 딕셔너리를 참조해서 대상을 얻어오고.
이렇게 하면 SO는 씬과 독립되어있으므로 초기화 순서나 다른 문제를 걱정할 필요가 없어 !
빌드 시에도 제대로 작동하는지 체크를 해봐야겠지만 아마 잘 될 것 같고.
해당 글에서 추천한 영상.
https://www.youtube.com/watch?v=WLDgtRNK2VE
Game architecture with ScriptableObjects | Open Projects DevlogIn this second devlog, we look at how we employed ScriptableObjects to create a flexible and powerful game architecture for "Chop Chop", the first Unity Open...www.youtube.com사운드 매니저 같은 것을 사용할때도 사용할 수 있으니 참고해봐.
이전에 좀비키 개발일지에서도 보았던 내용인데
잘 와닿지 않다가 의존성 주입 관련해서 공부를 해보다보니 좀더 이해가 쉬워진 것 같아.
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=104334
좀비키 9. ScriptableObject로 Prefab 간 의존성 설정[시리즈] 좀비키 개발일지 · 좀비키 0. 번아웃 경험담과 극복기 · 좀비키 1. 스팀 넥스트 페스트 준비 · 좀비키 2. 스팀 넥스트 페스트 후기 · 좀비키 3. 기술스택과 추천 학습자료 · 좀비키 4. 스팀 스토gall.dcinside.com배칭
배칭이 300이 넘어서 프레임 디버거로 확인해보니
데미지 숫자들이 배칭이 되지 않더라고.
이유를 찾아보니 다이나믹 배칭을 켜면 된대.
원리는 모르겠어 !
그런데 사용하는 버전에서는 다이나믹 배칭이 플레이어 설정에 없는거야.
확인해보니 urp는 이쪽으로 옮겨졌나봐.
https://forum.unity.com/threads/dynamic-batching-is-missing-urp.1299333/
배칭이 300에서 30으로 줄어들었어 !
끝
이제 UI도 아이템도 복구해주면 될 것 같아.
그런데 타일 기반으로 경로를 체크해주다보니
언덕 위에서 벽에 붙어있으면 타일 하나짜리라 언덕 아래에서도 경로가 체크되어버려.
아마도 1타일 기준으로 콜라이더와 경로를 체크하지 말고,
1타일을 4조각으로 나누어서 체크해주면 될 것 같아.
아마 시간이 4배로 늘어나겠지만 DFS는 무적이라 큰 영향은 없을 것 같아 !
다음 일지는 미니보스를 죽여서 돌아오도록 할게.
언제 출시함?
모르겠워요...
에고 소드라면 스킬 한번 쓰고 한마디 말하는것도 잼있겟노 모션도 살짝 넣고
에고소드랑 여행하는 뎅뎅이 애니 봤던 기억이....
진화무기에서 특수스킬같이 한번씩 써주고 그럴까 행복회로 돌렸었음 ㅋㅋ 에고소드랑 댕댕이하면 이누야샤밖에 생각안나는것...
이펙트들은 쉐이더임 아니면 그냥 이미지?
빛나는 애들은 pixel arsenel 에셋 이용 칼은 기본 트레일 렌더러
이자식봐라... 멋진걸
기술들에 논타겟 광역기가 많아서, 부메랑이 원하는 방향 몹 정리하면서 길만들기용으로 쓸만하겠다 업그레이드 할수록 공속이나 투사체 개수보다는, 이누야샤 비래골처럼 커지면 길도 더 시원하게 뚫어주고 좋을듯
맞아요 ! 되돌아오는 타이밍에 맞춰 방향 지정해주다보니 여러개가 있으면 걸리적거려서 1개만 있는 대신 파워풀함을 주려고 생각중이에요 !
초고수. 자원관리 어떻게 하는지 궁금하다 ㄷㄷ
유니티 기본기능밖에 사용하지않은 뉴비인거에요 ! 개발일지에 중간중간 관련해서 작성했는데 확인해보시거나 궁금하신 부분 물어보셔도 좋은거에요.
진짜 족고수.. - dc App
대박이다.
충돌체 캐싱이면 그냥 static class 하나 만들고 static dictionary 쓰는게 간단하고 편해
KISS 를 기억해 Keep it simple stupid 뭐든지 간단한게 좋은거임
고마워 매번 고통받아봐야 깨닫는듯
맞음 사실 레이캐스트나 오버랩같은 스태틱 함수 결과물은 캐싱용도로 만들어둔 static 클래스에 있는 배열에다 담아두는데, 그냥 화면에 보이는 충돌체 hashset이나 적 충돌체 Dictionary는 스태틱으로 만들기가 싫더라고... 난바보야...
게임 진짜 너모 귀여워요..
귀엽다니 넘나 기쁜거에요 !
출시 가주아!
재밌어보이노
백날천날 유튜브에 광고때리는 머 로그라이크 이런거 아님?? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
-------------이 위로 실베 열등감 댓글----------------
도트 귀여운데 다른 동물 스킨도 넣줘
너무 개성없이 배끼기만 하려는거아님? 뱀서말고 이거해야되는 이유가뭔데?
그건 니가 찾아봐 병시나
다운 어디서받냐 이 씹년아
아직출시하지 않은거에요...
아니 까려는게 아니라 진심으로 하는 얘긴데 뱀서나 이미 비슷한 여러 게임들이 있는데 사람들이 이걸 할 이유가 있음?
굳이 댕댕이여야할 당위성도 없는 거 같음 무기 같은데서 댕댕이식 차별점이 있는 것도 아니고 전형적인 판타지식 무기들인데
일단 뱀서가 재밌었으면 저 장르가 취향 맞았다는거니까 찍먹해보는거지 혹시나 상위호환일까 하면서
할렐루야 - 아멘
시발 뱀서라이크
노잼
또또 배끼네
오 존나 재미없어보임
ㅋㅋ그래픽까지 따라하네
좆탕특공대보다 훨씬재밋겟네 ㅎㅎ