충돌 판정과 접촉 보정
원-원, 원-사각형, 축 정렬 사각형 간의 겹침을 판정하는 코드를 구현했습니다. 벽 표면에 닿기만 해도 이전 위치로 돌아가 움직이지 못하는 상황을 구분하도록 접촉 판정에 보정값을 두었습니다.
팀이 직접 만든 BLUE 엔진 위에 제작한 퍼즐 게임입니다. 물리·충돌 기능과 일부 게임플레이·레벨을 담당했습니다.
팀 자체 C++ 엔진 BLUE에서 기하·물리·충돌과 퍼즐 오브젝트·레벨을 구현했습니다. 사물의 시간을 바꾸어 집으로 돌아갈 길을 찾는 퍼즐 게임입니다.

기하 도형·충돌·강체 물리와 퍼즐 오브젝트의 컨트롤러, 일부 레벨을 맡아 접촉 판정과 위치 갱신을 캐릭터 조작에 연결했습니다. JEANs 3인 팀은 팀원이 시작한 C++ 엔진 BLUE를 확장했으며, 설치 패키지·소스·개발 문서·트레일러를 함께 제출했습니다.
섬에 남은 작은 캐릭터가 집으로 돌아갈 길을 찾는 2D 탑다운 퍼즐 게임입니다. 사물에 과거나 미래의 상태를 적용하고, 오브젝트를 옮기거나 조합해 막힌 길을 엽니다. 나무와 씨앗처럼 같은 대상의 서로 다른 상태가 퍼즐의 열쇠가 됩니다.
원-원, 원-사각형, 축 정렬 사각형 간의 겹침을 판정하는 코드를 구현했습니다. 벽 표면에 닿기만 해도 이전 위치로 돌아가 움직이지 못하는 상황을 구분하도록 접촉 판정에 보정값을 두었습니다.
Line2D·Circle·Rectangle·Transform으로 물체의 모양과 공간 정보를 구성하고, Rigidbody에서 이전 위치와 속도를 관리하도록 구현했습니다. 원·사각형의 충돌 검사와 위치 갱신을 팀 엔진의 컴포넌트 구조에 연결했습니다.
벽·문·웅덩이·나무판·횃불과 충돌 보조 오브젝트의 컨트롤러를 구현했습니다. 플레이어에 붙는 보조 충돌 오브젝트가 부모의 Transform을 따라가도록 수정하고, 상호작용 결과가 이동 가능 여부와 충돌에도 반영되도록 연결했습니다.
여러 퍼즐 레벨과 메인 메뉴·옵션·크레딧·스플래시를 구현했습니다. 게임 흐름을 구성하는 장면과 퍼즐 오브젝트를 엔진의 물리·충돌 기능에 연결했습니다.
접촉 판정에 보정값을 적용해 벽에 닿은 상태가 곧바로 이전 위치로 되돌리는 처리로 이어지지 않도록 수정했습니다. 실제로 겹친 경우와 표면에 접촉한 경우를 구분하는 조건을 충돌 코드에 반영했습니다.
플레이어가 벽 표면에 닿는 경우까지 겹침으로 처리하면 이동을 이전 위치로 되돌려, 벽에 닿은 채 움직이지 못할 수 있었습니다.
사각형의 최소·최대 경계로 겹침을 계산할 때 접촉 판정용 보정값을 적용했습니다. 벽 표면에 닿은 상태와 실제로 파고든 상태를 구분하도록 충돌 조건을 조정했습니다.
BLUE의 초기 엔진 구조와 렌더링은 팀원이 담당했습니다. 저는 엔진의 기하·물리·충돌 기능과 일부 게임플레이·레벨을 구현했습니다.

