잠 안오는 김에 한번 정리해볼까 싶어서 씀...
1학년 1학기
대학교 입학, C로 프로그래밍을 처음 배움.
주 1회 전공수업의 느린 진도가 불만이여서 책을 구매해서 봐야겠다는 생각을 함.
공부를 하고는 싶은데 뭘 어떻게 공부해야할지는 모르니 검색만 엄청 해봄.
그러다가 결국 C Programming A Modern Approach라는 책을 찾았는데, 책은 원서로 읽는게 좋다고 해서 원서를 구입해서 읽어봄. 거의 끝까지 다 읽었던 걸로 기억하는데 학교 수업에서도 도움되고 정말 좋은 책이었음.
1학년 2학기
1학년 전공선택과목이지만 2,3학년들이 많이 듣는다고 하는 C# 수업을 듣게 되었음.
난이도때문에 그런건 아니였던 것 같은데 아마 필수교양, 전공때문에 우선순위가 밀렸던 것으로 기억함.
C#이 유니티에도 쓰이기 때문에 한번 들어 봐야겠다고 생각해서 결국 수강함.
근데 어려워서 수업 들을때마다 인터넷 검색하고 블로그에 올라와있는 강좌 따라가면서 이해했었음.
인스턴스와 클래스가 너무 헷갈렸었는데 그 뒤로는 스무스했던 것 같음.
이 수업에서 Winform도 만들어보고 OOP개념을 알게 되어서 이후 공부에 크게 도움이 됐다고 생각함.
유니티 튜토리얼도 따라해볼 수 있는 수준까지 되어서 유니티 공식 홈페이지에 있는 것들 따라서 만들어봄.
그리고 아마 다른 수업은 공학수학과 C를 배웠던 것 같다. 왜 C를 1년동안이나 배우게 커리큘럼이 되어있는건지... 너무 안타깝다. 그래도 C# 수업으로 어느정도 자습할 수준은 되어서 다행이라고 생각한다. 아주 조그마한 발전이었지만;
2학년 1학기
기억에 남는 강의는 딱히 없고... 그래도 데이터베이스는 개인적으로 공부를 거의 안했는데도 이때 들은 수업만으로 어느정도 알고 있는 것 같음. 이때 학교 수업 외에 뭔가를 만들어보고 싶었었는데 아이디어도 딱히 없고 실력도 안되고 해서 목말라 했던 것 같음. C++로 테트리스를 만들어보고 싶었는데 도저히 혼자 힘으로 못만들겠어서 보류
지금 생각해보면 자료구조를 배웠어야 했던 것 같다. 이때 개인공부는 학교 선배들과 같이 자바, 안드로이드 앱했었는데
그덕분에 나 혼자 자바나 안드로이드 앱 공부를 안했는데도 이때 경험으로 자바, 안드로이드 스튜디오 활용스킬이 생김.
소켓이란걸 처음 알게되면서 멀티플레이 게임에 관심을 가지기 시작함.
학교에서 알고리즘 대회를 열어서 참가했는데 동상 수상함. 이때 실력 생각해보면 어떻게 했는진 모르겠다... 교내 대회라서 가능했던 것 같음.
2학년 2학기
시스템프로그래밍과 자료구조를 수강함.
시스템프로그래밍 수업은 정말 좋았는데, 뭔가 컴퓨터 구조, 프로그램 구조에 깊이를 더해주는 수업이었다.
자료구조도 마찬가지로 워낙 여러 방면에 쓰이다보니 도움되고 좋은 수업이었음.
링크드 리스트 배우다가 갑자기 snake게임에 적용시킬 수 있겠다 싶어서 만들어봤는데 의외로 스무스하게 만들어져서 놀랐음. 그래도 성장은 하고 있는건가 싶었음.
그래도 아직 콘솔창에 출력하는거라 도대체 엔진을 사용안하고 게임을 어떻게 해야 만들 수 있는지 궁금했었던 기억이 남. 그러다가 방학때 SDL이라는걸 알게 되어서 드디어 테트리스를 만들어봄.
한 3,4일 걸려서 만들었는데 뿌듯했었음. 다른 코드도 좀 참고하긴 했는데 OOP개념 잘 적용시키고 게임 루프도 잘만든 것 같다.
나머지 시간엔 유니티로 계속 삽질했던 것 같다. 아니면 백준 문제 풀거나.
io게임 비슷하게 만들어볼려고 시작했다가 객체 리플리케이션이나 서버 동기화문제 때문에 막혀서 포기했던 것 같다.
이때는 이런 용어도 모르고 뭘 검색해야 하는지 모르니까 자꾸 애매한 정보만 나오고 그랬는데 지금 생각해보면 처음부터 차근차근 책으로 배우는게 좋았을듯 하다.
군휴학
유니티로 개인 프로젝트 시도.
유튜브에서 보고 따라 만드는걸로 시작해서 runner장르 게임 하나 만든게 있었는데 삭제해버렸다... 그냥 연습용으로 만든거라 삭제해도 된다고 생각했던 것 같음. 개발 실력은 느는데 기획이나 그래픽은 형편없어서 계속 삽질하고 엎고가 반복되어서 너무 혼란스러웠던 시기. 그래도 지금 생각해보면 이때 삽질한것 때문에 유니티에 익숙해지지 않았나 싶기도 함...
운전면허도 따고 토익도 시험봤는데 거의 공부를 안했지만 다행히도 학교 졸업 요건은 맞춤.
이병~상병
부대안에선 프로그래밍 못하니 이론책을 봐야겠다 싶어서 운영체제 공룡책 원서로 구입.
이병때부터 틈틈히 쭉 읽는데 거의 일병 3호봉때 마무리가 됐던 것 같다. 근데 한 4분의3정도 읽고나서 나중엔 어렵기도하고 지겨워져서 다 읽지도 못함. C책 읽던 것 처럼 너무 무식하게 초반부터 일일이 다 읽어서 그랬던 것 같다.
그러고나서 멀티플레이어 게임 프로그래밍 관련 책도 읽고 게임 엔진 책도 읽어봄. 다른 책은 다 좋고 엔진 책만 좀 별로였는데 너무 내용도 많고 수박겉핥기식이라 도움이 안됐음. 게임 디자인 책도 읽었는데 이 책은 내용은 좋지만 실제 프로세스에 적용할 수 있을까 싶음. 된다면 엄청 좋을 거라 생각함.
그러다가 상병쯤 됐을때 국방 오픈소스 아카데미였나? 국방부에서 지원하는 프로그램에 웹, 앱, 인프라 세 가지 분야가 있는데 앱으로 참가하게됨.
사지방에서 강의 듣고 간단한 퀴즈풀고 마지막엔 코딩테스트, 앱 개발 계획을 작성해서 제출하는 거 였는데 난이도는 그렇게 어렵진 않았음. 이때 다른 언어 강의도 들어보고 했는데 이제 언어는 정말 급속도로 배울 수 있다는 점에 신기하기도 하고 놀라웠음.
제출된후 선발되어서 갔다왔는데 3일동안 진행하는 해커톤같은 거 였고 혼자서 앱을 3일동안 만들게 되었음.
기한이 정해져있으니 정말 능률이 몇천퍼센트 상승하는 느낌을 받았는데 결국 수상은 못했음.
아이디어도 좀 난해했고 나도 설명할 수 있는 능력이 부족해서 들은 사람들 반응이 "좀 더 구체화시켜보는게 어떰"이나 "뭔소린지 모르겠음" 이정도 였던 것 같음. 나중에 더 다듬어서 출시해볼까도 했는데 별로 안땡겨서 안함.
상병~전역
갔다오니까 번아웃인지 뭔지 힘들어서 몇달동안 책을 안보고 부대 내 컴퓨터에 있는 크롬으로 자바스크립트를 건드려봄
좀 해보니까 SDL로 테트리스 만들던것과 비슷하게 테트리스 만들 수 있겠다 싶어서 만듬.
만들고나서 동기에게 보여주고 휴가갔다왔더니 부대 내 모든 사람이 알고있음;
그뒤론 그냥 시간떼우다가 전역
전역 후 복학전
이번엔 진짜 게임을 완성시켜봐야겠다하는 생각이 들어서 매직 서바이벌 카피게임을 만들어보려고 함.
근데 완성도를 너무 욕심부린 탓에 이거만들었다 저거만들었다가 결국 '이게 매직서바이벌보다 나은게 뭐지?' 재미는 있나?'라는 생각을 함. 그래도 꾸역꾸역하다가 정말 나중엔 손대기도 싫게된 프로젝트가 되버림.
그러다가 간단한 타워디펜스를 만들어보면 어떨까싶어서 유튜브에서 본 거에다 내가 조금 변형해서 완성함. 재미는 없지만 그래도 출시는 해봐야겠다는 생각에 구글 플레이스토어에 출시. 딱히 유의미한 결과는 없지만 그냥 출시 프로세스를 해봤다는 경험 정도에 의의를 둠...
복학
지금
써놓고보니까 이것저것 많긴 한데 결과물은 몇개 안되는게 참 슬프다. 별거 없는 거 같기도 하고... 열심히 해야겠다.
그리고 저학년때부터 이것저것 많이 아는 사람을 만나서 귓등으로 들어서라도 뭔가 얻는게 실력 향상에 부스팅이 되는 듯. 지금도 게임 잼이나 해커톤 나가면 그런 사람들 만나서 부스팅 할 수 있을 것 같은데... 언제 나가볼려나