2026년 6월 30일, Erin Catto가 새 프로젝트를 발표했다. Box3D, 오픈소스 3D 물리 엔진이다.
Erin Catto라는 이름이 낯설더라도 괜찮다. 하지만 그가 만든 전작에 얽힌 이야기는 분명 들어봤을 것이다. 세계에서 가장 많이 팔린 모바일 게임 중 하나, 공개 석상에서 벌어진 난감한 질문, 그리고 개발자 본인조차 마음에 들어 하지 않았던 빨간 후드티 이야기다.
물리 엔진이란: 게임 세계에 「중력」을 심는 도구
이 이야기가 왜 한 편의 기사로 다뤄질 가치가 있는지 이해하려면, 먼저 물리 엔진이 무엇인지부터 알아야 한다.
쉽게 비유하자면 이렇다. 당신이 스마트폰 화면을 손가락으로 튕겨 새를 날려 초록 돼지를 향해 쏘았을 때 — 새의 포물선 궤적, 충돌 후 나무 판자가 부서지는 모습, 돌덩이가 굴러가는 방향. 이 모든 것은 「계산」된 결과다. 그 계산을 담당하는 소프트웨어가 바로 물리 엔진이다.
다시 말해, 물리 엔진은 게임 세계의 「중력 시스템」이다. 이게 없으면 앵그리버드는 그냥 직선으로 날아갈 뿐이고, 물체에 부딪혀도 아무 반응이 없으며, 나무 판자는 부서지지 않고, 돼지도 굴러떨어지지 않는다. 게임의 핵심 재미가 통째로 사라지는 셈이다.
그리고 「앵그리버드」에 탑재된 물리 엔진의 이름은 Box2D였다.
GDC 현장: 청중의 박수를 이끌어낸 단 한 번의 질문
시간은 2011년, 게임 개발자 컨퍼런스(GDC)로 거슬러 올라간다. Rovio의 마케팅 책임자 Peter Vesterbacka가 무대에 올라 「『앵그리버드』— 엔터테인먼트 브랜드의 탄생」이라는 제목으로 기조연설을 하고 있었다. 당시 Rovio는 승승장구 중이었고, 객석은 꽉 차 있었다.
Q&A 시간이 되자 한 남성이 일어나 질문했다. 「앵그리버드에는 어떤 물리 엔진이 사용됐나요?」
Vesterbacka는 망설임 없이 답했다. 「Box2D입니다.」
질문자는 이어서 말했다. 「그런데 크레딧에는 왜 Box2D 이름이 빠져 있나요? 참고로 저는 Erin Catto, Box2D 개발자입니다.」
당시 TechCrunch 보도에 따르면 객석에서는 박수가 터져 나왔다. 한 전직 Rovio 직원이 Hacker News에 회고한 바에 따르면, Vesterbacka의 답변은 「끝나고 따로 얘기합시다」였다.
그게 전부였다. 대립도, 변호사 경고장도, 소송도 없었다. 발표 후 Catto의 이름은 크레딧에 추가되었다. 그리고 Rovio의 빨간 후드티를 한 벌 받았다고 전해진다 — Catto는 나중에 포럼에서 빨간색을 별로 안 좋아한다고 덧붙였다.
당시 「앵그리버드」는 이미 전 세계적 현상이었다. 업계 추산에 따르면 시리즈 누적 매출은 5억 달러(약 7,200억 원)를 넘어섰고, 영화 흥행과 캐릭터 상품 매출까지 합치면 그 규모는 헤아리기 어려울 정도다. 그런데 이 제국을 떠받친 핵심 물리 엔진의 개발자가 받은 것은 — 단 한마디, 「끝나고 얘기합시다」뿐이었다.
왜 크레딧이 빠졌나? MIT 라이선스 속 「신사 협정」
여기서 짚고 넘어가야 할 기술적 포인트가 있다. Rovio는 법을 위반하지 않았다.
Box2D는 MIT 오픈소스 라이선스를 채택하고 있다. 이 라이선스는 극도로 간결하고 관대해서, 요지는 이렇다: 마음대로 사용하고, 수정하고, 상업 제품에 포함해 팔아도 된다. 나한테 한 푼도 줄 필요 없다. 단 하나 요구사항이 있다면 — 저작권 표시를 유지할 것.
바로 그 저작권 표시를 Rovio가 빠뜨렸다. Catto가 GDC에서 공개 질문을 하기 전까지, 그의 이름은 어디에도 없었다.
MIT 라이선스 원문에는 이렇게 적혀 있다. 「본 소프트웨어를 기반으로 제품을 개발한 경우, 제품 문서에 출처를 명시해 주시면 감사하겠으나 필수 사항은 아닙니다」(an acknowledgment in the product documentation would be appreciated but is not required).
「감사하겠으나 필수는 아닙니다」 — 이 한 문장이 이 이야기 전부를 설명한다.
필자는 도덕적 심판을 내리려는 게 아니다. 다만 수치가 말해주는 바는 분명하다. 연간 수십억 달러를 버는 게임이 MIT 라이선스의 오픈소스 코드를 사용했다. 개발자는 언급하지 않고, 크레딧을 주지 않고, 수익을 공유하지 않았다. 코드의 창시자가 강연장 마이크 앞에 직접 서기 전까지는.
Box2D: 게임 산업을 바꾼 취미 프로젝트
Box2D의 탄생 자체가 「의도치 않은 성공」 스토리다.
Erin Catto는 수학 박사 학위를 가진 게임 프로그래머다. 2006년, 그는 순수한 개인적 관심으로 2D 물리 시뮬레이션 라이브러리를 작성해 Box2D라는 이름으로 MIT 라이선스 하에 인터넷에 공개했다.
그 후 벌어진 일은 Catto 자신도 예상하지 못했을 것이다. Box2D는 설계가 간결하고, 실행 속도가 빠르며, 문서가 명확하다는 이유로 인디 게임 개발자들의 제1 선택 물리 엔진으로 빠르게 자리 잡았다. Box2D로 구동된 게임 목록은 한 페이지를 가득 채울 정도다. 「앵그리버드」부터 「Limbo」(림보), 「Incredibots」, 「Happy Wheels」에 이르기까지, 심지어 OpenAI의 강화학습 훈련 환경 Gym에도 Box2D 기반의 물리 시뮬레이션 과제가 내장되어 있다.
2010년에서 2020년 사이에 「사실적인 물리 충돌」이 들어간 2D 게임을 하나라도 해봤다면, 그 뒤에는 거의 확실히 Box2D가 있었다고 말해도 과언이 아니다.
하지만 MIT 라이선스는 그 운명을 처음부터 정해놓고 있었다. 기여는 막대하고, 대가는 제로.
15년 만의 Box3D: 그는 왜 여전히 오픈소스를 만드는가
이제 서두의 뉴스로 돌아올 차례다. Box3D가 공개되었다.
Box3D는 Box2D의 「3D 버전」이다. 2D 물리 시뮬레이션을 3차원 공간으로 확장해 — 삼각 메시 충돌, 높이 필드 충돌, 대규모 월드 시뮬레이션, 크로스 플랫폼 결정성, 녹화 및 재생 등 완전히 새로운 기능들을 제공한다. 코드는 전량 C17 표준으로 작성되었고, 단일 C API의 미니멀한 스타일을 유지한다.
Catto는 블로그에서 Box3D를 만든 두 가지 이유를 솔직하게 밝혔다.
첫 번째 이유는 현실적이다 — 그가 만들고 있는 게임에 필요했기 때문이다. Catto는 현재 Kintsugiyama라는 스튜디오에서 「The Legend of California」라는 서바이벌 게임을 Unreal Engine 5로 개발 중이다. 그런데 언리얼 엔진에 내장된 Chaos 물리 시스템에 문제가 많았다. 베어낸 나무가 허공으로 날아가고, 가느다란 물체가 회전을 멈추지 않고, 방대한 개체 수를 효율적으로 처리하지 못했다. Catto는 Jolt 같은 기존 오픈소스 대안을 검토했지만, 결국 Valve의 물리 프로그래머 Dirk Gregorius(「하프라이프: Alyx」의 Rubikon 물리 엔진 개발자)의 조언에 따라 Rubikon의 간소화 버전을 포크해 직접 수정하기로 했다.


