일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- Android
- 카페오냥
- GIT
- 티스토리
- 개발
- firebase
- 내 맘대로 정리한 안드로이드
- 서브모듈 pull
- 타이쿤
- submodule sourcetree
- 안드로이드
- 쿼터뷰
- DataBinding
- 게임개발
- Unity
- 코틀린
- 앱
- 서브모듈 sourcetree
- 2d게임
- 앱개발
- github
- Kotlin
- 목서버
- Android Studio
- github submodule
- 안드로이이드 submodule
- 안드로이드개발
- java
- 유니티
- gitlab submodule
- Today
- Total
Uing? Uing!!
로스트아크: 숙제했니? - 로스트아크 숙제 체크리스트 앱 본문
지난 달 플레이스토어에 로스트아크 숙제 체크리스트 앱, '로스트아크: 숙제했니?'를 출시하였다. 링크는 아래와 같다.
https://play.google.com/store/apps/details?id=com.queserasera.lostarkhomework
로스트아크: 숙제했니? - 숙제 체크리스트 - Google Play 앱
로스트아크 숙제 체크리스트 어플리케이션입니다. 체크를 통해 완료 여부를 기록할 수 있으며, 새로고침 버튼으로 일간 또는 주간 리스트를 초기화할 수 있습니다. 하지 않는 숙제는 그 이름을 클릭해 제거할 수 있습니다. 일간) 에포나, 카오스 던전, 실리안의 지령서, 행운의 기운, 이벤트 카던, 레이드, 보물지도 주간) 주간 레이드, 주간 에포나 가 등록되어 있습니다. 다른 숙제가 있다면 추후 업데이트할 예정입니다. 감사합니다! >ㅁ< ---- 개발자 연락처
play.google.com
2018년 겨울에 로스트아크라는 게임을 말 그대로 온종일 했었다.
정말 잘 만든 게임이지만 UI면에서 답답한 부분이 정말로 많았고, 유저의 시각에서 게임을 보는 것 같지 않았다.
가장 답답한 부분은 유저들이 숙제라고 부르는 시스템이었는데, 게임을 숙제라고 부르는 데에는 이유가 있다.
로스트아크는 만렙 이후 컨텐츠가 주요 컨텐츠인데, 이걸 제대로 하려면 매일매일 많은 것들을 거의 필수로 해야 한다.
예를 들면 일간 에포나 퀘스트를 매일 3번씩, 주간 에포나 퀘스트를 매주 3번씩 깨야 한다거나, 5가지 종류의 레이드를 하루에 4번씩, 총 20번 돌아야 한다거나, '실리안의 지령서'라고 하는 퀘스트 수행지를 하루에 3개씩 써야 한다거나, 항해 포인트 2000점을 매일 사용해야 한다거나 등등등... 할 만한 숙제를 전부 다 하고 나면 이미 현실 시간으로 3~4시간이 지나 있다. 아예 모든 컨텐츠를 다 깨 버리고 엄청난 고레벨이 되지 않는 이상, 겜라밸을 유지하기가 너무나도 어렵다.
숙제 자체도 아쉬웠지만 더 아쉬웠던 점은 숙제를 제대로 안내해주지도 않는다는 점이다. 이렇게 많은 것들을 해야 하는데, 체크해주는 시스템도 없어서 유저들 중 다수는 직접 메모장을 켜고 내가 뭘 했는지 뭘 안 했는지 체크하고는 했다. 체크리스트 어플리케이션을 쓰면 되지 않느냐? 할 수도 있는데 막상 해 보면 그렇지도 않다. A를 3번, B를 4번, 5종류의 C를 각각 3번씩... 등을 효율적으로 체크해 주는 체크리스트 어플리케이션 같은 건 없다. 그리고 이 게임이 아니라면 그런 게 있을 이유도 딱히 없다. 그래서 나라도 앱으로 한 번 만들어 보자! 라는 생각에 개발을 시작했다.
이번에도 굉장히 조잡한 스케치를 가지고 개발에 들어갓다. recyclerView를 이용해 체크할 항목 하나하나를 한 줄마다 나타내고, 하나의 항목에 여러 개를 체크할 수 있도록 우측에 체크박스를 정렬하는 방식을 구상하였다. 스케치에서 그게 보일지는 모르겠지만 아무튼 그렇다.
이를 바탕으로 대략적인 ui만 개발한 모습이다. RecyclerView와 커스텀 Adapter를 사용하였고 각 어댑터 내에 체크박스들을 넣었다. 체크박스를 처음에는 고정적으로 3개, 1개 이렇게만 했는데 친구가 게임에서 에포나+1처럼 한 번 더 할 수 있게 해 주는 아이템이 있다는 점을 짚어 주어서 흐릿한 색으로 체크박스를 추가했다.
여기까지 개발 중에 막혔던 부분은, 체크를 다 하고 나서 앱을 끄거나 탭을 옮기면 체크해 놓은 기록이 사라져 버린다는 점이었다. 체크한 내용을 유지되도록 하고 싶은데 체크박스가 많은 데다가 Adapter마다 체크박스의 id값이 같으니 어떻게 해야 할 지 난감했었다. 이후에 이 부분을 모든 adapter를 그 position(어댑터 번호)과 i(체크박스 번호)에 따라 DAILYCHECKED(position)_(i)의 형식으로 appData에 저장한다는, 굉장히 비효율적인 방법으로 해결했는데 아마 더 좋은 방법이 있지 않을까 싶다.
그 다음으로는 refresh 기능과, wipe-out 기능을 더 추가했다. 여기까지 하니 기본적인 처음 구상한 기능은 완성되었다.
추가된 각 기능에 대해 자세하게 설명하자면,
1) refresh기능을 추가하였다. 매일매일 자동으로 갱신되게 한다면 참 좋겠지만 그건 너무 복잡할 것 같아 수동 새로고침으로 노선을 정하였다. 새로고침을 어떻게 구현할지 고민했는데, 처음에 위로 스크롤해서 새로고침하는 방식으로 구현을 해 보니 감도가 너무 높아서 실수로 새로고침되는 경우가 너무 많았다. 그래서 새로고침 버튼을 하단에 고정시켜 놓아 누르면 새로고침되도록 하였다. 실수로 새로고침이 되면 안되니 새로고침 전에 alert창도 생성하였다.
2) 항목 삭제 기능을 추가했다. 레벨에 따라 선택적으로 숙제를 수행하는 경우도 있기 때문에 이 기능이 필요하다고 생각하였다. 수행할 숙제를 본인이 직접 관리할 수 있으면 정말 편리했겠지만, 설정 탭은 구현하기 어려울 것 같아서 그냥 글자를 누르면 해당 리스트가 wipe-out되도록 설정하였다.
처음에 구상했던 기능은 대략 완성되었는데, 색감이 조금 마음에 들지 않아서 로스트아크 로고의 색감을 그대로 빌려와 변경하였다. 그리고 바로 스토어에 첫 버전을 개시하였는데 아래와 같은 상태로 게시하였다.
그리고 이 앱을 홍보하기 위해 로스트아크 인벤에 글을 올렸다.
http://www.inven.co.kr/board/lostark/4821/59967
로스트아크 인벤 : 로아 숙제 체크리스트 어플리케이션 제작해봤습니당... - 로스트아크 인벤 팁과 노하우 게시판
안드로이드 개발 처음으로 공부하는 중인 대학생 나부랭이입니다.공부하는 김에 로스트아크 할 때 숙제 매번 헷갈렸었던 게 생각나서 한 번 제작해 봤습니다.쓰실 분이 얼마나 계실지는 모르겠지만 ㅎ,ㅎ,또 요즘도 이런 식으로 숙제 기록해야 하는 상황인지는 모르겠지만,누군가한테라도 도움이 되었으면 좋겠네요!!개발 능력이 모자라 많은 기능을 추가하지는 못할 것 같지...
www.inven.co.kr
여기까지 하고 끝내려고 했는데, 생각보다 반응이 너무 좋아서 그럴 수 없게 되었다.
대표적으로 나왔던 피드백은
1) 부캐도 추가가 가능했으면 좋겠다
2) 리스트가 너무 옛날 버전이다(내가 너무 옛날 사람이다). 최신 버전으로 수정되었으면 한다.
정도였다. 1번은 시험 이후로 미뤄 놓고 2번부터 수정에 들어갔다. 몇 가지 소소한 기능을 추가했는데, 일간/주간/지속으로 구분을 수정하였고, 유령선과 호감도를 추가하였다. 또한 오른쪽부터 체크박스가 정렬되는 것이 불편하다는 의견이 있어 좌측정렬하도록 수정하였다. 아래는 여기까지 완성된 모습이고 현재 스토어에 올라가 있는 이미지이다. 이 이후로 1번도 업데이트를 해 스토어에 올렸는데, 아직 스토어 이미지는 수정하지 않았다.
마지막으로는 1)번 피드백인 부캐 추가 기능을 구현하였다. 로스트아크에서는 한 서버에 6개의 캐릭터만을 키울 수 있기 때문에, 6개의 칸을 만들어 놓고 각각에 이름을 붙일 수 있게 구현하였다. 양쪽 화살표로 1~6번 캐릭터를 전환하고, 숙제 체크 버튼을 누르면 해당 캐릭터의 숙제를 볼 수 있도록 하였다. 추가로 후원하기 기능을 만들었는데 수익을 기대하고 만든 부분은 아니다 ㅎ,ㅎ
추후 시간과 능력이 된다면 고려하고 있는 기능은 위 화면에도 표시된 수집물 체크 기능과, 친구가 제안한 호감도 제안 기능이다. 그런데 언제쯤 개발할 수 있을런지는 모르겠다.
'Android' 카테고리의 다른 글
코로나위젯 - 위젯으로 보는 코로나바이러스 국내현황 (2) | 2020.02.23 |
---|---|
[안드로이드 삽질기록] 구글 플레이스토어 인증키 분실 시 새로운 인증키 요청 방법 (0) | 2019.07.10 |
나비에게 무러바 - 고양이는 답을 알고 있다 (0) | 2019.07.05 |
전역하자 - 심플한 전역일 D-day 계산기 (0) | 2019.07.04 |
지나가리라 - 첫, 아주 소소한 안드로이드 앱 (0) | 2019.07.04 |