[일지] 게임 제작의 발자국

[U] 개발 일지 #02: 나는 프로그래밍이 정말 적성에 안 맞나보다

련잉엥용 2024. 5. 20. 12:33

0. 시작은 호기롭게

https://ryeonisowhere.tistory.com/entry/U-%EA%B0%9C%EB%B0%9C-%EC%9D%BC%EC%A7%80-01-%EC%95%84-%EA%B7%B8%EA%B2%8C-%EA%B7%B8%EB%9F%BF%EA%B2%8C-%EB%90%AB%EC%8A%B5%EB%8B%88%EB%8B%A4

 

[U] 개발 일지 #01: 일 늘리기 금지 아녔냐고요? ...그럿게 됫습니다.

0. 졸업 작품을 만들게 되었다. 내가 융합전공으로 선택한 학과는 졸업 작품을 만드는 것이 필수적이다. 어차피 게임을 만들고자 들어간 학과인만큼, 이 참에 내 힘으로 게임을 하나 만들어보기

ryeonisowhere.tistory.com

이전 내용은 위를 참조할 것,

호기롭게 시작한 나의 졸작. 개발에 착수한지는 약 한 달 반 가량이 지났다. 짧다면 짧고, 길다면 긴 이 기간을 미친듯이 달리고 나서의 한 줄 평은, "와 정말 졸작은 힘든 거구나." 라는 것.

나는 나를 과대평가하고, 졸작을 과소평가했다. 지금까지의 개발 기간이 실패이냐 하면 그건 아니다. 그럼에도 늦은 것 없이 마일스톤을 달려나가는 중이고, 그 과정에서 많은 시행착오를 거쳤을 뿐이지 졸작은 순항 중이다. 그냥 그 '시행착오들' 때문에 맘이 꺾일 뻔했다는 뜻.

힘든 시간이었고, 앞으로도 힘든 시간이 될 거다. 의지를 다잡기 위해서도 써보는 개발 일지 #2, 지금 시작.

 

1. 인생엔 변수가 너무 많다.

나를 과신한 이야기부터 시작해보자.

그렇다고 해서 내가 나를 너무 잘 믿고, 내가 할 수 있는 범위의 120%를 목표로 했다... 식의 뻔한 이야기는 아니다. 그건 이미 한두 해 전에 졸업했고, 나는 하루 안에 내가 할 수 있는 일의 범위를 잘 알고 있다. 난 이제 어느 정도의 시간적, 체력적 여유를 둬야 나의 일상이 안전한지, 나의 100%를 알고 있다.

그렇지만 나도 내가 언제 감기를 걸릴지까지는 모른다.

그렇다, 이번에 아주 독한 여름 감기에 걸렸었다.

여름에 감기를 걸리는 일이 없던 건 아니지만 그 때의 나보다 지금의 나는 훨씬 건강하고 운동도 많이 하고 면역력도 높아졌다고 생각해서 난 내가 감기를 걸린다는 상황 자체를 생각하고 있지 않았다. 더군다나 내가 푸우욱 쉬어야 할 재충전 시간에는.

차라리 바쁠 때 감기에 걸렸다면 억울하지도 않았을 거다. 아프기야 하겠지만 그 핑계로 집에 있으면서 편안히 작업을 할 수 있으니까. 그렇지만 바쁜 일 다 끝나고, 중간 고사와 중간 과제가 다 끝나고 나서 놀기 시작한 첫 날, 인후통이 밀려왔다.

난 인후통을 정말 싫어한다. 아침에 일어났을 때 인후통이 느껴지면 그날 하루 기분은 0점에서 시작하는 것일 정도로... 코 감기나 몸살, 근육통 같은 것들은 비교적 괜찮은데 유독 인후통이 정말 힘들다. 그런데 인후통으로 시작하는 여름 감기라니... 그것도 신나게 노는 첫 날, 사람들과 모여 하하호호 즐겁게 이야기하고 있을 때...

오랜만에 만나는 사람들도 많아서 기대하던 모임이었는데, 이 때문에 어쩔 수 없이 일찍 나와서 집에 가서 푸욱 잤다. 그 다음 날에도 전혀 낫지 않아서 병원을 다녀오고, 약을 받아왔다. 이번 감기는 독했다. 몸살도 심하고, 일에 집중이 잘 안되고, 약 때문에 헤롱헤롱 졸렸다. 그렇지만 그럼에도 난 할 일을 다 했다.찜팩을 무릎 위에 두고 몸을 뜨끈하게 한 채로 코딩을 했다.

