2016, 2017년 최근 나의 삶을 돌아보면서 처음으로 회고하려고 한다. 직장인에서 게임공학과에 편입학한 삶과 게임 개발에 대한 주제로 세션을 나눠 회고해야겠다. 더불어 2017 블로그 결산도 같이 하려고 한다.
2016
1. 자바스크립트 + 소년코딩
띵가띵가 놀다가 23살에 학원에서 자바를 공부하고 운이 좋아 곧바로 회사에 취직해 개발 업무를 할 수 있었다. 2년간 웹 어플리케이션 개발을 했는데 요즘 흐름에 맞는 동적인 홈페이지 개발이 주된 업무였다. 업무 특성상 자바스크립트 언어를 많이 사용했는데 이 언어는 하드웨어와 브라우저 발전과 맞물려 동적인 효과 말고도 게임, 시뮬레이션까지 개발할 수 있는 만능 언어가 되었다.
JavaScript + HTML5 Canvas로 개발한 웹 온라인 게임(BrowserQuest - mozilla)
사실 언어에 대한 정확한 원리는 모르고 유명 라이브러리들을 이용해서 주구장창 코드를 뽑아내기에 바빴었다. 그러나 모질라 재단에서 오픈소스로 제공한 위 게임을 보면서 나의 부족함을 느끼고 자바스크립트를 본격적으로 공부해야겠다고 생각했다. 그렇게 해서 공부 내용을 포스팅하는 소년코딩 블로그가 태어났다.
2. 게임 개발
언어에 대한 스펙을 어느 정도 깨우쳤다고 생각할 때쯤 개인 프로젝트로 BrowserQuest 게임을 모작하기로 했다. 코드를 하나하나 따라치면서 최대한 게임 코드에 대한 원리 및 모질라가 표현하고자 한 기법과 구조를 이해하려고 노력했다. 게임 개발이 처음인 만큼 정말 생각보다 많은 시간이 걸렸다. 모작을 완성한 이후 나는 okky 커뮤니티에서 자바스크립트를 이용한 2D 게임 엔진 개발 스터디를 개설하게되고, 매주 토요일 오프라인 모임을 가졌다. 스터디 운영은 소규모 인원이었지만 스터디원 모두 정말 열정이 넘쳤다. 덕분에 Adun.js 엔진이 탄생하게 되었다.
3. 결심
게임을 개발하면서 많은 부족함을 느꼈다. 게임은 프로그래밍 언어 이외에도 수학, 물리, 자료구조, 알고리즘, 설계 기법, 컴퓨터 구조 등 많은 기반지식을 필요로 했다. 좀 더 공부하고자 하는 욕심과 학력에 대한 조금의 열등감으로 대학교 편입학을 결심하게 되었다.
2017
게임공학과
이후 나는 2년간 근무한 회사를 그만두고 산기대 게임공학과에 3학년으로 편입학했다.
1. 매일 있는 과제 그리고 텀 프로젝트
게임공학과는 주로 프로그래밍에 대한 실기 중심 수업이다. 자료구조, 알고리즘, 컴퓨터 그래픽스, 2D 프로그래밍, STL, 윈도우 프로그래밍, C++, 스크립트 수업 모두 실기 중심답게 매주 과제가 심각할 정도로 많았다. 모두가 과제를 기한 내에 제출하기 위해 밤을 새웠고, 노력했다. 개인 삶이 없어질 정도로 바빴으며 중간중간 낙오한 학우들도 많이 보았다. 괜히 자퇴율 1위 학과라는 명성을 얻은 게 아니구나 깨달았다. 과제 이외에도 학기 말까지 제출해야 하는 텀 프로젝트가 있다. 1~3명으로 이루어진 팀이 진행하는 이 텀 프로젝트는 학기 간 배운 내용을 응용해 게임을 제작해 발표하는 게 최종목표다. 텀 프로젝트는 모두 내 개인 포트폴리오가 되었다.
2. 성적
구글에 산기대 게임공학과를 검색하면 다음과 같다.
게임제작에 관련된 분야 중 프로그래밍을 다루며, 아트나 기획은 맛보기 수준. 입학하면 C언어 부터 빡세게 익혀야 살아남기 편하다. -나무위키-오지마.. 졸업하기 힘들어.. - 디시인사이드 한국산업기술대학교 갤러리 -
대부분 과제가 많다는 것과 졸업 기준이 높다는 내용이다. C, C++ 같은 컴파일러 언어는 경험해보지 않았지만, 개발에 대한 2년간의 실무경험이 있으니 쫄지 않고 덤볐다. 학점에 대한 자신이 있었다. 그러나 결과는 처참했다. 학기 내내 수학이 내 발목을 잡았다. 선형대수학과 게임수학은 두 학기에 걸쳐 1, 2교시에 잡혀있었고 늦잠이 많은 나는 지각, 결석하기 일쑤였다. 결석과 동시에 의욕도 잃어 갔다. 결국, 나는 출석미달로 모두 낙제를 받게 되었다.
4학년때 재수강을 해야한다.
3. 현장실습
'산학융합'이라는 학교의 이념답게 특이한 제도가 있으니 바로 현장실습이다. 현장실습은 학기 또는 방학 중에 기업과 연계하여 출근하여 노동하는 방식을 통해 학점을 채우는 제도로 최소 8주를 채워야 졸업할 수 있다. 나는 현장실습은 불필요하다고 생각하여 곧바로 대안을 찾았다. 창업동아리를 통한 대체였는데 다행히 웹 개발자가 필요한 창업팀에 합류할 수 있었다. 이후 기획안이 통과하고 K-Unicorn으로 당선되어 지원금과 함께 방학 때 창업활동을 할 수 있었다.
모두의 행사: http://mohaeng.com
8명으로 이루어진 창업팀의 구성원은 모두 다양한 재능을 가지고 있었다. 그들의 열정과 노력을 보며 감탄하고 깨달은 바가 많다. 그러나 모두의 행사는 망했다. 1원의 수익도 없다. 얻은 건 경험과 사람이다. 지난 고생에 대한 보답인지 이후 더 좋은 일자리와 함께 현장실습 제안을 받았다. 월급과 함께 재택근무가 보장되었다. 현장실습으로 최대 18학점까지 이수할 수 있어 잘 활용하면 졸업이 빠르다.
블로그 결산
블로그는 취업과 동시에 꾸준히 운영해왔다.
1. 글 발행
2017년에는 총 27개의 글을 발행했으며, 학업으로 인해 2016년(70개)보다 많이 작성하지 못했다. 사실 개인 웹사이트의 노트에는 블로그에 포스팅하려는 많은 글이 담겨있다. 그러나 아직 초안이라 좀 더 다듬어야 할 필요성이 있어 올리지 못해 아쉽다. 2018년에는 좀 더 많은 내용을 공유할 계획이다.
2. 글 내용
클래스, 코드, 객체, 게임과 같이 객체지향 프로그래밍 언어를 이용한 게임 개발내용이 주를 이었다. 특히 2017 여름방학 때 게임 디자인 패턴에 대한 공부내용을 주로 작성했다. 공부한 디자인 패턴은 앞으로 게임을 개발하는 데 있어 분명 큰 도움이 될 것이다.
3. 방문자
하루에 방문자 100명만 되어도 설레었던 기억이 있다. 2016년 웹 개발 트렌드와 전망이라는 포스트가 포텐이 터지고 나서부터 방문자가 급격히 늘어나기 시작한 거 같다. 이 자리를 빌어서 한마디 하겠다.
관심을 가지고 제 블로그에 방문해 주시는 모든 개발자님들 감사합니다.
4. 앞으로는...
블로그를 키우는 것은 나의 즐거움 중 하나이다. 댓글이 달리면 기분 좋고, 완성된 포스트를 보면 성취감도 느낀다. 욕심에 광고도 달았지만, 지금은 욕심을 버리고 오로지 내 공부와 공유를 목적으로 운영 중에 있다. 2018년 상반기에는 DirectX 11을 이용한 게임 엔진 개발에 관한 내용을 꾸준히 올릴 예정이다. 현재 소스를 작성 중에 있으며, 완료되면 곧바로 포스팅할 예정이다.
https://github.com/adunStudio/Sunny
개발
1. GitHub
깃허브에서는 주로 개인 프로젝트를 진행한다. 현재 졸업작품 프로젝트와 함께 되도록 1일 1커밋을 하려고 노력 중이다.
2. 알고리즘
여름방학 때 디자인 패턴과 함께 논리적인 사고력을 키우기 위해 알고리즘도 같이 공부했다. 백준 온라인 져지 1일 1문제에 도전했는데 아쉽게도 무리한 일정으로 인해 지쳤는지 조금 하다가 말았다. 그래도 그 조금의 노력이 많은 도움이 되어서 10월에 학교에서 주관한 교내 소프트웨어 경진대회에서 조그마한 상을 하나 받을 수 있었다.
KPU 소프트웨어 경진대회 우수상
2018년에는 취업을 위해 알고리즘 문제 풀이를 주구장창 해야되지 않을까 생각한다.
3. 회고
사실 2017년은 유독 이벤트가 많은 해였다. 단맛 쓴맛의 연속이었다. 컴퓨터 활용능력 1급 실기시험에서 5번 연속 낙방하다 겨우겨우 편입 지원 바로 직전에 합격했다. 그때 함께한 친구와 사이가 소원해져 볼 수 없음이 너무나 슬프다. 슬픔을 덜기 위해 1학기에는 술도 유독 많이 마신 거 같다.
학교에서 인연을 쌓게 된 친한 후배가 문득 나에게 2018년 새해 목표를 물었을 때 아무런 고민 없이 "열심히 공부하는 것"이라고 답해줬다. 2017년은 게을렀다. 주변 나이 어린 후배들을 보며 나도 모르게 우월감을 느끼고 현재 상태에 만족하며 개발에 대해 안일한 태도를 가진 거 같다. 그러나 그들은 아직 나보다 어려 경험이 부족할 뿐 어제고 모두 훌륭한 개발자가 될 것임을 안다. 4학년은 바쁘다. 졸업작품 프로젝트와 같이 취업준비도 해야 한다. 세상은 넓고 나보다 뛰어난 사람은 많다. 개발은 나에게 즐거움이기도 하지만 밥그릇이기도 하다. 밥그릇 도둑들에게 뺏기지 않게 2018년은 좀 더 목표에 대한 방향을 날카롭게 세우고 뛰어갈 것이다.
감사합니다.!
칭찬해: http://www.tistory.com/thankyou/2017/tistory/2351996
GitHub: https://github.com/adunStudio