
생산성 앱, 다들 한 번씩은 깔아보셨을 거예요. 계정 만들고, 알림 설정하고, 며칠 열심히 쓰다가 어느 순간 앱 자체를 관리하는 게 일이 돼서 접어버리는 패턴이요. 그런데 이번에 발견한 Earth Game이라는 프로젝트는 접근이 좀 달라요. 인생 목표를 RPG 게임의 퀘스트로 바꿔주는 터미널 앱인데, 소개 문구가 인상적이거든요. '클라우드도, 계정도, 추적도 없다. 당신의 삶이 곧 게임이다.'
뭐 하는 물건이냐면요
Earth Game은 Rust로 작성된 단일 바이너리 CLI예요. CLI가 뭐냐면 마우스로 클릭하는 화면 없이 터미널에서 명령어로 조작하는 프로그램이고요, 단일 바이너리라는 건 설치 과정 없이 실행 파일 하나만 있으면 된다는 뜻이에요. 모든 데이터는 ~/.earth-game/save.db라는 로컬 SQLite 파일에만 저장돼요. 서버로 아무것도 전송하지 않으니 인터넷이 끊겨도, 회사 보안 정책이 빡빡해도 상관없죠.
사용법은 게임 그 자체예요. 장기 목표는 메인 퀘스트로, 자잘한 할 일은 사이드 퀘스트로 등록해요. 퀘스트마다 마감일을 정할 수 있고, 난이도도 trivial부터 epic까지 5단계로 매길 수 있어요. 퀘스트를 완료하면 난이도에 비례한 경험치(XP)를 받고 레벨이 오르는데, 여기서 레벨업하는 캐릭터가 바로 '나 자신'이라는 게 이 프로젝트의 컨셉이에요. 스킬 트리도 있는데요, 미리 정해진 스킬이 아니라 요리, Rust, 운동처럼 내가 직접 정의해요. 퀘스트에 스킬 태그를 붙이면 그 스킬의 레벨이 따로따로 성장하고요. 매일 반복하는 퀘스트에는 스트릭(연속 달성 기록)이 붙고, earth stats를 입력하면 내 레벨과 경험치, 스킬, 진행 중인 퀘스트가 ASCII 아트로 그려진 캐릭터 시트로 나와요. 설치는 cargo install earth-game 한 줄이면 되고, earth quest add로 퀘스트를 만들고 earth quest done으로 완료하는 식이에요.
제일 마음에 드는 건 README에 적힌 철학이에요. '레벨이 올라도 아무것도 해금되지 않는다. 진짜 보상은 당신의 실제 삶이 나아지는 것이고, XP는 그냥 재미다.' 게임화 장치는 어디까지나 동기부여용 양념일 뿐, 본질은 내 삶이라는 걸 만든 사람이 정확히 알고 있는 거죠.
비슷한 서비스들과 비교하면요
삶을 게임화한다는 아이디어의 원조 격은 Habitica예요. 할 일을 완료하면 캐릭터가 성장하는 웹 서비스인데, 계정과 인터넷 연결이 필수죠. Earth Game 제작자도 'Habitica는 나에게 온라인을 요구했고, 나는 내 목표를 터미널에 두고 싶었다'는 이유로 만들었다고 밝히고 있어요. 계보로 보면 Taskwarrior 같은 터미널 할 일 관리 도구의 흐름에 게임화를 얹은 셈이고요. 더 크게 보면 요즘 커지고 있는 로컬 퍼스트(local-first) 움직임과 맞닿아 있어요. 내 데이터를 남의 서버가 아니라 내 기기에 두자는 흐름인데요, 이 앱은 데이터가 평범한 SQLite 파일이라 직접 SQL로 조회하거나 마음대로 백업할 수 있어요. 서비스가 망해서 내 기록이 증발할 걱정이 원천적으로 없는 거죠.
한국 개발자에게는요
도구로서는, 하루 종일 터미널에서 사는 개발자에게 잘 맞아요. 알림 피로 없이 vim 닫고 명령어 한 줄로 오늘의 퀘스트를 확인하는 흐름이 자연스럽거든요. 그리고 공부 소재로도 좋아요. Rust와 SQLite로 만든 단일 바이너리라는 조합은 로컬 퍼스트 앱 설계의 깔끔한 예제고, MIT 라이선스에 코드를 읽어볼 만한 아담한 규모라 사이드 프로젝트 교본으로 삼기 좋거든요. '거창한 서비스가 아니어도 내 문제를 정확히 푸는 작은 도구'가 얼마나 매력적인 포트폴리오가 되는지 보여주는 사례이기도 하고요.
한줄 정리: 계정도 서버도 없이, 터미널에서 내 인생을 레벨업시키는 로컬 퍼스트 RPG 할 일 관리 도구예요. 여러분은 목표 관리를 뭘로 하고 계세요? 게임화가 실제로 동기부여에 도움이 되던가요?
🔗 출처: Hacker News