1. 밑그림

2019. 2. 21. 11:22개발기록/Smite Items

반응형

쪼오끔 의욕이 떨어지고 있어서, 생각을 정리하기로 했다.


AWS Lambda를 이용해서 하루에 한번씩 AWS Dynamic DB를 업데이트하고, 그 내용에 한국어 번역만 추가하면 어찌어찌 변경사항이 있을때마다 번역만 하면 되겠지? API도 Lambda를 쓸까? 드디어 Kotlin으로 뭔가 하나 만들어보겠군! Android에 데이터는 어떻게 넣지?

… 저번주까지 그런 생각을 했었는데, 곰곰히 생각해보니 AWS를 사용할 정도로 데이터가 많은 것도 아니고, 서비스의 사용량이 많은것도 아니며, 심지어 사용자의 입장에서 생각해볼 때 앱을 켤 때마다 데이터를 인터넷에서 가져오는 건 생각보다 귀찮은 일이다. 그것도 게임을 옆에 켜놓고 급하게 아이템 정보를 찾을때는 더더욱. 정작 JSON파일을 번역할 때는 번역된 필드만 추가하면 될 줄 알았는데, 생각하면 생각할수록 고민거리가 생기기 시작했다.

JSON 파일을 앱에 때려박자.


우선은 JSON 파일을 앱에 포함시켜서 기본 데이터로 사용하면, 인터넷에 접속할 수 없는 환경에서도 아이템 정보를 검색할 수 있다. 이런 경우 메인폰이 아닌 서브폰에 설치해놓은 경우에도 사용할 수 있다. ID별로 정렬만 잘 해놓으면 Smite 홈페이지의 API를 사용해서 데이터를 받아왔을 때, 업데이트도 어렵지 않다.

홈페이지의 내용이 업데이트되면?


시즌 내에서도 밸런스 조정으로 인해 살짝씩 바뀌는 경우가 있으니, 데이터를 업데이트 하는 내용이 필요하기는 하다. 물론 번역의 경우 자동화를 하기에는 문제가 있다. 구글 번역기를 사용하건, 네이버 파파고를 사용하건, 플리토를 사용하건, 게임상의 설정이나 신화적인 배경이 들어가기 때문에 기계번역에는 한계가 있다. 특히 Energy stacks provide 2% Movement Speed, 2% Attack Speed, and 10MP5 per stack. Lasts 8s and stacks up to 6 times. 이런 옵션은 기계번역에도 한계가 있다. 특히 10MP5 per stack 부분. (까미롱 님의 도움으로 스택당 MP자연회복량(5초당)+10이라고 번역해놓긴 했는데, 조금 수정은 해야할 것 같다.) 하지만 HP등의 수치는 번역이 따로 필요 없으니, 자동적으로 업데이트 가능하다.

기본적으로는 백그라운드에서 JSON파일의 내용과 Smite 홈페이지의 API로 불러온 내용들을 대조해서, 내용을 업데이트 해주는 작업을 할 수 있다. 물론 위에서 말했듯이 인터넷을 사용할 수 없는 환경에서 사용하는 경우도 있을거고, 굳이 사용하고 싶지 않은 경우도 있을 것이다. 자동으로 업데이트할지 수동으로 업데이트할지 옵션으로 제공하면 좋을테고, 수동으로 업데이트를 확인하는 메뉴쯤은 있어야 할 것이다.

아무튼 번역을 자동으로 해주지 않는 이상, 굳이 AWS Lambda를 사용할 이유는 없다. 굳이 써야한다면 AWS S3 버킷에 한글번역된 데이터가 포함된 JSON 파일을 저장해놓고, 이 파일을 가져오는 Lambda API를 사용하는 경우 정도? 업무중에 AWS를 사용할 기회가 적기 때문에, 이번 기회에 AWS를 사용해보고싶긴 했지만, 불필요한 비용을 지출하지는 않는게 좋을 듯 했다.

남은건 작업뿐이야.


이제 대충 밑그림이 나왔으니, 작업만 시작하면 된다. 평일에는 퇴근 후 Kotlinlang.org의 내용을 필사하거나, 게임을 하거나 하면 시간이 부족하니, 아무래도 주말에 작업을 해야겠지. 어지간하면 한달 안에는 기본적인 내용은 완성했으면 한다. 과연 이번 토이 프로젝트는 결과물이 나올런지. = ㅅ=)-3

반응형

'개발기록 > Smite Items' 카테고리의 다른 글

[스마이트]일단 뼈대는 완성했다.  (0) 2019.03.04
2. Assets에 Json파일을 넣자.  (0) 2019.02.24