하지만, 이 때 제대로 푸욱 쉬지 못한 게 화근이 되었는지 추후에 다시 바빠질 때 한없이 멘탈 컨디션이 안 좋아지더라. 재충전 후에 다시 크런치 진입(?)을 했다면 훨씬 튼튼했을텐데, 그건 아무래도 많이 아쉽다. 아무리 마일스톤을 여유 있게 짜두어도 어쩔 수 없는 변수는 그 모든 여유를 조금씩 조금씩 갉아먹어 없애버린다. 나를 과신하긴 했지만 이건 여전히 내가 어떻게 해결할지 모르겠다.

사실 해결 방안이라곤 일을 덜 하는 것이겠지만... 그럴 일은 당분간 없을 것이고.

 

2. 프로그래밍과 빡빡한 일정은 서로 상극이다

프로그래밍을 하다 너무 지쳐서 주변 프로그래머들에게 물었다. 도대체 어떤 게 재밌어서 프로그래머를 하기로 선택했냐고. 대답은 다들 비슷했다. 문제를 해결하고 코드를 짜는 게 아무리 어려워도 그 해결책을 찾는 순간의 희열이 엄청나다고. 깔끔한 코드 구조를 보면 뿌듯함을 느낀다고.

인정한다, 그건 분명 매력적인 일이다. 하지만 난 그보다 프로그래밍을 하며 조여오는 스트레스가 더 크다. 누누히 이야기하지만 난 그날의 할 일을 잘게 나누어 체크 박스를 채워나가는 형식으로 할 일을 하는 것을 좋아한다. 매일매일 할 일은 크고 작은 것들이 10개로 나뉘어 정해져 있다. 빠르게 하나를 끝내고, 또 하나로 넘어가서 끝내는 방식으로 체크박스를 채워나갈 때마다 성취감을 최대로 끌어올려 동기부여를 하는 방식.

하지만 프로그래밍의 문제는 그 체크 박스를 언제 채워나갈지 내가 결정하지 못한다는 점이다. 일이 언제 끝날지 모른다는 소리. 내가 짠 코드, 분명 되어야 하는데 안된다. 디버그를 돌리고, 문제를 해결해도 안된다. (내가 초보라서 그런 것도 당연히 있다.) 챗GPT를 붙잡고 "안돼.... 다시 짜줘..."를 반복하다, 띨띨한 GPT 대신 똘똘한 코파일럿과 라이더 조합으로 갈아타서 다시 "안돼... 다시 짜줘..."를 반복한다. 초조함은 밀려오고, J의 통제광적인 면모가 발동된다. 내가 생각한대로 되지 않는 데 대해 답답함을 느낀다.

그리고 그걸 해결하면 다른 게 안된다. 계속 조금씩 나가다 벽에 부딪히니 내가 언제 이 일을 끝낼지 기약이 없다. 물론 이것도 내 실력이 부족한 탓이 크겠지만, 주변 프로그래머들을 보면 애초에 코딩 자체가 그런 과정의 연속인 것 같다. 실제로 그 관련 프로그래밍 밈들도 많고.

난... 그게 정말 적성에 안 맞는다. 예상할 수 없는 문제를 해결하는데서 오는 희열보다는 예상 가능한 결과를 딱딱 내는 편이 좋다. 더군다나 나는 이 외에도 정말 할일이 많아 바쁘다. 여러가지 할일 중에서 하나가 밀리면 다른 것들도 주루룩 밀린다는 이야기다. 압박감이 느껴진다. 이걸 해결하고자 다른 자잘한 할일들을 먼저 끝내다보면 나중에 프로그래밍을 하려고 남은 시간은 턱없이 부족하게 느껴진다. 그럼 미루고 싶어지고, 압박은 더해진다.

심지어 이번에는 정말 허탈함을 느끼는 일이 있었다. 내 게임 속 퍼즐 시스템을 구현하려고 짠 코드를 일주일 동안 고치고, 고치고, 고쳐도 실행이 잘 안되었다. 그래서 다른 프로그래머 동료에게 자문을 구해 얻은 코드 구조를 넣어 다시 코파일럿에게 코드를 짜달라고 요청했다. 물론 한번에 코드가 완성되지는 않았지만, 그건 2-3시간 동안 "안돼...다시 짜줘..."를 반복하다보니 해결됐다.

