포스트
포스트
라이브 서비스 중 메뉴얼의 부재로 인한 이슈 대응
게시글
레바테일이 출시된 지 약 2개월이 지난 시점이었다. 유저의 성장속도는 예상보다 빨랐고, 최고 레벨에 도달한 유저들이 급격히 증가했다. 콘텐츠 소모 속도 역시 빨라졌다. 이를 해결하기 위해 새로운 스토리와 지역을 추가하고, 최고 레벨을 확장하는 업데이트를 준비해 배포를 진행했다. 그동안 플레이스토어와 앱스토어의 배포는 거의 동시에 이루어졌기 때문에 이번에도 큰 문제 없이 배포가 진행될 것이라고 생각했다.
파일 시스템의 한계, DBMS와 소셜 로그인
게시글
DBMS를 본격적으로 공부하기 전까지, 나는 데이터 저장에 대해 꽤 단순하게 생각했다. 서버에 텍스트 파일을 올려두고 필요할 때 읽고 쓰면 그게 곧 데이터베이스 아닌가? 파일 시스템으로도 충분히 구현 가능한데, 굳이 복잡해 보이는 DBMS를 써야 할 이유가 있을까? 이 생각을 바탕으로 실제 프로젝트인 ‘레바테일’을 파일 시스템 기반으로 개발했다. 처음에는 모든 게 단순하고 직관적으로 느껴졌다. 파일을 생성하고, 내용을 쓰고, 필요할 때 읽어오는 구조는 이해하기 쉬웠고 빠르게 구현할 수 있었다.
AI 도구로 3D 메시 · 모션캡쳐 파이프라인 설계 (아티스트 없는 팀의 리소스 병목 해결기)
게시글
작성중
졸업 작품(언리얼 엔진)을 프로그래머 3명으로 진행했다. 타 게임 IP 사용 허락을 받아 개발했지만, 아티스트가 없어 필요한 추가 리소스는 직접 제작해야 했다. • 게임에 쓸 일부 3D 메시와 전용 모션이 필요했고, 이걸 팀이 감당 가능한 방식으로 확보하는 것이 과제였다. • 문제를 5단계로 분할하고, 각 단계에 맞는 AI 도구를 선정해 이어 붙이는 파이프라인을 설계했다. 각 단계에서 원하는 퀄리티가 안 나오면 앞 단계로 돌아가 보완하는 반복 루프로 품질을 맞췄다. 결과적으로 아이디어에서 3D 메시 + 모션캡쳐까지, 팀 내부에서 리소스 병목을 자체 해결했다.
RAM 프리로딩으로 영상 재생 지연 제거하기
게시글
작성중
시작 화면에서 키보드를 누르면 영상이 재생되며 다음 씬으로 넘어가는 연출을 기획했다. 문제: 키를 누른 순간 영상이 바로 나오지 않고, 짧은 검은 화면 뒤에 재생되어 몰입감을 해쳤다. 원인은 영상의 로딩 시간이었다. 방송용 프로그램이라는 특성을 이용해, 실행 시 영상 리소스를 RAM에 미리 프리로딩하고, ffmpeg로 용량을 줄여 로딩 부담을 낮췄다. 결과: 키 입력 시 지연 없이 즉시 재생·씬 전환이 이루어져, 검은 화면 없는 자연스러운 트랜지션을 완성했고 시청자에게 긍정적인 평가를 받았다.
GLSL 쉐이더를 이용한 클리핑과 왜곡 연출
게시글
작성중
기획 요청은 두 가지였다. ① 룰렛이 돌 때 캐릭터 이미지가 프레임 밖으로 삐져나오지 않게 할 것, ② 룰렛 프레임 뒤의 빛 이미지가 물결처럼 자연스럽게 흔들리게 할 것. ①은 Fragment Shader에서 프레임 형태의 마스킹 영역을 만들어 그 안에서만 렌더링되도록 클리핑해 해결했다. ②는 UV 좌표에 시간 기반 sin/cos offset을 더해, 정적인 이미지 한 장이 애니메이션 시트 없이 물결치듯 왜곡되도록 구현했다.• 결과적으로 추가 리소스(스프라이트 시트) 없이 GPU 연산만으로 두 연출을 모두 처리했다.
스팀 온라인 서브시스템 기반 P2P 네트워킹 구현
게시글
작성중
전용 서버(Dedicated Server) 없이 한 플레이어가 호스트(Listen Server), 나머지가 클라이언트가 되는 P2P 구조로 멀티플레이를 구현했다. 문제는 접속 방식의 UX였다. IP를 직접 입력하는 방식은 불편할 뿐 아니라, NAT 환경에서는 포트포워딩·방화벽 설정까지 요구했다. • 이를 Steam 온라인 서브시스템의 Session + 초대