요즘 개발일지 너무 많이 쓰는것 같아서 민망한데, 요즘 엄청 많이 작업했음.

열심히 하다 보니, 자꾸 누군가한테 보여주고 싶어지더라


물 시스템 뜯어고치고, 발견한 버그 고친다고 마지막 개발일지 올린 날 4시 넘어서 자고

9시에 일어나서 햄버거 하나 먹고 오후 10시까지 못 쉬고 계속 고쳤음.

그리고 다음날은 거의 쓰러져서 아무것도 못했고 오늘 유리 추가해서 기분좋게 시뮬레이션을 찍어봤음.

이번 주는 좀 쉴까 고민중임. 밀린 과제들도 해야 하고 너무 지쳤음.



물이 옆칸으로 이동하기도 하고, 어디있는지 알 수 없는 "수압"블록에서 내쪽으로 이동하기도 하니깐 버그를 추적하기가 너무 힘듬.

머릿속으로 시뮬레이션을 돌리는게 불가능함. 

debug.log찍어보면 수천 수만개가 찍혀서 진짜 추하게 문제가 일어나는 블록 좌표를 특정해서 debug.log찍어줬음 ㅋㅋ

이제 그 블록이 가지고 있는 수압이 무엇이냐 같은 정보를 보고 어디서 왜 문제가 일어났는지 추리해야 함



물의 총량이 블록을 물 위에 설치하지 않는 이상 완벽히 유지됨.

아무튼 그동안 존재조차 몰랐던 버그들 다 고쳤음. 


청크 데이터와 별개로 계산용 데이터를 생성해서 그 위에서 스레드로 계산을 돌리고, 계산 종료 후 메인스레드에서 청크 데이터와 동기화 시켜주기 때문에 

이제 스레드에서 돌려도 안전함.


물의 value를 float에서 int로 수정해서 부동소수점에 의한 오차를 완전히 제거해줌.



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c04398cc92aeedf06e5b0801a07831d5a6826ea43e9fdf03460abe0959285e0d64f6e2e970c2b2e45


gif용량이 너무 커서 중간 반복되는부분 조금 자름



viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c04398cc92aeedf06e5b0801a07831d5a6862bf1680fbf7376680c7b741942d278d75d24d61bdc3f35fa32dfd


물 100


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c04398cc92aeedf06e5b0801a07831d5a6862bf1680fbf7376680c7b741942d27db7b844d36b9c7a75fcdfc2d

물 200만큼 넣으면 꽉 차서 반대방향으로 나옴


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c04398cc92aeedf06e5b0801a07831d5a6862bf1680fbf7376680c7b741942d278c25834f6bb893a65f56ec47


여기에 구멍을 뚫으면, 가장 높은 수압블록은 저기 오른쪽에 높이있는 길이 되겠지


viewimage.php?id=2abcdd23dad63db0&no=24b0d769e1d32ca73cec87fa11d0283141b58444220b0c04398cc92aeedf06e5b0801a07831d5a6862bf1680fbf7376680c7b741942d278e74d51f34ec92a35ff91f06

오른쪽 높은 길에서 물이 역으로 왼쪽 방향으로 빠져나감


완전히 빠져나가지 않는 이유는 하나의 블록 위에 0.2 이하의 물이 존재한다면 그 물은 더이상 움직일 수 없다는 조건 때문인데, 이건 어쩔 수 없음.

그리고 물이 이동하기 위해서는 물을 옮길 블록보다 0.2보다 더 많은 물이 있어야 한다는 조건도 있음.

물이 완전히 평평해지진 않겠지만, 계산 횟수를 최소한으로 줄이기 위해서 이렇게 처리함.


정 어색하면 물의 이동을 0.2씩 하지 않고 0.1씩 해야지



기본적인 부분은 완전히 끝났고(버그 몇개 빼고) 이제 게임플레이에서 핵심적인 부분을 좀 구현해보다가(자연재해, 멸망), 가능성 보이면 같이 만들 팀원 모집하고 싶다.