기뻤다. 분명 기뻤다. 배운 데 대해 뿌듯했다. 그 프로그래머에게도 감사를 표했다. 더 잘 알아가며 코딩을 해야겠다는 생각을 했다. 그런데 꽤 허탈했다. 일주일 붙들고 수정에 수정을 거듭하는 것보다 새로 짜는 게 나을 때도 있구나... 지식이 늘면 늘수록 코딩이 빨라지겠구나, 하는 건 느꼈다. 하지만 역시 이 길은 내 길이 아니라는 생각이 자리하다보니 그 길이 그저 까마득하게 느껴진 것 같다.

그나마 다행인건, 이건 유니티 쪽의 이야기라는 것. 언리얼로 세팅을 하는 경우엔 노드를 이용한 비주얼 스크립팅이 아무래도 더 직관적이어서 그런지, 시행착오를 유니티 쪽에서 다 해두어서 그런지, 조금 더 수월하게 해나가고 있다. 그럼에도 막막하긴 하지만... 우하핫.

 

3. 가장 큰 문제는 번아웃이 슬금슬금 가까워진다는 것

사실 아직도 몸이 성치는 않은 것 같다. 감기의 후유증이 지금까지도 있다. 컨디션과 전염성 때문에 운동도 몇 주 쉬었더니 체력도 그만큼 떨어졌다. 다른 할일들도 많아져서 수면 부족이 지속된다. 발더스게이트 솔플도 해야지 해야지 하는데 못한지 두세 달이 넘어가는 것 같다. 여유가 없다.

계속 달려야 한다. 신체적으론 어느정도 가능할 것 같은데, 이건 다 정신적 체력을 갉아먹어서 신체적 체력으로 바꾸는 거라, 결국은 번아웃을 가까이 끌어들이는 일이다.

조심해야 하는 시기다. 이 시기를 잘 버텨야 한다. 하지만 유연하게, 굽힐 건 굽히면서.

이번 주에는 또 플레이 엑스포에 부스 전시를 나갈 거라 마일스톤이 뒤로 미뤄지는데, 여기에도 부담을 느끼지 않을 담대함이 필요하다. 조금 자만하는 것도 필요하다. 무엇보다 쉴 땐 정말 쉬어줘야 한다.

항상 불확신의 불안이 엄습해오곤 한다. 정말 이렇게 하는 게 나중에 내게 도움이 크게 될까, 차라리 이 시간을 아끼고 다른 걸 하는 게 더 도움이 되지 않을까, 나중에 결국 규모가 축소되면 이 모든 과정이 시간 낭비가 되지 않을까, 이렇게 만들어봤자 퀄리티가 안좋지는 않을까, 다른 부분에서 막혀서 결국 포기하지는 않을까... 그렇게 생각을 하다보면 결국 결론은 시간의 문제다. 그건 정답이 없고 난 또다시 과하게 불안해하는 중이라는 걸 깨닫는다.

그럼에도 난 시간적으로 유리하다. 난 어리단 소리고, 효과적으로 능률 높게 내 경험치를 쌓아가고 있다. 물론 지금껏 게임 경험이 적은 건 절대적으로 불리하겠지만, 대체로 난 꽤 빠른 시간 안에 많은 걸 배워나가는 중이다. 난 그런 내가 자랑스럽다. 그러므로 이 구간에서 조금 늦어지면 어떤가, 사람이 완벽할 수는 없는 거다.

유니티도, 언리얼도, 정말 가이드라인 없이 혼자 헤쳐나가야 하는 길이다. 그런만큼 겁도 많이 나고 두려움이 앞서지만 그렇다고 회피할 수도 없는 노릇이다. 그리고 이 일 모두가 정말 내겐 큰 도움이 된다. 언리얼 BP를 배우는 과정이나, 오랜만에 느끼는 큰 벽이나, 이걸 뛰어넘으면 내가 더 얼마나 성장할지가 기대된다.

다시 한번 다잡는다.

내가 선택한 재앙이다. 버티고, 더 성장해야지.