본문 바로가기

대학생활

[해커톤] Super Hackathon 2022(NEXON X LIKELION) 후기

 

멋쟁이사자처럼 슈퍼해커톤(with 미리캔버스)

 

 

MapleStory Worlds X Super Hackathon 2022 (개발+기획 트랙) : TECHIT

NEXON X LIKELION에서 선사하는 대규모 오프라인 콘텐츠 제작 해커톤 개최!

techit.education

 

시작

 

게임 개발을 희망했지만 정작 아무것도 하지 않은 와중에 'MapleStory Worlds X Super Hackathon 2022' 광고가 눈에 들어왔다. 뭐라도 해보자, 잘되든 안되든 그래도 해보자는 마음을 갖고 신청했다. 마침 같은 과 동기 중 2명이 게임 개발을 희망해서 그 동기들도 해커톤을 신청했다. 무엇보다 1등 혜택이 컸다. 

 

MapleStory Worlds X Super Hackathon 2022

 

곧 졸업을 앞두고 취업이 걱정이었던 우리들에게 서류 전형 면제 혜택은 너무나도 컸다. 게임 개발을 해본 적도 없던 3명이 1등 한번 해보자고 의기투합했다.

 


활동

 

MapleStory Worlds X Super Hackathon 2022

 

해커톤에는 800명이 넘는 사람이 함께했다. 전 지역에서 참여한 해커톤이기 때문에 온라인으로 진행되었는데, 그중 온라인 이론 교육이 있었다.

 

여기서 잠깐, MapleStroy Worlds(MSW)란?

MSW는 누구나 자유롭게 콘텐츠를 제작할 수 있는 플랫폼이다. 여기서 가장 매력적인 건 메이플 리소스를 사용할 수 있다는 것이다. 1인 게임 개발을 하는 사람은 기획, 프로그래밍, 그래픽까지 혼자 모든 걸 책임져야 하는데, MSW에서 콘텐츠를 개발하면 그래픽 걱정이 사라진다. 그렇다고 아예 메이플 리소스만 사용해야 되는 건 아니다, 본인이 제작한 리소스도 사용할 수 있고 제작한 게임을 모바일, PC에서 친구들과 함께 즐길 수 있다.

MSW에서 월드를 제작하는 방법은 두 가지인데 '꾸미기 모드'와 '프로 모드'가 있다. 꾸미기 모드에서는 드래그 앤 드롭의 형태로 간단하게 월드를 제작할 수 있는 반면, 프로모드에서는 '루아 스크립트'를 통해 더 자세한 기능과 조건을 추가해 더욱 퀄리티 높은 월드를 제작할 수 있다.

 

여기서 잠깐, 루아 스크립트란?

루아 스크립트는 아마 컴퓨터공학을 전공한 사람들에게도 낯선 언어일 것이다. 루아는 가벼운 명령형/절차형 언어로, 확장 언어로 쓰일 수 있는 스크립팅 언어를 주 목적으로 설계된 언어다. 루아는 게임에서 많이 사용되는데 로블록스에서도 사용자가 콘텐츠를 제작할 때 루아 스크립트를 사용한다. 그리고 생각보다 많은 곳에서 루아를 이용한다.
(출처: 위키백과)

 

MSW는 넥슨의 신규 프로젝트로 해커톤에 참여한 대학생의 대부분이 잘 모르는 플랫폼이었다. 따라서 그 플랫폼에서 어떻게 콘텐츠를 제작하고 협업하는지 알려주기 위해 온라인 강의가 필요했다.

 

해커톤에서 제공하는 교안과 온라인 강의 영상을 통해 MSW 플랫폼과 루아 스크립트를 공부했다. 게임 개발을 하는 것도 처음이었는데 팀 작업이라 많은 설렘과 걱정이 공존했다. 누가 되지 않기 위해 열심히 공부했는데, MSW에서 제공하는 컴포넌트는 실제 게임에서 어떻게 활용되는지를 중점으로 공부했다.

 

 

MapleStory Worlds-DEVELOPER

메이플스토리 월드의 개발자센터입니다.

maplestoryworlds-developers.nexon.com

 

특히 개발자 센터를 많이 이용했는데 교안에서 부족한 예제는 개발자 센터에서 검색해 학습했다. 그리고 슈퍼 해커톤 이전에 진행된 서포터즈 해커톤에서 대상이었던 부산행 게임을 팀원들과 플레이하면서 무슨 콘텐츠를 기획할 것인지 의논했다. 그 외에도 MSW에서 인기탭에 있었던 여러 월드를 플레이해보면서 가장 재밌던 월드를 뽑았는데, '광부 시뮬레이터'와 '슈퍼 제트팩'을 선택했다.

 

