아이템 먹었을때 빈 공간 찾아서 알아서 배치되게 하려는데 인벤토리를 2중 포문으로 전부 순회해서 찾는거 말고 다른 좋은방법 있을까
[💬] 타르코프같은 그리드 인벤토리 만드려고 하는데
익명(59.152)
2024-07-16 11:33:00
추천 0
댓글 26
다른 게시글
-
사업자 내면 건강보험료 어떻게 됨?
[6][💬] 익명(14.38) | 24.07.16추천 0 -
온라인 디펜스 게임 매칭 처리
[2][💬] 만찬(lastsupper9) | 24.07.16추천 2 -
놀면서 리소스 제작 연습중
[1][💬] 익명(detchyaa01) | 24.07.16추천 2 -
드디어 BIC 엠바고가 풀리는군요 (는 어제였구연)
[11][📢홍보] 균이게임즈(gyoonygames) | 24.07.16추천 3 -
유니티 프로젝트 버전업중
[1][💬] HoLong(rudahr5020) | 24.07.16추천 0 -
중세 컨셉이 어렵네
[9][💬] 익명(219.248) | 24.07.16추천 0 -
오늘도 벽만 느끼고 가네...
[2][💬] 익명(116.45) | 24.07.16추천 1 -
블렌더에서 만든 오브젝트 콜라이더
[4][🐣질문] 익명(118.39) | 24.07.16추천 0 -
천재 게임기획자 구합니다
[10][💬] 익명(203.255) | 24.07.16추천 2 -
고도가 나쁜 건 아닌데
[9][💬] 익명(119.66) | 24.07.16추천 0
개선하려고해도 결국 2중포문 비슷할거같음 안떠오르네... 다른 방식 있나 궁금하다
인벤토리가진짜 만드는놈들마다 천차만별이라 GDC같은데서 강연찾아보거나 해야할껄
근데 굳이 2중포문써야됨?? 인벤을 xy좌표로쓰지말고 걍 1차원배열로해서 포문하나로 해도될꺼같은데
아니면 변수를 해시 맵같은거로 설정해도되고 포문하나로 될꺼같음
오호라
인벤토리가 스크롤시 무한으로 확장되는경우면 단순 1차원배열이면 문제가 생길수도있겟는데 디아블로식 인벤이 무한인벤일경우는 없겟고
ㅇㅇ 크기는 정해져있긴함
1. 빈칸을 찾는다 2. 해당 빈칸에 배치가능을 판단한다 이 각각으로 2중포문 아님?
어쨋든 굳이 xy 좌표구분해서 이중포문으로 굴릴필요없어보임 1. 임의로 인덱스값을정해서 1차원배열로 구하는방식 2. 해시맵으로 변수설정해서 xy쓰기
ㅇㅋㄳㄳ
함 시도해보겠음
아내가 아이템 사이즈를 고려안했네
내가 말한건 1x1크기의 아이템에만 적용될듯?
아이템 사이즈도 고려해야되면 거기도 배열하나 더추가하면 되겟다 인접한 공간이 비어있는지 체크해서 들어갈수 있는지 없는지 확인하는 배열
갑자기 운영체제 메모리 할당 알고리즘 생각나네
KD 트리 같은 공간 분할 알고리즘으로 아이템이 들어갈 수 있는 공간을 가지고 있다가 그 공간들을 순회하도록 하는 거면 어떨까
타르코프라고 해도 아이템들이 결국은 사각형이기 때문에 x축 길이부터 검사하다가 x축에 공간 있으면 그때에만 y축 검사하는식으로 줄일수 있다
근데 인벤이 넓어봐야 얼마나 넓다고 별 의미 없는짓같다
개발자들 보면 기술에 매몰되서 본질인 제품개발에 뒷전인 경우가 많은듯
이런 최적화는 update문에서 하라구
update아니면 성능영향 별로 없나?
이런건 매프레임 실행되는것도아닌데 대충짜고 나중에문제되면 고쳐도돼
나도 구현해야 해서 막 생각난대로 떠드는건데 비트연산으로 배치가능한지 판단할수 있지 않을까 1. 인벤토리에서 빈칸을 0, 차있는칸을 1로 쓰는 InvenBit(BigInteger)를 하나 만들어서 인벤토리 빈칸을 기록하게 만듬 2. 아이템도 아이템이 인벤의 왼쪽 위에 있다고 가정하고 ItemBit(BigInteger)로 만듬 3. 지금 검사하는 칸의 인덱스만큼 아이템 ItemBit 값을 뒤로 밈 {ItemBit = (BigInteger.Zero << index)} 4. InvenBit와 ItemBit를 NAND연산 해서 0이 하나라도 있으면 배치불가능
좋은 방법같은데 이미 구현해버림 따흑
걍 2중 반복 해도 어짜피 O(n)인데 굳이?