그렇게 Catto는 Rubikon-Lite를 언리얼 엔진에 이식하고, Box2D v3.0에서 축적한 최적화 성과를 주입했다. 작업을 이어가다 보니 포크가 어느새 Box3D가 되어 있었다.
두 번째 이유는 더 개인적인 것이다. Catto는 블로그에 이렇게 썼다. 「저는 2004년부터 게임 물리 엔진을 만들어 왔습니다. 직장을 옮길 때마다 그동안 쌓은 성과를 뒤에 남기고 떠나야 했죠. 이것이 제가 Box2D를 만든 이유이기도 합니다. 오픈소스 프로젝트로서 제 지식과 노력을 담아내고, 앞으로의 작업에서도 계속 사용할 수 있도록 말이죠.」
다시 말해, Catto에게 오픈소스는 하나의 「지식 보존 방식」이다.
Kintsugiyama는 Catto가 근무 시간에 Box3D를 개발하고 오픈소스로 공개하는 것을 허용했다. 이는 Box3D가 전 세계에서 몇 안 되는, 상업 스튜디오의 자금으로 유지되는 풀타임 오픈소스 물리 엔진 중 하나라는 뜻이다.
이상주의자의 선택
이 모든 이야기를 살펴보면서 필자가 가장 깊이 느낀 것은 Catto의 태도다.
Hacker News 댓글란은 논쟁으로 들끓었다. 한쪽은 MIT 라이선스가 MIT 라이선스일 뿐이며, Rovio에 돈을 낼 법적 의무는 없고 그게 시장 규칙이라고 주장했다. 다른 쪽은 반박했다. 법적 의무의 선 너머에 최소한의 인간적 도리는 있지 않느냐, 5억 달러를 벌었으면 100만 달러조차 나누기 어렵겠느냐고.
Catto 본인은 이런 논쟁에 단 한 번도 끼어들지 않았다. GDC에서 그가 질문한 방식도 본보기로 삼을 만했다. 먼저 「어떤 엔진을 썼나요」라고 물어 Vesterbacka 스스로 Box2D라고 답하게 하고, 그다음 「크레딧에 넣어줄 수 있나요」라고 부탁한 뒤, 마지막에야 자신의 정체를 밝혔다. 비난도, 성토도 없었다. 그저 사실이 스스로 말하게 했을 뿐이다.
15년이 지난 지금도 그는 여전히 물리 엔진을 만든다. 2D에서 3D로, C++에서 C17로, 개인 프로젝트에서 회사 지원을 받는 정식 제품으로. 그는 이렇게 말했다. 「저에게 오픈소스는 비즈니스가 아닙니다. Box2D와 Box3D를 만드는 이유는 제가 게임 물리학을 사랑하기 때문입니다. 이 수년간 Box2D로 탄생한 놀라운 게임들을 보며 진심으로 기뻤습니다.」
이런 태도는 오늘날의 인터넷에서 어쩐지 「시대에 뒤처진」 느낌마저 든다. 오픈소스 개발자가 번아웃되고, 리포지토리를 삭제하고, 대기업에 변호사 경고장을 보내는 사례는 이제 너무나 익숙하다. 하지만 Catto가 선택한 길은 다른 방향이다. 계속 만드는 쪽.
마치며
하나의 물리 엔진이 5억 달러짜리 게임 제국을 떠받쳤다. 개발자가 받은 것은 빨간 후드티 한 벌 — 그것도 본인은 빨간색을 안 좋아한다.
15년 후, 그는 Box3D를 내놓았다. 여전히 MIT 라이선스. 여전히 오픈소스. 여전히 무료.
필자는 이 이야기에 감정적인 결말이 필요하다고 생각하지 않는다. 그저 더 많은 사람이 알았으면 할 뿐이다. 당신 핸드폰 속 「물리 효과가 실감 나는」 게임들 뒤에는, 아마 평생 들어본 적 없는 이름의 누군가가 서 있다는 것을.
그의 이름은 Erin Catto다.
참고 링크: