PackText는 단어, 이모지, 이미지처럼 비트맵으로 만들 수 있는 요소를 지정한 윤곽 안에 채워 배치하는 엔진이다. 브라우저에서는 WebAssembly로 실행되며, Word Mess의 iPhone·iPad·Mac 버전에도 쓰인다.
엔진은 의존성 없는 C++20 코어로 구성됐으며 약 3,000줄이다. 보드는 픽셀당 1비트를 사용하고, 충돌 검사에는 3단계 밉맵과 비트 연산을 활용한다. 배치 위치를 찾을 때는 원점에서 바깥쪽으로 나아가는 아르키메데스 나선을 미리 계산하며, 직사각형 나선도 선택할 수 있다. Apple 실리콘에서는 NEON을, 이 페이지에서는 WebAssembly SIMD를 사용해 충돌·배치·마스크 처리 경로에서 한 연산에 128비트를 처리한다.
페이지에서 보이는 엔진 파일은 packtext.wasm이다. API는 보드, 모양, 마스크, 배치, 검사, 도장 찍기, 제거 등을 포함해 25개 호출로 이뤄진다. 텍스트는 Core Text나 FreeType으로 만들거나 사용자가 알파 채널 데이터를 가져올 수 있고, 데모 페이지는 캔버스에서 래스터화한다.
PackText는 Word Mess의 각 레벨에서 단어 구름을 배치하는 데 쓰인다. 게임은 여러 글꼴과 각도의 단어를 구성하고, 이용자는 제한 시간 안에 단어를 찾는다. Word Mess는 100만 회 이상 다운로드됐으며, Apple의 Staff Favorite 및 New Games We Love에 소개됐다고 안내한다. Find, Rhymes, Categories와 보너스 라운드 등 네 가지 모드를 제공하고, 2026년에 현재 iPhone·iPad에 맞춰 전면 재구축했다고 설명한다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요