판다스를 다시 써봤는데 역시 어렵다....!!
역시 타입힌트좀 잘 해줬으면 좋겠다. 많이 불편하다.
#18 에서는 람다를 어떻게 구성할지 고민했었고,
#19 는 게임을 어떻게 가져와서 필터링 할지 고민했었다.
이번 주제에서는 매일 자동으로 만들어야 하는 “데일리 퀴즈를 어떻게 생성할지”에 대해서 고민해본다.
먼저 데일리 퀴즈는 하루에 5개씩 생성될 예정이다.
https://guessthe.game 에서는 하루에 하나의 게임만 제공하지만,
솔직히 꾸준히 하지 않는 사람 입장에서는 1개는 감질나다.
게다가, 잘 못맞추면 기분 나쁘기까지 하다.
그래서 성질이 서로 다른 5개의 게임을 골라 매일 퀴즈로 제공하고자 한다.
유명한 게임만 모았기 때문에 사용자는 잘하면 여러개 맞출 수 있고 긍정적인 반응을 얻을 수 있을 것이다.
“성질이 다른”게임의 기준을 생각해봤는데 전 프로젝트였던 Imgenie에서도 이런 고민이 있었다. 그때는 유저 이미지와 성질이 같은 엘범 커버를 찾고자 했기 때문에 VIT 모델의 아웃풋 즉, 임베딩 벡터를 faiss로 유사도 비교했었다.
(이후 추천 노래의 신뢰도를 높일려고 인기도에 따라 / 좋아요 순에 따라 / ?? (하나뭐였지) 2개씩 선발해서 6개를 추천했었다.)
이번에도 스크린샷으로 서로 유사도가 먼 게임들 5개를 고를까? 라는 생각을 잠깐 해봤지만, 당장은 백엔드와 시스템을 구축하는데 더 전념을 쏟아야 해서 뒤로 미뤄두었다.
(FPS게임들의 유사도는 엄청 높을 것으로 예상되지만, 인디쪽은 엄청 다를 것같은 것도 문제다.)
암튼 그러니까 당장은 더 쉬운 방법을 선택하겠다고 하는 말이다.
발매일의 중간값을 기준으로 오래된 게임 / 새 게임을 나누고
오래된 게임에서 2픽, 새 게임에서 3픽을 고른다.
게임 발매 년도의 수는 아래와 같다.
2016년 까지는 계속 우상향 했지만 이후에는 어느정도 제한이 있어 보인다.
아무래도 게임 시장이 계속 성장할 수 없어서 그런것 같다고 생각한다.
장르는… 특정 분야에 몰려있는 것 같다.
특히 이상한 장르가 껴있는 것도 문제다. (Free to Play / Early Access)
오히려 이것은 태그로 분류할만 하다.
때문에, 이 두개를 빼야 할것 같다.
나머지도 분포가 그렇게 좋지는 않지만 Action은 전부 단일 장르로 존재하지도 않고, 제외하면 분포가 그렇게 나쁘지 않을 것 같다.
사실 뭐가 되었건 간에 꼭 장르가 같다고 해서 비슷한 게임도 아니거니와 다르다고 해서 딱 다르지는 않다.
한번 해봐야 안다.
그래서 결론은…
“발매년 중앙값을 기점으로 2 / 3개로 나눈뒤, 10개의 장르중 랜덤으로 선택”
추가로 람다 구조는 그대로 사용하면서 DailyQuiz라는 람다를 추가할 것이다.
하는 역할에 맞게 기존 람다의 이름도 수정했다.
기존의 public 람다는 gameupdater로, private 람다는 Database로 바꾸었다.
원래는 scraper를 재활용해서 역할 분리를 할까 생각도 했지만, Scraper가 수집만 하는게 아니라는 것 때문에 아래 방식은 사용하지 않았다.
심지어 위는 기존 코드를 복붙하면 되지만, 아래는 Scraper에서 이벤트 핸들러를 만들어야 하고 좀 공수가 더 들어간다.
'프로그래밍 > 스팀 게임 퀴즈' 카테고리의 다른 글
#23 게임 이름 검색에 대해서.. (0) | 2024.02.26 |
---|---|
#22 백엔드와 프론트엔드를 배포했다! (0) | 2024.02.18 |
#19 게임 데이터 스크래핑 전략 수정하기 (1) | 2024.01.25 |
#18 AWS 람다 - 스크래핑한 데이터를 DB에 저장하기 (1) | 2024.01.20 |
#17 fastapi-users를 써서 OAuth2를 적용해보았다! (0) | 2024.01.18 |