카테고리

팀프로젝트 35

  • 방코드 하나로만 돌던 세션 계층에 친구 초대와 방찾기를 얹었다. 방코드용으로 켜 둔 설정이 초대 조건을 이미 채우고 있었다는 발견과, 검색 필터를 클라이언트로 넘긴 판단.

  • 슬라이드를 기능 목록으로 채우면 게임의 톤이 사라진다. 발표 자료 전체에 택배 브랜드 아이덴티티를 씌워 성격을 표지에서부터 드러내고, 26슬라이드 흐름과 브로셔 구조를 잡았다.

  • 레벨에 걸려 있는 셀 셰이딩 포스트 프로세스와 툰스카이 머티리얼을 에디터에서 열어, 노드 체인과 인스턴스 파라미터를 그대로 옮겨 적었다. 접었던 PP 림라이트·아웃라인 실패 기록까지.

  • 셰이더를 만드는 것과 팀 게임에 정착시키는 것은 다른 일이었다. 팀원 재질 수백 개를 하나도 고치지 않고 레벨 전체에 필터를 거는 대신, 나눗셈 노이즈 증폭과 미연결 머티리얼 입력이 터졌다.

  • Tripo로 생성해 리깅한 펭귄을 FBX로 뽑아 Blender에서 스켈레톤과 텍스처를 확인하고, 텍스처를 파일에 내장해 재익스포트했다. '정말 들어갔는가'를 세 가지 방법으로 검증한 기록.

  • 서로 다른 리그 사이의 리타게팅이 무너져 한 번 우회했던 문제를, 리그 자체를 다시 만들어 정면으로 풀었다. 표준 휴머노이드 리그를 입히고 IK 리타게터·블렌드스페이스·ABP로 이어지는 구조까지.

  • 로비 대기 중에 다음 스테이지를 미리 로드하면 로딩이 짧아진다 — 그렇게 넣은 최적화가 게임 입장 자체를 막았다. 프리로드는 성공하고 있었고, 문제는 트래블의 맵 로드와 같은 패키지를 두고 부딪힌 것.

  • 레벨 조명을 굽자 벽이 탄 것처럼 얼룩덜룩해졌다. 원인은 하나가 아니라 셋이었고 전부 라이트맵이 참조하는 데이터 쪽에 있었다. 셋을 다 고친 뒤에도 남은 노이즈와, 굽지 않기로 한 결론.

  • 클라이언트에서만 전진이 사선으로 휘거나 벽처럼 막혔고, 카메라를 급회전하면 가구가 몸을 뚫었다. 같은 반경을 서로 다른 자로 재고 있었던 것과, 성분 보간이 0점을 관통하는 문제.

  • 공동 운반의 러버밴딩은 튜닝 문제가 아니라 이중 보정 구조 자체가 원인이었다. 되끌어오는 견인을 걷어내고 입력 단계에서 이탈 성분만 지우자 서버와 클라가 같은 결론에 도달했다.

  • 어떤 가구는 트레이스에 안 잡히고, 바닥에 1uu 박힌 가구는 조작을 얼렸다. 무엇보다 '서버는 원격 폰 속도에 손대지 않는다'는 원칙이 정작 견인을 무효로 만들고 있었다.

  • 가구를 들고 걸으면 캐릭터가 순간이동하듯 튀었다. 값을 아무리 조정해도 안 잡힌 이유는 캐릭터 무브먼트가 끝낸 예측 위에 서버가 한 번 더 손을 대는 구조였기 때문. 회전 기준도 몸으로 옮겼다.

  • 에디터에서 되는 것과 패키징된 빌드에서 되는 것은 다른 문제다. 같은 프로젝트를 세 번 패키징하며 실패 원인을 하나씩 걷어내고, 에러 억제 플래그 없이 클린 패키징에 도달한 기록.

  • 수식으로 그린 툰 하늘은 Unlit 이미시브 돔이라 레벨의 태양을 모른다. 그 사이에 다리를 놓아 낮→황혼→밤을 잇고, 팀원 파일을 한 줄도 고치지 않은 채 사운드·이펙트를 얹은 관찰 기반 설계.

  • 플레이 구역 밖으로 못 나가게 막으면서 그 너머가 비어 보이지 않아야 했다. 바리케이드와 원경 임포스터로 가장자리를 채우고, 아웃라인을 볼륨 안쪽에만 그려 배경에 선이 번지지 않게 했다.

  • '지금 뭘 잡을 수 있는지 안 보인다'는 피드백. 패스를 하나 더 얹는 대신 이미 있는 아웃라인 머티리얼 안에서 세피아 외곽선과 노란 링을 같이 그렸고, 화면 가장자리 점선 아티팩트도 잡았다.

  • 도시도 나무도 만화풍인데 하늘만 사실적인 볼류메트릭 구름이었고, 이 하늘은 포스트 프로세스 툰 셰이딩으로 잡히지 않는다. 그 이유와, 스카이돔을 대체한 8단계 노드 그래프.

  • 에디터 두 창에서 되던 멀티플레이가 PC 두 대에서는 하나도 되지 않았다. 방코드 생성부터 P2P 접속·로비 합류·게임 진입까지, 문제→로그→가설→수정 사이클을 일곱 번 돌린 기록.

  • 가짜 데이터로 잘 돌던 세션 UI를 실제 Steam 세션에 붙이자, 화면이 아니라 매칭 방식을 다시 봐야 했다. 방 코드 도입과, 원인을 추측하다 시간을 버린 빌드 경고 C4458.

  • 이미 올라간 커밋 메시지를 규칙에 맞게 고치려다 히스토리 재작성과 언리얼 에셋 참조가 한꺼번에 얽혔다. 커밋을 일괄로 다시 쓰는 대가와, 끊어진 레벨 에셋 참조를 되살린 과정.

  • 패키징 단계에서 처음으로 빌드가 멈췄고, 고쳐서 실행 파일을 뽑아도 Steam 세션이 붙지 않았다. 에디터에서 실행 파일까지 가는 길을 뚫고, 그 사이 어긋난 팀 브랜치를 되돌린 기록.

  • 여러 명이 가구 하나를 드는 게임에서 이동을 클라이언트가 계산하면 화면마다 가구 위치가 달라진다. 코드 전에 복제 표준부터 정한 이유와, 에디터를 막던 BuildId 불일치.

  • 각 문서는 멀쩡한데 합쳐 놓으면 서로 다른 말을 한다. 흩어진 기획안을 하나로 통합하며 드러난 충돌을 덮지 않고 표면에 올려 결정받고, 시안용 이미지와 구현 룩을 분리한 판단.

  • 언리얼은 바이너리 에셋이 많아 머지 충돌 하나가 파일을 통째로 못 쓰게 만든다. 첫 커밋 전에 .gitignore에서 무엇을 왜 빼는지 정하고, 도메인별 소유권과 develop 완충 브랜치까지 세웠다.

  • '아슬아슬하게 함께 든다'는 말로 적힌 채로는 구현자마다 다른 게임이 된다. 어느 각도에서 놓치는지, 속도가 얼마나 어긋나면 흔들리는지를 수식과 튜닝 표로 못 박고 수용 기준까지 정했다.

  • 무거운 가구를 둘이서 들고 계단을 내려가는 장면 하나로 게임이 성립할까. One Pager와 코어 루프로 범위를 닫고, 협동 운반을 어떤 규칙으로 만들지 인게임 시스템으로 푼 기획안.

  • 협동 게임 제안에서 출발했는데 결론은 서로를 의심하는 포렌식 추리 게임이었다. 논의를 붙잡은 기획 프레임워크와, 보상 설계를 현상금 표에서 이진 승패로 단순화한 근거.

  • Ch4 팀플 기획 브레인스토밍 — 튜터님 제안 협동+마피아에서 출발해 포렌식 소셜 추리 'TRACE' 컨셉에 도달한 과정과 스코프·리스크 정리.

  • 맞았다는 걸 알아채게 만드는 건 데미지 숫자가 아니라 흔들리는 화면과 줄어드는 게이지, 붉어지는 가장자리다. 이미 만든 히트 위임 구조를 반대 방향으로 미러링해 경로를 뚫었다.

  • 말단 본을 맞히면 라그돌이 안 흔들리고, 히트스톱을 걸어도 뒤 좀비가 밀고 들어왔다. Mixamo와 UE5의 본 이름 표준이 다르다는 문제와, 충돌 응답을 일시 무시하는 한 세트 패턴.

  • 좀비 Pawn만 늦추면 몸은 멈춰도 AIController의 행동 트리는 풀스피드로 돈다. 흩어진 발사 경로를 하나로 모아 진입점에만 효과를 얹는 구조와, 본 이름이 비어 오던 채널 누락.

  • 카테고리 폴더에 헤더와 소스를 함께 쌓으면 어떤 헤더가 모듈 밖으로 공개되는지 구조에서 안 보인다. 언리얼 표준 구조로 옮기며 include 경로와 빌드가 깨진 지점들.

  • 히트스캔이냐 프로젝타일이냐가 안 정해진 상태에서 히트리액트·이펙트·히트스톱을 먼저 만들어야 했다. 인터페이스 하나로 의존을 끊는 설계와, 코드 리뷰에서 드러난 콜리전 채널 미스매치.

  • 역할 × 마일스톤 시드를 89개 작업의 행 단위 WBS로 펼치고, 행마다 발제 출처·합의 마감일·우선순위를 붙여 블로커를 드러냈다. 그 표를 노션으로 일괄 이관해 타임라인까지.

  • 팀원 다섯의 사전 자료가 채팅·블로그 링크·피그마로 제각각인 상태. 흩어진 설계를 좀비 AI·게임 스테이트·전투 인터페이스로 모으고, 발제와 한 줄씩 대조해 갭을 수치로 만들었다.