본문 바로가기
오늘의 콜라/일상다반사

2020 여름방학 SW집중교육을 마치며... (팀 프로젝트 후기)

by cola_ 2020. 8. 2.

7월 31일부로 2020 여름방학 SW 집중교육을 마칠 수 있었다.

블로그를 보니 7월 20일 부터 업로드가 없었는데, 귀찮아서 안올린 것도 있었지만 팀 프로젝트가 생각보다 바쁘게 흘러가서 못올리게 된 이유도 있었다.

 

우리의 팀 프로젝트 주제는 간단한 피하기 게임을 만드는 것이었다. 오락실에 가보신 분들이라면 한번쯤은 보았을 
"갤러그"를 모티브로 해서 프로젝트를 준비해보았다. 나를 포함한 두 명의 팀원 모두 C를 처음접한 초보들이었기 때문에 이런 간단한 게임임에도 불구하고 굉장히 많이 헤멨다. 결국 갤러그와 같이 총알을 발사하여 적을 맞출 때 점수가 올라가고 적이 사라지게하는 기능은 넣지 못하였다. 그냥 우리 수준에서 최대한 이해하고 적용할 수 있는 기능만 추가해 보기로 했고, 나름의 완성된 게임을 구현할 수 있었다.

우리팀이 만든 Harry's adventure 라는 게임

 

7월 30일, 중간발표가 있었고, 거기에서 우리는 순위와 상금에 대한 이야기를 처음 접했다. 다른 팀들의 발표를 모두 들어본 우리들은 일찌감치 상금에 대한 기대감을 접었지만, 이후 최종발표를 한 후 순위발표에서 3등을 했다! 교수님께서는 우리들의 역량을 얼마나 잘 활용하여 프로젝트를 진행했는지를 중점적으로 심사를 하신 모양이었다. 다른 팀은 2학년 이상되는 학생들도 많았기 때문에 나의 생각보다 그 이상의 퀄리티를 보여주었고, 너무 신기하기도 하면서 나도 꼭 저런 완성본을 만들 수 있는 능력을 갖추고 싶다는 생각이 들었다. 사실 팀 프로젝트를 진행하면서 너무 힘들었기 때문에 다음에는 이런 특강에 참여하지 말아야겠다.. 라고 생각했지만, 막상 완성된 프로젝트들을 보니까 다음에는 더 열심히해서 상금도 더 많이 타야겠다고 다짐해버렸다. (상금때문에 특강에 참여하는 것에 동기부여가 된 것이 좀 큰 것 같다ㅋㅋ)

 

팀 프로젝트를 하고나서 크게 느낀 점은 혼자 만드는 프로그램과 달리 기초가 되어주는 설계가 너무 중요하다는 것이었다.  기능별로 코딩을 하고 합치는 과정에서 흐름이 맞지 않으면 코딩을 다시 해야하고, 그 과정이 생각보다 너무도 길어질 수 있는 일이기 때문에 팀원과의 초반 소통이 프로젝트 완성에 크게 영향을 미친다. 우리도 기능별 맡은 함수를 모두 완성했음에도 불구하고 합치는 과정에서 애를 먹었기 때문에 다시 코딩해야하는 과정을 거쳤다. 그나마 다행인 것은 팀원이 너무 적극적으로 할 일을 해주었다는 것이다. 여태껏 버스 운전만 해온 나로서는 너무 감동이면서도 고마웠다. (그 팀원도 나처럼 본인이 모든 일을 다해야 편한 스타일인 것 같았다.) 덕분에 고비를 잘 넘길 수 있었지만, 게임의 기능을 축소시켜야하는 결정을 내릴 수 밖에 없었다. 이것은 모두 초반 소통의 부재가 낳은 결과라고 생각했다.

 

사실 이렇게 장황하게 말했지만, 다른 사람이 우리가 만든 게임의 결과물을 보면 '이런 게임을 만드는 데 이렇게까지 고생할게 있나?' 라고 생각할 수도 있다. 내가 봐도 이런 게임은 조금 숙달된 사람이라면 2시간이면 만들 수 있을 것 같은 느낌이었다. 하지만 나는 내가 개발자를 꿈꾸면서 프로그래밍 공부를 시작한 뒤 처음으로 하는 팀 프로젝트였기 때문에 어려운 점도 생각보다 많았고, 배우게 된 것도 너무 많았다. 결론적으로 내가 이 특강을 신청하게 된 것은 너무 만족스럽다. 굳이 아쉬운 점이 있다면 비대면으로 줌을 켜고 수업을 진행했다는 점이다ㅠㅠ 아침 9시에 듣는 수업이 비대면이다보니, 9시가 되기 몇 분전에 일어나서 잠도 덜 깬채로 수업을 들은 적이 너무 많았다. 대면이었다면 조금 더 효율있게 수업을 들을 수 있었을 것 같다.

 

이제 나는 방학의 계획 중 7월 계획은 모두 마쳤다. 계획대로 포기하지 않고 수업을 다 들었다는 것이 굉장히 뿌듯한 것 같다. 이제 교수님이 말씀하신대로 한 주 정도는 쉬고 JAVA공부를 진행할 예정이다. 오늘 서점에가서 JAVA입문서 한 권을 사왔는데 JAVA는 어렵기로 유명한 언어이기 때문에 '생활코딩'의 입문서를 통해서 영상강의와 함께 학습할 생각이다! 사실 C언어 뒷 부분(배열, 구조체, 포인터 등) 을 한번 더 듣고 싶은데 JAVA랑 같이 진행할 수 있을지 모르겠다. 일단 계획에 있던 JAVA를 먼저 하고, 여유가 된다면 C도 다시 복습해봐야겠다.

 

(팀 프로젝트로 진행했던 게임 소스는 팀원에게 허락받지 않고 블로그에 올리기는 좀 껄끄러워서 깃허브에 조만간 올립니다. )

 

댓글