(주) 5민랩 회사 생활 1년 6개월을 맞아, 지난 리뷰 이후 변화된 생각들과 현재 상황을 정리한다. 이 글은 그중 “프로그래밍” 에 대한 내용이다.
프로젝트
지난 반년은 허무하다. 열의는 차갑게 식었고, 방황했다. 주어진 일에만 수동적으로 일했다. 계획했던 목표와 마음가짐은 무너졌다. 진도가 지지부진하자 이전에 만들었던 것을 비슷하게 UI와 연출만 바꿔 다시 만드는 일이 많아졌다.
의지를 잃은 채 반복하는 코딩은 숙달될 일도 없었고, 동기부여가 되지 않았다. 프로젝트의 험난한 파도속에서 방황하다 보니, 목표조차도 잃었다. 앞으로의 일도 자극과 경험이 될거란 기대는 없었다.
사이드 프로젝트와 잠깐의 외출
사내 다른 프로젝트(케이브)를 잠깐 경험하고, 곧 이어서 사이드 프로젝트를 진행했다. 온실속 화초가 되어, 성장하는 일 없이 안주하고 있었는지 다시금 느꼈다. 목표를 했음에도 전혀 바뀌고, 성장 못한 스스로가 너무 부끄러웠다.
밑바닥부터 만드는 과정이 새로운 자극과 경험이 됐다. 이 기회와 경험이 얼마나 소중한지 느꼈다. 누군가 만든 틀안에서 채우기만 하던 나날에서, 틀을 만들고 채우고, 큰 그림을 그렸다. 매마른 성장 욕구의 갈증이 해소됨을 느꼈다. 프로그래밍 뿐만 아니라, 아트/기획 등등 생각지도 못한 분야를 마주하고 부딪히게 됐다.
능동적인 사람이 될려면, 무서워말고 나의 세계를 넓혀야 한다. 게임 제작자로서의 커리어와 인생은 시키는 일만 하는 사람이어선 안된다. 안주하면 안된다. 역시나 “정도”는 다양한 게임의 제작 경험이다. 회사에서 불가능하다면 그냥 내가 하면 됐는데, 안일했다.
끈기
올해 말 혼자서 진행하던 두 프로젝트를 중단했다. “카테고리 이론 번역”은 함수형 프로그래밍과 모든 구조(다소 추상적이지만)에 있어서 의미를 두고 시작했다. ChatGPT의 도움을 받아가며 번역하고 이해하려 했다. 하지만 Part Two의 극한과 쌍대 극한을 다루는 순간 이해를 벗어났다. 추상화의 의미와 활용을 이해하지 못한채로 번역을 옮길 뿐 나의 것이 담기지 않았다.
동시에 진행하던 “V6 Unity migration” 프로젝트를 중단했다. 회사에서 배웠던 것들을 되새김질하며, 이미 공개된 프로젝트를 Unity로 다시 만들면서 유니티를 습득하려 했다. 추가로 게임 산업에 오픈소스 문화가 전무해서 이것을 계기로 오픈 소스의 씨앗을 퍼트려보고 싶었다. 하지만 원본 자체의 결함과 지지부진한 진도가 겹쳐서 중단하게 됐다. 정작 배우는 점보다 원본을 정리하는데 시간을 더 썼다.
둘다 중단한 이유도 있고, 물론 지금도 잘 중단했다고 생각한다. 하지만 정말 “끝”까지 마무리 하지 못한 것은 아쉽다. 필요한 만큼 빼먹어서 여기까지 왔다. 설령 나중가서는 의미가 퇴색되더라도, 이젠 시작한 것을 매듭지을 줄 아는 사람이 돼야한다. 인간 개인적으로도 무언가 끝장을 보는 경험을 반드시 해야한다.
AI
원래도 AI를 쓰고 있었다. inline suggestion은 아주 유용하고, 없이는 불편할 정도로 이미 누리고 있다. 하지만 회사에서 진행하는 프로젝트는 워낙 크고, 로직이 빡빡하게 돌아가고 있어서 코드 생성은 실망스러워서 안썼다. 하지만 우연히 케이브에서 혁신을 엿봤다.
케이브의 모든 코드 생성은 Codex에서 시작한다. agent를 여러대를 돌리면서 극한의 생산성을 뽐냈다. 나는 AI의 한계와 사용처를 알고 있다고 생각했고, 포기했는데 정말 바보였다. 어떻게 구성하고, 사용하느냐에 따라 생산성을 폭발적으로 늘릴 수 있었다.
AGENTS.md를 통해 코드 스타일을 맞추는 과정이 줄어들고, plans를 통해 구현 명세의 조정 과정이 단축되자. 혁신이었다. AI에 대한 시선이 긍정적으로 바뀌자 질문모드로 개념 질문, 코드 리뷰, 네이밍, 새로운 프레임워크 등 폭 넓게 활용하기 시작했다. 생산성은 물론이거니와 배움의 습득과 정리/조사 등등 여러 방면에서 사용하며 나의 시야와 세계 확장됐다. AI의 시대의 도림을 확신했다.
총평
매우 실망스러운 하반기였다. 바로 위 책임자와 CTO님께 뭐라고 해야될지도 사실 잘 모르겠다. 내가 가진 것들을 제대로 보여주지도 못하고, 의지를 잃은채 허송세월했다. 그럼에도 불구하고 앞으로 26년 상반기도 잘 보낼 자신이 없다. 지금 프로젝트에서 성장을 고려할 수 있는 상황인지 모르겠다. 진행자체가 정상적이지 않다고 느낀다.
다행히도 사이드 프로젝트을 시작하며 마음의 불씨를 다시 살리고, 방황했던 성장 욕구를 바로 잡았다. 그렇지만 목표를 전혀 달성하지도 못한 것이 뼈아프다. 더군다나 목표가 있었는지 망각한 채로 허송세월을 보내기도 했다. 핑계를 대자면, 프로젝트의 상황이 최악이어서 멘탈도 안좋았고, 나의 목표를 인지할 여유가 없는 기간이었던 것 같다.
추후 목표
- 나만의 코드 베이스 쌓아두기: 사이드 프로젝트를 종료하고서도 다시 사용할 수 있는 코드 만들기
- 프로그래밍 외 공부하기1(쉐이더): ShaderLab의 간단한 케이스는 이해할 수 있을 정도, 모든 게임의 LookAndFeel을 바꾸는 가장 쉬운 방법은 쉐이더같다.
- 프로그래밍 외 공부하기2(블렌더 기초): 마음에 딱 맞는 에셋을 찾기 전까지 계속 탐색해야함. 중심점 맞추기, 전체 모델에서 특정 모델만 떼어내기 등 활용처는 정말 많다.
- 전공 책 완독하기: 유명한 책들을 많이 읽었었는데, 흘겨 읽고 머릿속에 남는 것이 많이 없다. 어려운 책도 좋고, 이전에 읽었던 책들을 답습하는 것도 좋겠다.