동기들과 함께 뽑은 베스트 월드 3개

 

여긴 완전 부산행(KNU구도말릴수없어)

부산행 영화를 모티브로 다양한 재미요소를 집어넣어 게임으로 재현한 월드다. 해당 월드는 중간중간 등장하는 미니게임이 독특한 재미요소인데 플레이하다 보면 도대체 이걸 어떻게 만들었을까 하는 의문이 든다.
광부 시뮬레이터(MiningFactory)

광부 시뮬레이터는 꾸준히 유저들의 사랑을 받는 월드다. 정말 말 그대로 광부가 되어 광석을 캐는 월드로 광석을 캐서 받은 화폐로 본인의 장비를 업그레이드해 더 깊고 어려운 광산으로 나아간다. 하다 보면 몇 시간이 지나있다.
슈퍼 제트팩(JetPocket)

슈퍼 제트팩은 광부 시뮬레이터의 배경이 우주로 바뀌고 PvP의 요소가 들어갔다. 그렇다고 아예 광부 시뮬레이터와 똑같진 않다. 그저 유저가 화폐를 얻는 방법이 우주에서 고철 등을 캐는 것이라 비슷하다고 느껴진다. 가장 독특했던 것은 고철 등의 가격이 주식처럼 하락과 상승이 있다는 것이고 하루마다 가격 변동이 일어난다. 그리고 PvP로 본인의 장비를 업그레이드해 다른 사람을 죽이거나 스스로를 지킬 수 있다.

 

그렇게 어떤 월드를 만들어야 하는지 고민하고 있었을 때 그래픽 팀원 한 명이 매치되어 총 4명이 한 팀이 되었다. 1~2주일 정도 의논을 했고 그 결과 부산행처럼 플레이 인원은 한 명으로 고정하고 중간중간 미니게임처럼 즐길 요소가 많은 스토리 진행 형식의 월드를 개발하기로 결정했다. 

 


개발

 

개발이 진행되기 전 팀원들과 역할 분담을 했다. 기획과 그래픽 2명, 개발 2명으로 나눴고 나는 개발이었다. 기획과 그래픽을 맡은 2명은 게임 시나리오를 확정하고 맵 디자인에 들어갔고 그 사이에 개발팀은 대략적인 게임의 구성을 어떻게 실현시킬지 고민과 학습을 하고 있었다.

 

문제 1

팀으로 게임을 개발하는 건 팀원 4명 모두 처음 겪는 일이었다. 그러다 보니 기획/그래픽팀은 본인들의 아이디어가 실현시키기 어려울까 봐 망설이고 있었고 개발팀은 계속해서 기획이 지연되고 있어서 개발 시간이 줄어드는 것을 걱정했다. 이러다가 월드를 완성시키는 것이 어려울 것이라 판단해 정기적인 온라인 회의시간에 얘기를 꺼냈다.

" 일단 기획을 완성시키는 것이 현재로선 최선이라고 생각이 드니 개발팀은 신경 쓰지 말고 기획을 완성시켜 주세요. "

기획팀이 꺼낸 아이디어가 현실적인지 판단하기에는 MSW 플랫폼이 생소했고 게임 개발 경험이 아무도 없었기에 객관적인 판단을 내릴 수 없었다. 일단 기획팀이 완성시킨 기획을 바탕으로 대략 어떻게 구현하면 될지 개발팀이 의논할 테니 걱정하지 말고, 망설이지 말고 기획을 끝내는 것이 우선이라고 강조했다. 개발팀에서 다른 한 명의 의견도 마찬가지였다.

개발은 신경 쓰지 말고 기획을 하라는 건 어쩌면 무책임한 말일 수 있지만 그 상황에선 기획이 지연되는 것을 막고 월드를 조금이라도 일찍 개발할 수 있게 하기 위한 최선의 방법이었다고 생각했다.

 

완성된 게임 시나리오를 바탕으로 개발을 시작하면서 많은 어려움이 있었다. 특히 트랩을 통해 플레이어에게 피해를 입히는 것이 고역이었는데, 해당 트랩의 이미지는 여러 이미지가 반복 재생되고 있었다. 예를 들어 바닥을 뚫고 나오는 가시의 경우 '바닥 → 가시 → 바닥 → 가시'가 반복되는 형태다. 게다가 중간에는 바닥에서 가시가 나오는 과정도 있다. 어떤 조건을 이용해 플레이어에게 피해를 입힐 것인지 고민하고 여러 방법으로 시도하다, 가시가 나오는 이미지의 번호를 알아내 이미지가 그 번호일 때 플레이어에게 피해가 가는 방법을 최종 사용했다.

 

