28년 된 게임에 AI를 연결하는 법 — Anima의 기술적 도전
울티마 온라인의 바이너리 패킷을 파싱하고, 상태를 동기화하고, 언제 LLM을 쓸지 결정하는 것. AI 에이전트를 살아있는 MMORPG에 넣으려면 생각보다 많은 것을 풀어야 한다.
소프트웨어 엔지니어링, AI, 그리고 기술에 대한 생각들.
울티마 온라인의 바이너리 패킷을 파싱하고, 상태를 동기화하고, 언제 LLM을 쓸지 결정하는 것. AI 에이전트를 살아있는 MMORPG에 넣으려면 생각보다 많은 것을 풀어야 한다.
1998년 내 젊은 시절을 가져간 울티마 온라인. 텅 빈 프리 서버를 보며, AI가 이 세계에 살면 어떨까 하는 생각이 프로젝트가 됐다.
임베디드 시스템을 만드는 작은 회사에서, AI가 시니어의 생산성을 끌어올릴수록 주니어가 설 자리가 사라지는 역설을 겪고 있다.
4년간 대학에서 소프트웨어를 가르치며, 학생들에게 '코딩을 배워야 하는 이유'를 설명하는 것이 점점 어려워졌다. htmx 창시자의 에세이에서 하나의 답을 찾았다.
연휴에 장염으로 누워 있다가 겨우 일어났더니 Claude Code 서버가 죽어 있었다. 그리고 나는 Codex라는 대안이 있으면서도 쓸 생각조차 하지 않는 나를 발견했다.
멀티 에이전트가 일하는 모습을 눈으로 보고 싶었다. '지금 뭐하노?'라는 질문 하나에서 시작해, 이틀 만에 실시간 대시보드를 만들고 오픈소스로 공개하기까지.
SSH로는 잘 되는데 화면만 멈춰있다면, efifb와 vmwgfx의 메모리 영역 충돌이 원인일 수 있다. ARM64 환경에서만 발생하는 이 문제의 원인과 해결법.
Teams, Slack, Mattermost까지 써봤지만 늘 아쉬웠던 업무 채팅. AI 에이전트가 동료로 참여하는 채팅이라면 이야기가 달라질 수 있다.
MacBook을 쓰기 시작하면서 가장 먼저 불편했던 한영 전환. Swift를 한 줄도 몰랐지만, vibe coding으로 앱을 만들고 Homebrew에 올리기까지의 이야기.
25년 된 커널 드라이버를 되살린 이야기에서 시작해, LLM이 '꼭 필요하지만 누구도 손대지 않던 것들'을 만들 수 있게 해주는 효능감에 대해 이야기합니다.