READS
여행 이름 카드는 어떻게 만들어질까? 720개 이름과 가중치 추첨의 원리
카드 한 장이 나오기까지
재미로봄의 여행 이름은 여행지를 정하고, 별명과 취향을 입력하면 그 나라에서 실제로 쓰이는 이름을 기준으로 모은 후보 가운데 3개를 보여 주고 그중 하나를 골라 카드로 저장하는 기능이에요. 어떻게 이름이 정해지는지 신기하게 느껴질 수 있어서, 이 글에서는 안쪽 원리를 최대한 쉽게 풀어 볼게요.
사용자가 하는 일은 이렇게 이어져요.
1. 나라와 도시를 골라요. 도시 페이지에서 바로 시작할 수도 있어요. 2. 별명(최대 12글자)을 적고, 이름 스타일을 남성형·여성형·중성적·상관없어요 중에서 골라요. 3. 분위기를 멋짐·귀여움·우아함·발랄함·카리스마·사랑스러움 중에서 마음에 드는 만큼 골라요. 하나도 안 골라도 괜찮아요. 4. 이름 3장이 나오면 마음에 드는 한 장을 골라요. 5. 함께 가는 사람을 최대 4명까지 추가하면 한 사람씩 같은 과정을 거치고, 마지막에 모두의 이름이 담긴 단체 카드까지 만들어져요.
여기서 눈에 띄는 점은 서버로 보내서 계산하지 않는다는 거예요. 화면에는 '입력한 내용은 저장되지 않아요'라는 안내가 있고, 이름을 고르는 계산도 내 기기의 브라우저 안에서 이뤄져요. 이름도, 카드 문구도 인공지능이 그때그때 새로 지어내는 것이 아니라 미리 준비해 둔 목록에서 고르는 방식이에요.
이름 후보 720개, 무엇을 기준으로 골랐을까
지금 이 기능에는 25개 나라의 이름 후보가 모두 720개 들어 있어요. 나라당 후보는 적게는 23개(라오스)에서 많게는 36개(일본)까지로, 나라마다 개수가 조금씩 달라요. 이 이름들은 83개 도시 페이지에서 공유해서 써요. 같은 나라의 도시는 이름 후보 목록이 같고, 도시마다 달라지는 건 카드에 들어가는 명소와 음식이에요.
이름 후보 하나에는 이런 정보가 담겨 있어요.
- 현지 표기: 그 나라 문자로 쓴 이름이에요. 예를 들어 일본은 陽翔, 몽골은 Алтан이에요.
- 한국어 발음: 읽기 쉽게 한글로 적은 소리예요. 陽翔는 '하루토', Алтан은 '알탄'이에요.
- 알파벳 표기: Haruto, Altan처럼 로마자로 적은 모양이에요.
- 뜻: 이름에 담긴 의미예요. 陽翔는 '볕 양(陽)과 날 상(翔), 햇살 속을 힘차게 날아오른다는 뜻'이에요.
- 성별 스타일: 남성형·여성형·중성적 가운데 하나예요.
- 분위기 태그: 6가지 분위기 가운데 정확히 2개예요.
이름을 고르는 기준은 간단해요. 그 나라에서 실제로 쓰이는 이름을 기준으로 삼고, 성별 분류와 뜻이 맞는지, 한국어 발음과 로마자가 맞게 적혀 있는지를 하나씩 확인하며 정리했어요. 이름을 새로 만들어 낸 것이 아니라 현지에서 쓰이는 이름을 바탕으로 모은 목록이에요. 그래도 한국어 발음 표기는 외국어를 한글로 옮기는 것이라 현지 소리와 조금 다를 수 있고, 나라마다 관례가 갈리기도 해요. 베트남 Minh(민)은 '밝을 명(明)', 태국 Bank(뱅크)는 영어 bank에서 따온 별명인 것처럼 나라마다 이름의 성격이 달라서, 뜻 설명에도 그 나라의 이름 문화가 묻어나요.
한 가지 짚고 갈 점은, 뜻은 사실 정보이고 분위기 태그는 서비스가 붙인 해석이라는 거예요. 陽翔에 '발랄함·멋짐'이라는 태그가 붙어 있는 건 서비스가 매긴 재미용 분류일 뿐, 이름의 공식적인 성격이 아니에요. 이름의 뜻을 설명하는 글과 분위기 태그를 일부러 따로 관리해서 서로 섞이지 않게 했어요.
분위기 태그와 가중치 추첨
분위기를 고르면 그 분위기에 맞는 이름만 보여 주는 걸까요? 그렇지는 않아요. 그러면 같은 분위기를 고른 사람에게는 늘 똑같은 이름만 나오니까요. 대신 가중치 추첨을 써요. 쉽게 말하면 고른 분위기와 이름의 태그가 많이 겹칠수록 뽑힐 가능성이 더 높아지는 제비뽑기예요. 제비뽑기 통에 어떤 이름은 종이가 1장, 어떤 이름은 7장 들어 있다고 생각하면 쉬워요.
이 사이트의 계산 코드를 보면 이름마다 점수(가중치)를 이렇게 줘요.
- 기본 점수는 1점이에요.
- 내가 고른 분위기와 이름의 태그가 겹칠 때마다 3점을 더해요.
이름 하나에 태그는 2개씩이니까, 겹치는 개수에 따라 점수가 세 갈래로 나뉘어요. 고른 분위기와 하나도 안 겹치면 1점, 하나가 겹치면 4점, 두 태그가 모두 겹치면 7점이에요. 예를 들어 '멋짐'과 '카리스마'를 고르면, 태그가 '멋짐·카리스마'인 이름은 7점, '멋짐·우아함'인 이름은 4점, '귀여움·사랑스러움'인 이름은 1점이 돼요. 그러면 첫 번째 칸에서 7점 이름 하나가 뽑힐 가능성은 1점 이름 하나의 7배예요. 분위기를 아무것도 고르지 않으면 모든 이름이 똑같이 1점이라서 전부 같은 확률로 뽑혀요.
3장은 이런 순서로 뽑아요. 점수에 따라 한 장을 뽑고, 뽑힌 이름을 목록에서 빼고, 다시 점수를 계산해서 두 번째와 세 번째 장을 뽑아요. 같은 이름이 한 번에 두 장 나오는 일은 없어요. 점수가 낮은 이름도 아예 뽑히지 않는 건 아니라서, 분위기를 골랐는데 조금 뜻밖의 이름이 섞여 나올 수도 있어요.
이름 스타일을 고르면 후보 자체가 먼저 걸러져요. 남성형을 고르면 남성형과 중성적인 이름이, 여성형을 고르면 여성형과 중성적인 이름이 후보가 돼요. 중성적을 고르면 중성적인 이름만, '상관없어요'를 고르면 전체 후보에서 뽑아요.
같은 입력이면 같은 결과가 나오는 조건
똑같이 입력했는데 새로고침할 때마다 다른 이름이 나온다면 조금 불안할 거예요. 그래서 재미로봄 여행 이름은 입력이 같으면 결과도 같아지도록 만들었어요. 다만 '같은 입력'에는 조건이 있어요.
방법은 이래요. 별명(앞뒤 빈칸은 뺀 것), 나라, 도시, 이름 스타일, 고른 분위기(누른 순서대로), 그리고 몇 번째 사람의 몇 번째 뽑기인지를 하나로 이어 붙여서 숫자 하나(씨앗값)로 바꿔요. 컴퓨터가 만드는 '무작위'는 사실 이 씨앗값에서 정해진 규칙으로 이어지는 숫자들이에요. 씨앗이 같으면 이어서 나오는 숫자도 항상 같으니, 씨앗이 같은 입력에서는 같은 3장이 나와요.
이 방식 때문에 생기는 일은 이래요.
- 새로 연 화면에서 첫 번째 사람이 같은 도시에서 같은 별명, 같은 스타일, 같은 분위기(같은 순서)를 고르면 몇 번을 해도 같은 3장이 나와요.
- 도시도 씨앗에 들어가서, 같은 나라 안에서 도시를 바꾸면 3장이 달라질 수 있어요.
- 분위기를 누른 순서도 씨앗에 들어가요. '멋짐' 다음 '우아함'을 고른 것과 그 반대 순서로 고른 것은 다른 입력으로 취급되어 결과가 달라질 수 있어요.
- 별명을 한 글자만 바꿔도 대부분 전혀 다른 결과가 나와요.
- 사람 번호와 뽑기 횟수도 씨앗에 들어가요. 그래서 '처음부터 다시 만들기'를 누른 뒤에 입력하거나 '함께 가는 사람'으로 추가해 입력하면, 같은 별명과 같은 선택이어도 결과가 달라질 수 있어요. 일행 두 명이 같은 별명을 쓰고 같은 분위기를 골라도 같은 이름이 나온다고 보장되지 않는다는 뜻이에요.
그래서 친구에게 "이 별명으로 이렇게 골라 봐" 하고 알려 주면, 친구가 새 화면에서 첫 번째 사람으로 같은 도시에 같은 입력을 했을 때 같은 3장을 볼 수 있어요. 완성된 카드를 그대로 보여 주고 싶다면 결과 화면의 공유 링크 복사 기능을 쓰는 쪽이 더 확실해요. 마음에 안 들면 별명이나 도시, 분위기를 살짝 바꾸는 것만으로 새로운 이름을 만날 수 있어요.
다시 뽑기와 일행 이름 겹치지 않게 하기
'다시 뽑기'를 누르면 어떻게 될까요? 이때는 뽑은 횟수가 씨앗값에 더해져서 결과가 바뀌어요. 그리고 이미 한 번 본 이름은 후보에서 빼요. 그래서 다시 뽑을 때마다 새로운 이름을 만나게 돼요.
계속 다시 뽑다 보면 후보가 점점 줄어요. 남은 후보가 3개보다 적어지면, 고른 스타일에 맞는 이름 전체를 다시 섞어서 뽑아요. 한 바퀴를 다 돌면 처음 본 이름도 다시 나올 수 있다는 뜻이에요.
일행이 있을 때는 한 가지가 더 있어요. 일행이 이미 고른 이름도 후보에서 빼요. 친구와 함께 갔는데 똑같은 이름 카드가 두 장 나오면 헷갈릴 테니까요. 단체 카드에서 이름이 겹치지 않게 하려는 장치예요. 다만 위처럼 후보를 한 바퀴 다 돌려서 전체를 다시 섞는 경우에는 일행이 고른 이름도 후보에 다시 들어올 수 있어요. 아주 드문 경우지만, 그때는 단체 카드에서 이름이 겹칠 가능성이 있어요.
카드의 문구와 칭호, 캐릭터
이름을 고르면 카드에는 이름 말고도 몇 가지가 함께 들어가요.
- 분위기 한 줄 설명: "○○ 거리를 걷기만 해도 화보가 되는 이름"처럼 분위기별로 준비된 문장 중 하나예요. 고른 분위기와 이름의 태그가 겹치는 분위기에서 문장을 가져오고, 겹치는 게 없으면 이름의 태그에서 가져와요. 문장 속에는 별명과 도시 이름이 들어가요.
- 여행 칭호: '○○ 원정대장', '○○ 인생샷 장인', '○○ 골목 탐험가'처럼 그 도시의 음식, 명소, 도시 이름을 끼워 넣어 만든 칭호예요. 같은 카드 세 장에서는 같은 문장이 반복되지 않게 해요.
- 캐릭터: 사진이 아니라 피부색, 머리 모양과 색, 표정, 소품을 조합한 일러스트예요. 이름의 성별 스타일에 따라 어울리는 머리 모양 후보가 달라져요.
이 문구들은 재미용 해석이에요. 이름의 뜻 설명과는 일부러 분리해서, 사실 정보와 재미 문구가 섞이지 않게 해 두었어요.
나라마다 다른 이름 문화
이름 후보를 나라별로 늘어놓고 보면 가장 흥미로운 점은 나라마다 '이름을 짓는 방식'이 이렇게 다르다는 거예요. 재미로봄의 나라별 이름 안내 문구에서 몇 가지만 가져와 볼게요.
- 중국은 이름이 한자로 이루어져 있어서 같은 발음이라도 어떤 한자를 쓰는지에 따라 뜻이 완전히 달라져요. 이름 후보에는 浩宇(하오위, Haoyu)처럼 한자 하나하나의 뜻을 풀어 적어 두었어요.
- 홍콩은 한자로 짓지만 광둥어로 읽어서 같은 한자라도 한국식 한자음과 소리가 많이 달라요. 그래서 家豪(가호, Ka Ho)처럼 광둥어 발음 그대로 소개해요.
- 몽골은 '바트(굳세다)'처럼 뜻이 뚜렷한 낱말을 조합해 짓는 경우가 많아서, 부모가 아이에게 바라는 마음을 담는 문화라고 소개해요.
- 스페인은 세례명 한두 개에 아버지 성과 어머니 성을 나란히 붙여 이름을 짓는다고 안내해요.
더 깊이 알고 싶다면 일본 이름은 어떻게 지을까, 베트남·태국 이름 문화, 알렉산더는 왜 알렉스가 될까를 읽어 보세요. 내 한글 이름을 알파벳이나 가타카나, 한자 발음으로 쓰면 어떻게 달라지는지는 내 이름을 다른 언어로 쓰면에, 여행지에서 바로 쓸 인사말과 발음은 현지 인사말 비교에 모아 두었어요.
여행 이름은 정답이 있는 테스트가 아니라 여행 전 설렘을 키워 주는 놀이예요. 이름 카드를 만들어 두면 여행 사진과 함께 간직할 수 있고, 일행과 함께 만들면 서로의 이름으로 불러 보는 재미도 있어요. 별명을 입력하고 여행 이름에서 한번 뽑아 보세요.