기획/그래픽 팀에서 개발팀이 기획부터 맵 디자인까지 맡았으면 좋겠다는 부분이 있었다. 우리 월드의 경우에 '보스'가 존재했는데, 보스 맵을 전부 개발팀이 맡았으면 좋겠다고 했다. 플레이어가 보스까지 도달하기 위해 여러 관문을 통과해야 하는데 그 관문에서 겪었던 패턴을 보스에서 모두 보여야 했다. 예를 들어 하늘에서 떨어지는 낙하물을 피해 관문을 통과했다면 보스맵에서도 똑같이 낙하물이 떨어져야 한다. 같은 개발팀 팀원과 의논해 보스의 방향과 이미지, 맵 디자인을 시작했다.

보스는 우주를 연상시키는 이미지였으면 좋겠다고 판단했고, 맵 디자인도 그에 어울리되 광활하고 서늘하게 표현했다. 메이플 스토리에서 '더스크'라는 몬스터가 보스 이미지와 잘 어울려 보스로 정하고 플레이어가 지나온 관문을 다시 재현해 시간제한을 걸었다. 예를 들어 낙하물을 피해야 하는데 약 20초 정도만 피하면 다음 공간으로 이동하는 포탈이 열린다. 마지막은 더스크가 등장해 플레이어가 더스크를 물리치는 것을 끝으로 보스맵은 끝이 난다.

 

문제 2

협업이 처음이다 보니 서툰 부분이 많았다. 특히 회의가 끝나서 결정된 부분이나 기획서에서 수정된 내용을 따로 공지하지 않아서 개발에 착오가 생기는 경우가 있었다. 그리고 팀원들은 파일로 정리하지 않고 텍스트 형태로 카카오톡 채팅방에 공유했는데 파일로 정리해 올린 나와 부딪치는 부분이었다.

따로 공지하지 않았던 문제는 온라인 회의 시간에 얘기해 해결이 되었고 팀원들이 텍스트 형태로 올리는 파일은 내가 파일로 저장해 개발 때 사용했고, 그 파일의 내용을 정리해 다시 공유했다.

 


행사

 

 

 

해커톤에서 가장 큰 행사는 '무박2일 MSW 슈퍼 해커톤'이었다. 말 그대로 밤을 새워서 참여하는 오프라인 행사였다. 수원 컨벤션 센터에서 개최한 행사에 생각보다 일찍 도착해 강연도 들었다.

 

오프라인 행사에서 열린 강연

 

강연은 생각보다 재밌었다. 특히 블록 코딩 지원을 통해 프로그래밍의 진입 장벽을 낮추고, 3D 지원, GPS 기능, 수익 창출이 가능한 구조, IP 확장 등등 앞으로 MSW의 발전 가능성에 대한 설명을 들으며 MSW로 게임을 많이 만들어봐야겠다는 생각이 들었다.

 

 여기서 잠깐, 'IP 확장'에서 IP란?

콘텐츠 IP라고 하는데 콘텐츠를 기반으로 한 다양한 장르적 확산과 부가사업을 가능하게 하는 관련 지식재산권 묶음이다. 예시로는 현재 MSW에서 가장 인기 있는 월드는 '항아리게임 리턴즈'인데 해당 게임은 항아리 게임과 콜라보로 만들어진 월드가 있다.

 

그리고 멋쟁이사자처럼의 대표인 이두희 님의 강연에서는 '메타버스'를 강조했다.

 

Mass adoption이 가장 잘 적용될 분야는 메타버스다. 메타버스는 세계관의 합성이고 블록체인만이 이뤄낼 수 있을 것이다. 두 게임이 이어지는 것이 가능케 하는 게 블록체인이고 이처럼 세계관의 합성이 일어나는 것이 바로 메타버스다.

- 강연 중 일부 내용

 

메타버스에 관심이 많아서 강의를 즐겁게 들었다. '블록체인', 언젠가 공부해봐야지 생각만 하고 있었던 분야였는데 이번 강의를 통해 제대로 알아봐야겠다고 생각했다. 현재 게임에서 메타버스라고 하면 방대하고 제약이 없는 오픈월드라고 생각이 든다. 하지만 이것이 메타버스의 전부는 아닐 것이다, 메타버스는 모든 세계의 융합의 시발점이 될 것이라고 생각한다. 초월, 가상을 의미하는 메타와 유니버스의 버스가 합쳐진 메타버스인 만큼 완성된 메타버스의 세계는 우리를 지금껏 경험해보지 못한 미지의 세계로 이끌 수 있을 것이다.

 

