티스토리 뷰

카테고리 없음

근황

onjo0127 2025. 3. 25. 15:49

안녕하세요, 방치해두었던 블로그에 근황을 전하러 찾아왔습니다.

한줄요약: 입대해서 남는 시간에 PS랑 게임 개발을 해보는 중입니다.

 


PS

월파

운이 좋게도 21년 대학에 입학하자마자 훌륭한 팀원들과 DO Solve라는 팀으로 ICPC 월드 파이널 진출권을 얻었다. 그러나 코로나19 때문에 대회 일정이 밀리고 밀리고 밀려 24년이 되어서야 이집트에 가서 월드 파이널을 치르고 올 수 있었다. 덕분에 팀원들과 연습은 정말 길게 했다. 생각한 풀이를 제대로 증명하지 않고 사풀이를 그냥 구현하는 습관이 있었는데, 팀원들과 연습하면서 풀이를 설명할 일이 많아서 이 습관을 조금 고칠 수 있었다. 전반적인 PS 실력도 팀연습 덕분에 그나마 유지할 수 있었던 것 같다.

아쉽게도 월파에는 우리 팀이 잘하는 스타일의 문제 셋이 나오진 않았고, 퍼포먼스도 그리 잘 나오지 않아서 Honorable Mention에 그쳤다. 아쉽긴 하지만 국제 대회에 참가하는 건 언제나 항상 설레고 즐거운 경험인 것 같다. 준비하는 과정도 재밌었고, 이집트에서 잘 놀고 먹고 왔다. ㅎㅎ

 

아직 월파 카운트가 하나 남았는데, 이걸 사용할 수 있을지는 모르겠지만 군대에서 수련하고 난 뒤에 내년이나 내후년을 기약할 것 같다. 팀은 어떻게 될지 아직 잘 모르겠다.

코드포스

2019년에 머물러 있던 내 최고 레이팅을 작년에 드디어 2530으로 갱신했다. 지금까지 대회를 치고 나서 복기하거나 업솔빙하는 부분을 너무 게을리했던 것 같다. 문제만 풀었으면 됐지~ 풀이만 알면 됐지~ 하고 넘기니까 실력 상승이 더딘 게 아니었나 싶다. 이제부터라도 대회를 치고 나서 무조건 한 문제는 업솔빙하기로 했다. 코포는 아마 휴가 나와서만 칠 수 있겠지만 전역하기 전까지 버추얼도 좀 돌고 블로그에 복기도 남겨보려고 한다.

게임 개발

초등학교 3학년 때 C언어 방과후 수업을 들으며 코딩을 시작한 이유는 사실 게임을 만들어보고 싶다는 막연한 궁금증에서부터였다. 작년 월파가 끝나고 나서 군대 입대하기 전까지 뭘 할지 좀 생각해보다가, 인턴 같은 걸 하기에는 남은 시간이 조금 애매한 것 같아서 항상 해보고 싶었지만 엄두를 내지 못해서 못했던 게임 개발을 맛보기로 했다. 사실 그냥 입대 전까지는 쉬엄쉬엄 살고 싶었다.

게임 엔진을 고르는 것부터가 어려웠다. 좀 찾아보다가 고도(Godot) 엔진을 써보기로 했다. 사실 지금 와서 생각해보니 초보자 입장에서는 자료가 많은 유니티를 고르는 게 나았을 것 같기도… 아무튼 컴퓨터에 엔진을 깔고 일단 공식 문서에 있는 튜토리얼을 따라하면서 고도에 익숙해졌다. 내가 만들고자 하는 게임의 장르는 2d 플랫포머였기에 그 다음엔 플랫포머의 기본 요소들을 구현해봤다. 생각보다 유튜브에 자료가 많았고 챗지피티의 도움을 받아, 느리지만 내가 원하는 기능을 하나씩 구현할 수 있었다.

하지만 어려운 점도 몇 가지 있었다. 일단 엔진이 어떻게 돌아가는지, 물리엔진이 어떤 식으로 구현되어있는지 바로바로 알기가 힘들었다. 물론 내가 고도를 사용해본지 얼마 안 되어서 그런 면이 컸지만, 이럴 때마다 엔진이 어떻게 구현되어 있는지 찾아봐야 해서 조금 귀찮았다. PS를 위한 코딩을 할 때는 내가 모든 코드가 어떻게 돌아가는지 알고 있어서 머릿속에서 구조를 잡고 구현하는 것이 수월했는데 피상적으로 엔진의 구조를 이해한 상태에서 뭔가를 만드려니 중간에 턱턱 막히는 느낌이 들었다.

