본문 바로가기
글/개발

popn.gg

by 유시은 2023. 10. 4.

가동 3일차 기준 popn.gg의 홈 화면

이 글은 계속 업데이트됩니다.

 

개요

popn.gg는 코나미사의 아케이드 게임 팝픈뮤직의 플레이 기록을 수집 · 가공해 열람할 수 있는 서비스이다. 팝픈뮤직은 1999년 출시된 건반형 리듬게임으로, 음악에 맞추어 버튼을 누르는 간단한 방식의 게임이다. 2023년 기준 출시 이후 25년이 지난 지금까지도 많은 사랑을 받고 있는 장수 게임(?)이라 할 수 있겠다.

 

게임의 연식만큼 플레이어들의 실력도 올라, 좋은 점수를 노리거나 잘못된 입력의 수를 줄이는 것을 목표로 하는 경우가 많다. 이때 자신이 강한 악곡은 무엇인지, 반대로 약한 악곡은 무엇인지 파악해야 효율적인 실력 상승을 기대할 수 있다. 하지만 한 사람이 한 기기를 계속 붙잡고 있기 어려운 아케이드 게임의 특성상 게임 안에서 이를 파악하기는 어렵다. popn.gg를 개발하기로 한 시점에서의 선택지는 다음과 같다.

 

  1. 팝픈뮤직 공식 홈페이지에서 플레이 기록 열람
  2. 위 페이지를 수집 · 가공해 보여주는 사설 서비스 이용

 

우선 공식 홈페이지는 그리 좋은 선택지가 아니다. 10년 가까이 된 UI를 그대로 사용하고 있으며 히라가나 순(알파벳 순) 또는 레벨 순서대로 모든 곡을 보여주기 때문이다. 정렬 기능이 있다지만 메달(게임 중 잘못된 입력의 개수에 따라 부여된다) 순서로만 정렬할 수 있어 크게 도움이 되지 않는다.

 

공식 홈페이지

현시점 가동 중인 사설 서비스로는 otoge-flow^2와 poplab이 있다. 이 중 전자는 서비스가 굉장히 불안정하며 글을 작성 중인 시점에서도 접속이 되지 않는다. 또한 모든 input을 slidebar로 받는 등의 곤란함이 있다. 후자는 안정적인 서비스이지만, 불행히도 안드로이드 어플리케이션이기 때문에 아이폰 사용자는 이용할 수 없다. 또한 안정성과는 별개로 페이지 구조가 굉장히 복잡해 어디에 무슨 기능이 있는지 알기 어려우며, 대부분의 기능은 유료 결제를 해야 사용할 수 있다.

 

최근 2년간 팝픈뮤직에 수백만원을 투입했을 정도로 좋아하지만, 앞서 나열한 불편함 때문에 사설 서비스들은 한두 달 정도 써보고 접속하지 않게 되었다.

 

개발에 앞서...

먼저 앞서 언급한 기존 서비스를 사용하기 어려운 이유인 낡은 UI 불편한 UX를 개선하기로 했다. 현재 절대다수의 긍정적인 피드백이 "디자인과 사용 편의성이 좋다"이기 때문에 좋은 선택이었다고 생각한다.

 

둘째로 잠재적인 고객이 오락실 게임 플레이어로 한정되기 때문에, 타 오락실 게임에 대응하는 사설 서비스(anzuinfo.me, nosdata.info 등)의 사용자들의 이용 패턴을 분석하였다. 그 결과 모바일 기기에서 이용하기에 편리해야 하며, 특정 OS에서만 작동해선 안된다는 결론을 내렸다. 선택지는 자연스럽게 웹 서비스가 되었고, 오락실의 느린 공용 wifi에서도 잘 작동하도록 최적화도 눈여겨보기로 했다.

 

popn.gg는 내 첫 front-end 프로젝트이다. 당장 올해 6월에는 웹개발을 어떻게 하는지 몰랐기 때문에 무엇을 공부해야 할지 검색을 했다. 각종 라이브러리 사이의 장단점 비교 등은 전혀 이해가 되지 않아서 (○○가 왜 장점인지 이해하기 어려웠다), 검증되었으며 큰 커뮤니티와 생태계가 있다고 하는 react.js의 강의를 듣기 시작했다. 강의를 다 듣고 나니 routing이나 캐싱 등은 어떻게 하는 건지 의문이 들었고, 학교 선배가 next.js를 쓰면 좋다길래 8월부터는 next.js의 강의를 들었다. 정말 무작정 공부했기 때문에 다른 라이브러리나 프레임워크의 장단점은 어떤지 아직 알지 못한다... react와 next.js에 대한 이해도를 높여 popn.gg의 안정성을 개선하다 보면 알게 되리라 생각한다.

 

이어서 작성 예정

' > 개발' 카테고리의 다른 글

gitTwi 개발  (0) 2020.08.25

댓글