수원 컨벤션 센터에서 열린 무박2일 MSW 슈퍼 해커톤, 귀여운 주황버섯, 팀원들과 함께 찍은 사진

 

처음으로 해보는 출시에 바들바들 떨리는 카메라 초점

 

사실 출시하기 전 테스트를 1/2 밖에 못했다. 정해진 시간 내에 출시해야 하고 그 뒤에는 수정조차 불가능했기에 먼저 출시를 했는데 테스트를 해보지 못한 부분에서 에러가 발생해 게임이 진행이 안 되는 걸 확인하고 그 짧은 시간 안에 벌벌 떠는 손을 부여잡고 급하게 수정했다. 다행히 제한 시간 내에 수정이 성공했고 모든 게 끝난 뒤에 출시된 월드를 플레이해보니 에러 없이 끝까지 진행되었다.

초반에는 무조건 1등 하자고 의기투합했는데 마지막이 되니 출시된 월드가 그냥 작동만 하면 다행이다는 마음으로 바뀌었다. 웃기고 슬프지만 그래도 완성했다. 뿌듯하고 피곤하고 설레고 동시에 힘들었다.

 

하루를 뜬눈으로 보낸 뒤에 아침 하늘

 


마무리

 

MapleStory Worlds X Super Hackathon 2022 수료증

 

팀 단위로 기획에 참여하고 개발하는 경험도 처음이고 마감일에 쫓겨 밤을 새본 경험도 처음이었다. 손이 벌벌 떨리는 첫 출시의 경험, 팀원과의 갈등을 해결하는 것도 고등학교 이후 처음 경험했다. 끝으로 갈수록 처음처럼 열정이 넘치진 않지만 끝까지 완성을 해야 한다는 책임감이 커졌다. 

이번 해커톤을 통해 MSW을 자세히 알게 되었는데 앞으로 자주 사용할 플랫폼이라고 강한 생각이 들었다. 메이플 스토리의 리소스를 사용할 수 있다는 것이 이유였는데, 메이플 스토리의 그래픽은 도트 특유의 감성과 향수를 불러일으킨다. 메이플 스토리는 2022년 기준 19주년을 맞은 게임으로 많은 콘텐츠와 스토리를 갖고 있다. 그 많은 리소스를 이용해 새로운 게임을 만들 수 있다.

 

게임을 개발하고 출시해 사람들의 반응을 살피면서 깨달은 점은 중간중간 테스트를 통해 의견을 받는 게 중요하다는 것이었다. 처음 기획을 통해 게임이 개발되기 시작하고 그 과정이 마무리되면서 더 이상 수정을 하기 싫어진다. 게임 진행에 어려움이 생기는 문제가 아닌 이상 새로 뜯어고치는 것이 무섭고 귀찮아진다. 그리고 계속 자체적으로 테스트를 하다 보면 단순히 문제없는 게임을 만들기 위해 노력하게 된다. 그러다 보니 가장 중요한 '재미'를 잊는다. 재미 요소가 부족함에도 그걸 깨닫지 못하고 수정을 하지 않는다.

 

슈퍼 해커톤 참여 작품(오른쪽부터 최우수상, 우수상, 우리팀이 개발한 게임)

 

오늘을 기점으로 캡처한 월드들이다. 이 월드 모두 슈퍼 해커톤 참여 작품으로 월드 이름 밑에 사람 표시가 플레이한 유저의 수를 나타낸다. 우리 팀이 개발한 게임은 18명이 플레이를 했는데, 다른 월드에 비하면 초라한 숫자다. 제목과 썸네일에서 어떤 내용인지 유추가 되지 않은 점이 크지만, 무엇보다 게임이 어렵다. 관문을 여러 번 통과해야 하는데 그 관문들이 죄다 어렵고 재미보단 짜증을 유발하는 점이 많았기에 선택을 못 받은 것이 아닐까 싶다. 

 

게임을 성공적으로 개발하기 위해 단순히 기획팀은 기획만, 개발팀은 개발만 잘하는 건 한계가 있다. 이번 경험 덕분에 게임은 혼자 개발하는 것이 아닌 다 같이 개발하는 것임을 몸소 경험했다. 그리고 팀원들과 의견을 나누면서 내가 맡은 부분을 알기 쉽게 전달하고 그 과정에서 간단하고 명료하게 얘기하는 게 중요하다는 것을 깨달았다.

 

설레고 두렵고 떨리고 또 엄청나게 힘들었지만 값진 경험이었다. 팀 단위로 게임 개발을 하는 건 쉬운 경험이 아니기 때문에 앞으로 공모전이나 해커톤 등에 참여해 경험을 더욱 많이 쌓아야겠다.