COMMUNITY

home 커뮤니티 > KI이야기

KI이야기

제목 프로그래밍반 1기 학생들이 만든 COCOS 2D엔진게임 구글플레이 입성! 2회 작성자 권상아,이정근
등록일 2018-09-14 조회수 1035


1기 프로그래밍반 이재환 교수님.

 

 

Q. 짧지도길지도 않은 시간이었지만,게임 프로그래밍 수업을 하시고 나서 배운 것을 토대로 처음으로 실시한 큰 

   프로젝트라고 들었는데, 요번에 실시한 2D 프로젝트에 대해간단한 소개 부탁 드립니다.


A. ‘코코스 엔진(Cocos2d)’이라는 프로그램을 사용하여 진행한 프로젝트였습니다학생들이배운 것을 토대로 게임 엔진을 화려하게 잘 사용하자는 것에 취지를 두었습니다프로젝트 기간 동안 불안한부분이 있었지만학생들이 잘 따라와줘서 결과는 마음에 들었습니다.(웃음)

 

 

다른 기수와 비교했을 때 좋은 성과를 보이는 1



Q. 13개의작품 발표 영상을 보니 큰 프로젝트였다는 것을 볼 수 있었습니다그만큼 선생님께서도 많은 걱정을 

하셨을것 같고, 프로젝트에 대한 학생들의 반응도 다양했을 것이라 예상합니다. 2D 프로젝트가 끝난 후 학생들이 낸 결과물을 보시고 나서 많은 생각이 드셨을 것 같은데발표 작품들이나 학생들에 대한 전체적인 평가에 대해 한 말씀 

해주세요.


A. 이번에 프로젝트를 한 학생들은 저에겐 8번째 학생들이며, 경일의 제 1기 프로그래밍 학생들입니다.전에 가르쳤던 학생들의

2D 작품과 비교해서는 좋은 평가를 주고싶습니다. 굳이 점수를 낸다면 2D 프로젝트 부분 성적은 상위권인 3번째 정도 될 것입니다.

지금까지 대부분 학생들은한 학생이 만든 작품을 보고 그대로 따라갔습니다. 그러한 부분이 없이 다양한 게임이 개발되어서 

좋았습니다. 그래서 이번 프로젝트의 결과물의 완성도나 퀄리티, 활용도 모두 괜찮았다고생각합니다. (웃음) 그러나 모두 

잘 하는 것이 아니라 아쉬운마음이 들기도 합니다. 16명 학생 중에서 3명이 불안하기는한데, 그 부분은 나중에 3D 프로젝트를 

실시하게 되면 보충을하여 부족한 실력을 메워볼 계획입니다.

 

 

뛰어난 결과물을 위해 어려운 것부터 순차대로 진행


Q. 유니티라던지다른 개발 엔진들도 많은데, 2D 프로젝트에서 코코스 엔진으로 선택을 하신 이유는 무엇입니까?


A. ‘코코스 엔진’은 C++로 되어 있는 프로그램 툴입니다. C++’이 개발 언어 중 난이도가 높아 배우는 것과 이해도에서 처음 

