에브리메이플: 근거 있는 숫자만 쓰는 메이플 시뮬레이터
게임 정보 사이트의 가장 큰 위험은 숫자가 조용히 틀리는 것입니다. 에브리메이플은 근거가 있는 숫자만 쓰고, 원본이 바뀌면 이용자보다 먼저 알아채는 쪽으로 만들었습니다.
everymaple.com ↗ 2026-10-25 작성
- SvelteKit
- TypeScript
- Tailwind CSS
- PostgreSQL
- Redis
01무슨 문제였나
메이플스토리 플레이어는 큰돈을 들여 장비를 강화하기 전에 기대 비용을 알고 싶어 합니다. 그런데 강화 확률은 공식 API에 없고 공개 웹페이지의 표로만 있습니다. 근거가 불분명한 숫자를 믿고 쓰는 사이트가 되지 않으면서도 빠르게 보여 줘야 했습니다.
02어떻게 만들었나
캐릭터 이름을 넣으면 서버가 넥슨 API에서 장비, 스탯, 유니온 정보를 모아 한 화면으로 정리합니다. 강화 확률은 공식 확률표를 읽어 와 시뮬레이터에 쓰고, 표 형식이 바뀌면 사이트보다 테스트가 먼저 알려 줍니다. 스타포스처럼 단순한 반복으로는 풀리지 않는 기대 비용은 수식으로 정확히 구했습니다. 캐릭터 하나를 보여 주려면 넥슨 API를 수십 번 불러야 해서, 일부가 실패해도 같은 결과가 나오게 하고 짧게 캐시해 둡니다.
SvelteKit 하나로 만든 앱에 PostgreSQL을 붙였고, 채팅은 직접 만든 채팅 엔진을 씁니다.
03운영과 숫자
장비의 가치를 매기는 모델은 공개된 평가 모델의 계산을 옮겨 와, 장비 1,291개의 정답값과 전부 일치하도록 맞췄습니다.
구글 검색으로 들어오는 방문은 28일 기준 588세션에서 1,963세션으로 늘었습니다. 경험치표 같은 한 장짜리 정보 페이지가 주로 끌고 왔습니다. 서비스는 다른 서비스와 함께 쓰는 서버 한 대에서 가볍게 돕니다.
04배운 점
옮겨 온 계산은 원본이 바뀐 날을 스스로 알지 못합니다. 실제로 값이 어긋나서 이용자에게 먼저 지적을 받았고, 그 뒤로는 원본이 바뀌면 알려 주는 감시를 붙였습니다. 자료가 없는 수치는 추정으로 채우지 않는다는 원칙도 이때 굳었습니다. 계산이 맞아도 그 동네 말로 읽히는 이름을 달아야 한다는 것도 이용자에게 배웠습니다.
이렇게 만들고 운영하는 방식 그대로, 고객님의 서비스를 만들어 넘겨드립니다.
1~2개월 동안 실제로 운영되는 서비스를 함께 만들고, 그 뒤에는 AI로 직접 고치고 키울 수 있게 넘겨드립니다.