검은색 주사위가 2개가 있고, 나머지 5개의 주사위가 있음.
검은색 주사위가 목표 숫자 -> 사진에서는 23
나머지 5개의 숫자 6, 5, 4, 2, 1 (가려서 잘 안보이지만...)
이때 5개의 숫자와 사칙연산을 이용해 목표 숫자인 23을 만들면 된다.
예) 6x5-4-2-1 = 23
MathQuest에는 플레이 하고 있는 게임을 친구에게 공유해주는 기능이 있다. 현재 게임의 코드를 생성하고, 해당 코드 url을 친구가 클릭 할 경우 앱이 설치 되어있으면 앱이 실행 된 뒤에 해당 코드를 불러와서 게임이 로드되고, 그렇지 않은 경우는 웹 페이지에서 해당 게임을 보여주는 기능이다.
게임 코드를 분석해서 해당 게임을 로드하는데 사용된 기술이 Firebase Functions 이고 (node js를 활용) 이를 다시 웹에 보여주는데 사용된게 Firebase hosting 이다. Firebase Functions는 꽤 널널한 사용량이 주어지는데 Firebase hosting을 하루 360Mb 밖에 무료로 주어지지 않아 걱정이지만, 이 게임의 공유가 360Mb을 넘을 경우에는 수익이 충분할거라는 계산.
Firebase Functions는 Firebase 의 인증/구글 어널리틱스/데이터베이스 등등을 모두 활용할 수 있어서 아주 유용했다. 나중에 다른 서비스를 만들때도 유용하게 쓸 수 있을 듯.
최근 가장 화제인게 ChatGPT다. 나는 ChatGPT를 아주 아주 똑똑한 자동 완성기라고 생각하는 편인데, 이미 잘 알려진 문제들에 대한 힌트나, 창의력이 필요한 것들 (예를 들면 앱 이름 짓기 같은)은 아주 유용했다.
기획/디자인은 사장님(아내)가 하지만 개발은 혼자서 하다보니 이야기 나눌 사람이 없는데 ChatGPT가 아주 유용했다. 간단한 코드 블럭 던져주고 개선해보라던가, 함수명 제안해주라던가, QA해주라던가, 테스트를 작성해달라던가 이런 명령을 아주아주 잘 수행해줬다.
기존에는 앱스토어 제출 할 때 '스크린샷'을 fastlane 의 screenshot / frameit 2가지를 활용해서 작업했는데 이게 문제가, 아주아주 느리다는거다.
그래서 이번엔 SwiftUI 100%로 작업하니까 각 화면을 모두 가지고 있기 때문에 스크린샷을 프리뷰 화면을 캡쳐하는 방식으로 처리했다. 덕분에 좀 더 자유로운 연출(?)과 빠른 속도를 둘다 얻을 수 있었다.
다만 이 방식은 화면이 로드 된 뒤에 특정 시간이 지나고 나서 캡쳐해야 할 필요가 있는 것들은 제대로 동작하지 않기 때문에 주의가 필요하다.
엡 심사를 한번 리젝 당했었다. 그 이유는 '할인코드' 제공 금지 약관을 위반했다는 것이었다.
우리앱은 최초 앱 설치하고 n번 게임을 하면 사용자에게 24시간 동안의 할인 상품을 구입할 수 있는 기회를 주고 있는데, 앱스토어 심사의 편의를 위해 n번 게임을 하지 않고도 특정 코드를 입력하면 해당 상품이 노출되도록 작업한게 리젝된 것이었다.
보통 다른 게임의 경우 '로그인' 시스템이 자연스럽게 붙어있기 때문에 특정 아이디에 특정 기능을 바로 테스트 할 수 있는 상태로 만들어서 해당 아이디를 제공하는식으로 처리하는걸로 알고 있는데, 우리 게임은 '로그인' 시스템이 없어서 편의를 위해 해당 기능을 만든것이었는데 그것 때문에 리젝된 것이었다.
그냥 해당 기능 삭제하고 n번 플레이 하면 해당 상품 테스트 가능하다고 안내하고 나서 심사를 올렸더니 통과했다.
'숫자 계산' 퀴즈 게임에 대한 니즈는 굉장이 낮을 것으로 예상했기 때문에 초기 자연 유입이 적은 것은 이해할만 했음.
활동하는 커뮤니티에 '리딤'코드 나눔을 했고 그 뒤 상황을 지켜봤는데 리텐션이 거의 없었다. 아직까지는 사용자들이 즐겁게 할 수 있는 게임은 아닌 것으로 판단됨.
'스테이지'형태로 즐길 수 있고, 게임을 매일 몇 판씩 하는 것에 대한 동기부여를 어떻게 해줄 지 고민중이고, 현재 개발 중에 있음.
끝.