결정적으로는 ‘무슨 게임을 만들어야지’라고 기획한 것이 딱히 없는 상태에서 엔진 사용법에만 익숙해지려고 하니 재미가 별로 없었다. 그러다 결국 흥미가 점점 떨어져 손이 잘 안 갔던 것 같다. 그렇다고 기획을 좀 해보자니 아이디어가 별로 없었다. 대신 유튜브에서 인디게임 개발 관련 채널을 몇 개 구독하니 알고리즘에 재밌어 보이는 영상들이 많이 떠서 그런 거 보면서 시간을 보냈다. 그리고 여친이랑 놀고.. 친구들이랑 놀고.. 부모님이랑 여행 가고.. PS도 조금 하면서 살다 보니 11월이 되었고, 군대에 입대했다.

입대 전 만든 것

 

입대

어찌저찌 훈련소를 수료하고 자대를 배치받고 대충 생활에 익숙해지니, 일과 시간이 끝난 뒤에 남는 시간이 은근 많았다. 그래서 사지방에서 게임 개발을 할 수 있는 방법이 있지 않을까 하고 조금 찾아보니, 이런 글을 찾을 수 있었다. 깃허브 코드스페이스에서 LÖVE라는 프레임워크(알고 보니 발라트로가 LÖVE로 만들어졌다고 한다.)를 사용해서 Lua로 게임 개발을 하는 방법이었는데, makelove를 이용해 자바스크립트로 빌드하면 웹에서 바로 플레이테스팅이 가능했다.

마침 PS용으로 깃허브 코드스페이스를 하나 세팅해둔 상태였는데, 그걸로 코포 버츄얼을 하나 돌아보니 상당히 괜찮아서 만족 중이었다. 제약은 조금 있겠지만 Copilot도 쓸 수 있고, 개발도 충분히 가능할 것 같았다. 환경을 세팅해본 결과 잘 작동했다! 이번에는 만들고자 하는 게임을 확실히 정해두고 개발을 시작하기로 했다. 그래서 핵심 기믹을 하나 정했고, 그걸 중심으로 레벨 클리어 형식의 2d 플랫포머 게임을 만들기로 했다.

고도와는 다르게 LÖVE의 구조는 굉장히 단순하고, 프레임워크에서 제공해주는 것도 그렇게 많지는 않다. 대신 여러 유저들이 오픈소스로 공개한 라이브러리들을 이용하는 편인 것 같다. 그래서 고도를 사용할 때보다 내가 구현할 것이 훨씬 많았고, GUI가 없으니 편의성도 떨어졌다. 하지만 구조가 머릿속에 잘 들어온다는 점은 좋았다.

아무튼 이런 식으로 개발을 시작한지 한 달 정도가 지났다. 남는 시간에 하다 보니 개발 속도가 그리 빠르진 않지만 이제 기본적인 플레이어 움직임과 물리엔진의 구현을 1차적으로 마치고 슬슬 레벨 디자인을 시작하려고 한다. 확실히 목표가 있으니 더 재밌는 것 같다.

아트와 음악

물론 기획과 코딩도 중요하지만 게임을 완성하려면 아트와 음악이 필요하다. 아트는 접근성이 좋은 픽셀 아트 스타일과 에셋의 도움을 받아 어느 정도 커버할 수 있을 것 같다. 물론 굉장히 많은 노력이 필요하겠지만... 일단 지금은 에셋을 그대로 가져와서 테스트용으로 사용하고 있는데, 슬슬 게임에 맞게 직접 만들기도 해봐야 할 것 같다.

작곡도 항상 해보고 싶던 것들 중 하나였어서 FL Studio를 사서 노래를 조금씩 만들어보려고 해보고 있다. 멜로디 만드는 것도 어렵고, 악기를 적절히 활용하는 것도 정말 어려운 것 같다. 이렇게 냅다 박치기 독학으로 노력해서 될지는 잘 모르겠지만 일단 재미는 있으니 계속 해보고 있는 중이다. 어릴 때 피아노 좀 더 열심히 칠걸.

 

...

원래는 남는 시간에 PS에만 집중할 생각이었는데, 그동안 너무 오래 하기도 했고 PS만 하기엔 지칠 것 같긴 하다. 그리고 전역하고 학교 1, 2년만 다니면 이제 취업하거나 대학원을 가거나 할텐데 지금 아니면 내가 게임을 언제 만들어볼까. 하는 생각이 들기도 했다. 그때까지 남은 시간은 많으니(좀 안 많았어도 괜찮을 것 같긴 하다) 꾸준히 개발해서 완성해보고 싶다.

 


 

블로그에는 PS 관련 복기나 게임 개발 근황 전하러 이따금 글을 쓰러 오려고 합니다. 읽어주셔서 감사합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함