다루는 학생들에게는 어려웠을 것입니다. 쉽게 배우고 (게임을만들 수 있는 개발 툴인 ‘유니티’도 있긴 하지만, (유니티를

쉽게배운 다음, 그 다음 과정인 ‘C++’를 배운다면 학생들은쉽게 포기하거나 실력향상에 투자하는 시간이 오래 걸렸을 예상했습니다. 어려운 것부터 시작해서 쉬운 것으로가는 것이 학생들에게 도움이 되는 방향이라 생각을 했습니다. C++를 배운 후 게임을 

만들어 보고, 그 다음에 유니티를 사용해 게임을 만들어 보면 그 결과물이 확실히 좋아지기 때문에 출발을 코코스 언어로 

했던것입니다.최종 프로젝트는 유니티로 진행할 예정입니다.

 

 

 

 

 1등작으로 선정된2명의 학생


[왼쪽부터 김세영_좀비 디펜스 / 이석규_주사위의 잔영]




(김세영 이하 [] / 이석규 이하 [])


노력한 만큼 보답을 받은 것 같다



Q. 처음실시한 큰 프로젝트여서 결과에 대한 부담과 발표에 대한 걱정도 많아서 힘드셨을 거라 예상합니다

런데 이것을 극복하고 치열했던 13개의 게임 작품들 중에서 1등작으로선정되었는데 본인이 만든 게임에 대한 

간단한 소개와, 1등작으로 선정된 기분이 어떠신지 한 말씀 부탁드립니다.


A. [] 제가 만든 게임은 간단하게 소개를 하자면, ‘좀비 디펜스’는 몰려오는적들을 막아내는 게임입니다주인공 캐릭터가 

죽을 때까지 계속 좀비와 싸우면서 게임을 진행합니다.1등이라는 소식을 듣고 상상도 못할 일이 벌어졌다고 생각했습니다. (웃음

제 기준으로 잘 만들고 어려운 개발 과정을 통해 만든 작품들이 있어제가될 거라는 생각조차 못했습니다. (웃음

수업시간에 배운것을 잊지 않고, 제가 할 수 있는 방법으로 나름대로 연구를 했습니다.그러한 방법을 응용하여 여러 개의 

소스코드를 만들었고, 열심히 코딩을 하면서 (이번게임을 만들었습니다. (제가생각하기에) 게임이 어느 정도 잘 나온 것 같다고 

생각하면서도, 1등을받았다는 결과에 열심히 한 부분이란 성과라 생각하여 무척 좋았습니다.


A. [] ‘주사위의 잔영’은 소프트 맥스에서 만든 주사위의 잔영을 모바일 버전으로 만든 것입니다.

1등이 될 줄은 정말 생각지도 못한 일이어서 그 당시에 당황스러웠습니다. (웃음) 다른 학생들의 작품들을 살짝 본적이 있는데

다들 완성도도 좋아보였고, 퀄리티 또한 뛰어났던 게임들이 많았습니다. 저는이미 출시된 게임을 모바일 버전으로 

만든 것이지만, 기존의 게임을 그대로 가져오는 것이 아닌 저만의스타일로 바꾸고 싶어 개발 기간 내내 기획과 

연구를 했었습니다. 다시 말해서 그저 저만의 스타일로 기존의게임에서 부족한 컨텐츠 요소를 추가를 했다고 할 수 있습니다.

하지만 게임을 만드는 데 심의를 기울였습니다. 그 부분을 다른 사람들이 좋게 평가해 준 것이 진심으로 기뻤고

저의노력을 알아 준 것 같은 느낌에 보람을 느꼈습니다.



어려움의 한계를 극복한 뿌듯함



Q. 프로그래밍작업이 무척 힘들다고 들었습니다. 그래도 본인만의 작품을 만드는 즐거움도 있으셨을 

거라고 생각하는데요. 2D 프로젝트를 진행하면서 에피소드가 있으신가요? 인상 깊었던 점이나어려웠던 점 

등에 대해 자유롭게 말씀해 주세요.


A. [] 제가 만든 ‘좀비 디펜스’는 많은 물리 공식과 수학적인 요소들이 들어가 있습니다. 그렇다고 제가

이쪽으로 뛰어 날 정도로 잘 하진 아닐뿐더러, 전공을한 것도 아니었습니다. (웃음) 물리 공식과 수학적인 부분들을

잘 알지 못해도 관심이 있고 노력을 한다면 해낼 수 있다는 걸 (다른 이들에게) 보여주고 싶었습니다. 이러한 포부를 가지고 

게임을 만들어 나아갔지만한계에 부딪히는 일이 빈번히 발생 했었습니다. 문제가 발생했을 때에는 제가 그 동안 배웠던 

수업 내용을다시 인지하고 인터넷에서 비슷한 예제나 기존에 나온 게임의 방식을 참고하여 스스로 문제 해결에 힘썼습니다

물론, 이해가 정말 가지 않는 부분이 있으면 교수님의 도움을 받았지만, 제나름대로 방식으로 혼자 한계를 극복했던 뿌듯함은 

지금도 잊혀지지 않습니다.

 

A. [] ‘주사위의 잔영’은 보드게임 형식으로 진행되다 보니, 숫자의 확률이나말판의 진행 방향 등의 퍼즐 요소가 

2D 프로젝트를 진행하는 과정에 어려움이 있었습니다. 거기다 소프트 맥스의 주사위의 잔영을 하면서 느꼈던 아쉬운 

부분들을 추가로 넣으려는 노력도 하다 보니 시간이항상 부족 했습니다. 또 요즘 인기 있는 보드 게임을 플레이 하다 보면 

체감으로는 간단하고 쉽다고 느껴질요소들도 막상 직접 만들다 보니 처리하는 것도 많았고 진행 과정 내내 놀라움의 연속이었습니다. 이 때문에일의 시간 배분을 못하는 문제가 발생했습니다. 리소스 부분이나 코딩 부분에서 예전의 것을 참고해서 

수정했어야 했고, 압축 형식도 달라 사용하는데 있어서도 많은 애를 먹었습니다. 필요한 소스코드와 전체적인 코딩은 없었고 

부분 코드로 돌아다녔기에 그걸 취합하는데, 많은 시간이 걸렸습니다. 이런 어려움이 있어도 구현하고자 했던 필수부분들과

계획했던 요소들을 시간 내 완성 할 수 있어서 지금 생각해 보면 다행이라고 생각합니다. (웃음)

 

 

게임 = 기획 + 개발



Q. 이번프로젝트는 1인 기획과 개발을 동시에 진행한 프로젝트라고 들었습니다.개발자로서 개발만이 아닌 

기획도 함께 해보셨는데, 어떠셨는지요?


A. [] 개발하는 게임의 기획 부분에서 어려움을 겪었습니다. 항상 “어떤 식으로 해야 하는 거지?”라는 질문이 

제 주위를 맴돌면서저를 괴롭혔습니다. (웃음) 단순히 컨셉만 잡고 시작하면되는 줄 알았으나, 그건 제 큰 착각이었습니다

앞서 밝혔듯이인터넷으로 자료를 찾고, 교수님께 질문을 해도 개발이 아닌 기획 부분에서 부족하단 생각이 들었습니다

어느 덧 게임을 완성 단계에 이르러서야, 저는 기획에 대한 정의를내릴 수 있었습니다. “단순하게 개발만 하는 것이 능사가 

아니라 게임 속에서 세세한 부분을 놓치지 않아야제대로 된 게임을 만들 수 있구나” 하고 말할 수 있게 되었습니다

그리고 그 동안 했던 작업들이 만만치않은 작업이라는 걸 알게 되었습니다.

 

A. [] 저는 ‘좀비 디펜스’와 달리 새로 만드는 게임이 아니라서 그런지, ‘어떤식으로 시작해야 하는 거지?’ 하는 

어려움은 없었습니다. 그러나화면크기나 사용 가능한 플랫폼을 생각하는 과정에서 어려움을 겪었습니다

특히 UI 부분과 레벨 디자인 쪽에서 많은 신경을 썼습니다. 평소 개발자도기획을 해야 한다고 생각을 하고 있었기에 

모든 프로그래밍 프로젝트를 했을 때 “어떤 기획으로 왜 이러한 코딩이 나오게 했을까?” 하고 질문을 했습니다

지금 생각해 보면 항상 코딩 전에 역 기획을해왔던 건지도 모르겠습니다. 그 동안 해왔던 부분이라 그런지 당황하거나 

하는 어려움은 없었습니다.

 


Q. 두 분의발표 영상을 보니 게임의 밸런스나 개발 완성도가 있어 보였습니다. 이에 대해 

1등작이란 자부심이 생기셨을 것 같은데, 본인의 게임에 대해 “이게임에 대한 장점은 무엇이다!” 라는 자랑 좀 해주세요.


A. [] 제 게임인 ‘좀비 디펜스’는 물리적인 부분(수학, 로직)으로 모든것을 구현을 했습니다. 주인공 캐릭터, 몬스터

총알 등 다양한 물리 효과와 객체들의 상호 작용이 현실세계에 가깝게 구현이 되도록 물리엔진을 강조하였습니다

(웃음) ‘좀비 디펜스는 물리엔진 이다’라고 간단히 정리 할 수있을 정도로 말입니다. (웃음) , Box2D(중력, 마찰력

탄성 등 물리연산들을 계산 해주는 2차원 물리 엔진) 라는 걸 사용했습니다. 다른 작품들도 박스 투디를 일부분 사용했다는 걸 

발견 하실 수 있을 겁니다.저는 남들보다 박스 투디를 더 많이 사용해서 앞서 언급한 현실과 같은 현장감, 인원수의증가 표현 등 

많은 기능에 힘썼습니다. 이 두 가지 부분이 제 게임의 장점이라고 말할 수 있을 것 같습니다. (웃음)

 

A. [] 원작게임과 비교했을 때나 현재 인기 있는 주사위 보드게임과 분명히 다르다는 것을 자신 있게 말하고 싶습니다

(웃음) 순번에 의해 주사위를 굴리고, 거기에 나온 숫자에 말은 자동으로 이동하고, 게임 진행에서 얻은아이템을 

자기 턴이 종료되기 전에 사용해야 하는 과정은 지금까지 나온 기존 게임들의 규칙이었습니다. 섣부른판단이기는 하나

게임 규칙이 단순 반복이지 않을까 하는 판단을 했고,이렇게 게임을 하다간 지루할 것이란 생각이 들었습니다

이러한 단순함과 지루함을 없애고자, 자신이 가고 싶은 길을 선택한다거나 타이밍에 아이템을 선택 및 사용이 가능한 

전략 게임을 구성했습니다. 쉽지 않은 길이었습니다. 쉬운 작업을 생각해서, 단순 확률에 맞춰 코딩 작업을 하면 

금방 끝낼 수 있습니다. 제가만든 게임은 단순 킬링 타임용에 그치지 않았으면 바랬습니다. 그 한계를 돌파하기 위해 

퍼즐이나 보드게임에도긴장과 도전 욕구, 자율성 등 추가적인 기능을 넣는 작업을 했습니다.사실, (웃음) 전략적 

아이템 요소가 들어가다보니 로직을 다루는 부분이 어려웠지만, 정해진 시간 안에 프로젝트를 진행하고 

제가 의도한 대로 완성을했다는 것이 장점이라고 말할 수 있습니다.(웃음)

 

 

Q. 장점도있지만 아쉽게도 시간이 짧아 다듬지 못했거나 손을 대지 못한 부분인 단점도 있을 거라 예상합니다

이에대한 단점 몇 가지와 이를 “이렇게 보안했다면 더 완성도 있었을 것 같다.” 하시는 부분이 있으신가요?

A. [] 저를 포함해서 프로젝트에 참가한 모든 학생들에게 공통적으로시간은 부족했을 거라 생각합니다

저는 개발하는 시간이 한정 되다 보니 기획했던 것을 모두 소화하지못했습니다. 그 중에서 아이템이나 몬스터 종류가 

적었다는 것이 마음에 걸립니다. 만약 플레이어가 현실감 있는 전투를 한다고 생각하면 터무니 없이 적었다고 생각할 것입니다

시간이 더 있었다면 종류 수를 더 늘리고 이에 대한 이펙트 부분도 더 만질 수 있었을 것입니다. 만약 단점을 보완하라고 

한다면 방금 전에 말한 부분을 건들고 싶은 생각뿐입니다. (웃음)

 

A. [] 저도 시간이 너무 부족해서 다듬지 못한 부분이 있습니다. 시간에 쫓기다보니 전략적인 요소를 구현하지 못했습니다

시간이 여유가 된다면 보완을 해보고 싶습니다. 음…… 소프트 맥스 주사위의 잔영 게임에서는 파티 + 아이템 사용하는부분이 

있는데 그것을 그대로 표현하지 못해 아쉬웠습니다. 이에 대한 마무리 작업과 제가 생각한 파티구축 선도 있었는데…… 

그것도 함께 표현해보고 싶습니다. 말하고 나니 보완하고 싶은 것들이 계속 나올것 같습니다.(웃음)

 

 

발전된 모습을 보여주는 개발자



Q. 힘들었지만보람찼던 2D 프로젝트이었다는 것이 느껴집니다. 프로그래밍이어렵지만 얻는 것도 많고 

미래가 창창한 직업으로 프로그램 개발자가 꼽힌다고 합니다. 앞으로 미래의 개발자로서각오나 다짐에 대한 

말씀 부탁 드립니다.


A. [] 아직도 “어떤 개발자가 되어야겠다”하고 뚜렷하게 정하지를못했습니다. 다만, 주간 기획 반과 콜라보 3D 

프로젝트 작업과 프로그래밍 반에서 두 번째 프로젝트 이렇게 2개정도 남았는데, 제가 요번에 한 2D 프로젝트를 발판 삼아 

더 발전된 모습을 생각했습니다. (웃음) 앞으로 남은 프로젝트도요번과 같이 좋은 성적(결과)를 이루자는 각오를 밝히고 싶습니다.

 

A. [] 하하하…… 어려운 질문 입니다. 앞으로 진행할 프로젝트를 어떤 식으로진행할까 생각하면서 요번 2D 프로젝트처럼 

아쉬움을 남기지 말아야겠다는 다짐을 했습니다. , 배움에 대해 두려움과 부끄러움은 모두 버리고, 모든 지식을 제 것으로 

만들어야겠다는 목표도 생겼습니다. (웃음) 구체적으로 현실에 안주한다기보다는 지속적으로 배우고 성장하는 개발자가 되고 

싶습니다. 이것도 말하다 보니, 아쉬운 투성이입니다. 어쩌면 모든 일에 아쉬움을 남기지 않는 미래의 개발자가 되고 싶은 게 

아닐지도 모르겠습니다.

 

 

 

[참고]

1기 프로그래밍 김세영_좀비 디펜스

https://www.youtube.com/watch?v=hxVFf7faL5Y

1기 프로그래밍 이석규_주사위의 잔영

https://www.youtube.com/watch?v=klu_8VzSOH4

코코스 엔진과 관련된 참고 기사

http://ruliweb.daum.net/news/view/MD20141002102304197.daum

 

 

경일 1기기자단 권상아

 

경일 1기기자단 이정근

 




©경일직업능력개발원(http://www.kiweb.or.kr), 무단 전재(펌)금지,링크포함 재배포 허용.

 


 





첨부파일 : 480x320_cocos2dx_landscape.png