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

[U] 개발 일지 #05: 프로그래머의 소중함을 알게 되는 나날들

련잉엥용 2024. 9. 13. 01:15

0. 나는 멍청하다.

 

바쁘다. 정말 짤막하게 쓰는 일지.

이번 일지는 반성하는 내용이 대부분일 것으로 여겨진다.

요즈음 슬럼프에 마주하며 나는 내가 초창기에 꽤나 자만했다는 사실을 인정해야만 했다.

난 내 프로젝트가 조그맣다고 여겼고, 내가 구현하려는 시스템이 꽤 작다고 생각했다. 그렇지만 그 기준은 이미 게임 개발 동아리에서 높아지는 눈의 기준이었고, 그런만큼 내 프로젝트의 크기 단위는 나 혼자 감당하는 것 이상으로 커졌다.

나는 끊임없이 게임을 축소하고, 내 욕심을 줄이고, 아트를 구현 사항에 맞춰가고 있다.

무모한 시작이었고, 그 값을 치루는 중이랄까.

어느 정도 후회가 되는 것도 사실이지만, 그래도 이 나름대로의 매력이 있는 것 같다.

무엇을 잘못 계산했는지 알아보며 이후의 계획을 세워야 같은 일이 반복되지 않을 것이기 때문에 한번쯤 짚고 넘어갈 타이밍이 되었다고 생각한다.

 


 

1. 내 프로그래밍 지식은 턱없이 부족했다.

 

한 학기 동안 C++ 수업을 들었던만큼 AI와 함께라면 졸업작품 프로그래밍은 문제가 없을 것이라 생각했다. 기획은 세부적으로 짤 수 있으니 시스템적으로 어떤 절차를 거쳐 어떤 메카닉이 구현되는지 알기 때문에 그 정도면 구현은 충분하겠지, 하고 생각했다.

크나큰 오산이었다.

오히려 게임 프로그래밍에 있어 가장 중요한 것은 자료 구조인 것 같다.

나는 자료 구조를 거의 모르는 상태에서 어떤 것이 무엇을 어떻게 참조하는지 모르는 채로 프로그래밍을 시작했고, 보편적이고 깔끔한 자료 구조를 채택하는 AI도 파트별로 물어물어 구현되는 내용에 대해 포괄적으로 인식하여 코딩을 하기는 어려웠다.

당연히 구조가 꼬이기 시작하고, 어떤 메서드가 어떤 프레임에 호출되는지 계산이 안된 상태에서 프로그래밍을 계속하다보니 온갖 오류가 발생했다. 어떻게 보면 간단히 해결될 것 같은 문제도 그걸 고치면 다른 게 안되고, 그걸 또 고치면 이전 게 안되는 방식으로 날 붙잡고 늘어졌다.

이쯤 되니 코파일럿에게도 좋은 방법을 제시해달라 한들 같은 제안을 반복하기도 하고, 해결이 안되는 경우도 많다. 꼬인 매듭을 풀어나가려 열심히 노력해나가는 중인데 아직은 그 해결책을 명확히 찾지 못하는 중...

다행히도 이번에 막학기를 들으면서 수업 중 교수님께 내용을 여쭤볼 수 있을 것 같은데... 앞으로 더 많은 내용을 구현하기 전에 전문적인 지식을 가진 사람에게 코드 구조를 좀 검토해달라고 밥을 사며 물어봐야 할 것 같다.

이럴 때만큼은 정말 프로그래머 지인이 있는 게 감사하다...

 


 

2. 프로그래머가 한없이 소중해지는... UI 구현 작업

 

이전에 팀 프로젝트를 할 때엔 예쁜 UI를 만드는데 혈안이 되어 있어서 이러저러한 애니메이션과 리소스 변경을 요청했는데 막상 내가 해보니 어려워 죽겠다.

물론 프로그래머 입장에선 쉬울 수도 있지만, 이렇게나 많은 노고가 들어가는 줄 몰랐는데... 하면서 몇 번이고 압도적 감사를 느꼈다. 나 심지어 프로젝트 하면서 UI 몇 번 바꿀 때도 있었는데...

모든 인터렉션을 다루는 건 정말 어려운 일이구나...

다행히도 구현 자체는 코파일럿이 많이 도와주다보니 문제는 잘 해결됐고, 뭔가 기획이 축소되거나 하는 부분도 없었지만 여전히 어떤 것을 온전히 내 힘(+코파일럿의 힘)으로 구현하는 것 자체가 예상이 안되는 작업이 많구나... 하는 생각이 들었다.

한없이 겸손해지며 작업을 진행하는 중.

 


 

3. 마일스톤도, 내 마음도 밀려간다

 

프로그래밍은 내가 예상 못한 문제를 해결하는 게 대부분이다보니 어쩔 수 없다.

이 이야기는 이전에도 많이 했다보니 넘어가도록 하겠다.

그렇지만 그래도 이게 내게 가장 큰 강점으로 작용하는 "잦은 시뮬레이션을 통한 안정적인 개발"과는 거리가 있다보니 아무래도 부담이 되어가는 것 같다.

하는 일이 많다보니 적당한 스탠스로 이 프로젝트를 어느 정도 잘라내고 쳐내어 기존의 기대감은 많이 사라졌지만, 그럼에도 꺾이지 않고 이 프로젝트를 무사히 완수한다면 얻어갈 것은 여전히 많다.

 

결론은 여전히 열심히 한다...지만, 앞으로는 프로그래밍에 대해서도 대충 그러할 것이라는 상상 대신 정확한 예측과 계산이 필요할 것 같다.