top of page

모든 블록은 단단해요 – 아닐 때만 빼고요

작성자 사진: Marcel Dütscher
Marcel Dütscher
6월 22일
1분 분량

우리 클라이언트 메셔에는 철칙이 있어요. 공기가 아닌 블록은 전부 렌더링되고 충돌도 있다는 거예요. 끝. 이렇게 단순화한 덕분에 메시 생성이 빠르고 코드도 간단해요. 바로 이 규칙을 깨고 싶어 하는 기능이 나타나기 전까지는요.


에너지 문. 에너지 울타리에 문을 달고 싶었어요. 플레이어와 친근한 NPC는 그냥 걸어서 지나갈 수 있지만, 야생 동물은 지나갈 수 없는 반짝이는 막이에요. 눈에는 보이지만 어떤 상대에게는 벽이 아닌 블록이죠. 우리 구조가 전혀 예상하지 못한 것이었어요.


해결책은 두 부분이에요. 클라이언트에서는 메셔에 처음으로 의도적인 예외를 뒀어요. 문 블록은 렌더링은 되지만 충돌 메시에서는 빠져서, 플레이어는 그냥 걸어서 지나가요. 서버에서는 진짜 로직이 돌아가요. 생물의 이동 시스템이 걸음마다 에너지 장벽이 길을 막고 있는지 확인해요. 야생 동물과 적은 돌아서고, 동료와 플레이어는 지나가요. 이 확인은 야생 동물, 동료, 행성 적 이렇게 세 이동 시스템 모두에 넣어야 했어요. 그렇지 않으면 한 종류의 생물만 문을 “몰랐을” 테니까요.


솔직한 각주: 날아다니는 생물은 울타리 위를 그냥 미끄러지듯 넘어가요. 버그가 아니라 문서에 적어 둔 한계예요. 울타리는 원래 나는 것을 막지 못하니까요. 이런 의도적인 빈틈은 숨기기보다 적어 두는 쪽이 좋아요.


남는 교훈은 이거예요. “공기가 아닌 건 전부 단단하다” 같은 구조 규칙은 단순하기 때문에 값져요. 다만 그 유일한 예외가 어디에 있는지, 그리고 왜 거기에 있는지는 알고 있어야 해요.

최근 게시물

전체 보기
새 버전이 0.9.2가 아니라 2026.7.19인 이유 🗓️

오늘 업데이트하면 버전 0.9.1에서 2026.7.19로 껑충 뛰어요. 오타처럼 보이지만 의도한 결정이에요. 버전 방식을 “시맨틱” 버전에서 날짜 기반 버전(연.월.순번)으로 바꿨어요. 이유를 설명할게요. 옛 방식은 아무도 묻지 않는 질문에 답했어요. 시맨틱 버전(0.9.1, 1.2.3 …)은 소프트웨어 라이브러리 세계에서 왔어요. 거기서는 훌륭해요. 첫

 
 
대청소 완료: GitHub 캐시를 드디어 제대로 쓰게 됐어요 🧹

지난 기술 글에서 우리 빌드와 검사 파이프라인에 정말로 드는 비용을 재 봤고, 돈이 아니라 기다리는 시간과 저장 공간이 문제라는 걸 알게 됐어요. 그 글은 “정리 작업은 계획했지만 아직 하지 못했다”로 끝났죠. 생각보다 빨리 끝났어요. 오늘 낮부터 메인 브랜치에 들어가 있어요. 숫자를 보여 드릴게요. 결과부터요. 저장소의 캐시 사용량이 항목 63개에 5.3

 
 
한 달에 빌드 천 번 — 그런데 한 번도 돈이 들지 않아요 ⚙️

먼저 정정할 게 있어요. 이 글의 첫 버전은 GitHub 빌드 시간이 다 떨어져서 Pro 계정으로 올릴 수밖에 없었다고 썼어요. 그건 틀렸어요. 문서를 한 번만 봤어도 풀렸을 일이에요. 공개 저장소에서는 GitHub 빌드 시간이 무료예요. 아티팩트와 캐시도요. 저희 저장소는 5월 말부터 공개였으니, 단 1분도 돈을 낸 적이 없고 앞으로도 낼 일이 없어요.

 
 

댓글


더 이상 게시물에 대한 댓글 기능이 지원되지 않습니다. 자세한 사항은 사이트 소유자에게 문의하세요.
bottom of page