
1998년에 나온 하프라이프(Half-Life), 기억하시나요? 밸브(Valve)의 데뷔작이자 FPS 게임의 역사를 바꿨다고 평가받는 작품인데요. 한 개발자가 이 게임을 2007년에 출시된 노키아 N95에서 30프레임으로 돌리는 데 성공했어요. N95가 어떤 폰이었는지 떠올려 보면 이게 얼마나 대단한 일인지 감이 오는데요. 아이폰 1세대가 막 세상에 나오던 해에 '멀티미디어 컴퓨터'를 표방하며 팔리던 슬라이드 폰이거든요. 터치스크린도 없고 숫자 키패드로 조작하던 그 시절 기기에서, 풀 3D FPS가 실제로 플레이 가능한 수준으로 돌아간다는 얘기예요.
사양표를 보면 더 놀랍습니다
N95에는 332MHz로 동작하는 ARM11 계열 CPU가 들어 있고, 램은 수십 MB 수준이에요. 요즘 스마트워치보다도 한참 빈약한 사양이죠. 그나마 다행인 건 당시 휴대폰치고는 드물게 3D 그래픽 가속 하드웨어가 탑재돼 있었고, OpenGL ES라는 모바일용 3D 그래픽 표준을 지원했다는 점이에요. OpenGL ES가 뭐냐면, PC에서 쓰던 OpenGL의 '다이어트 버전'이라고 보시면 돼요. 기능을 확 줄여서 배터리로 움직이는 저전력 기기에서도 3D를 그릴 수 있게 만든 규격이거든요. 하프라이프는 원래부터 OpenGL 렌더러를 갖고 있던 게임이라, 이 접점이 포팅의 실마리가 됐어요.
어떻게 가능했을까
하프라이프의 원본 엔진인 골드소스(GoldSrc)는 소스 코드가 공개돼 있지 않아요. 그래서 이런 포팅에는 보통 Xash3D처럼 원본 엔진의 동작을 분석해서 처음부터 새로 짠 오픈소스 재구현 엔진이 활용되는데요. 재구현 엔진이 뭐냐면, 게임의 맵·모델·텍스처 같은 데이터 파일은 정품에서 그대로 가져오고, 그걸 읽어서 화면에 그려주는 '몸체'만 새로 만든 거예요. 덕분에 저작권 문제 없이 다양한 기기로 게임을 이식할 수 있죠. 문제는 N95의 운영체제인 심비안(Symbian)이에요. 지금의 안드로이드나 iOS와는 전혀 다른 생태계라서 표준 C 라이브러리 지원도 빈약하고, 메모리 관리 방식도 독특하거든요. 엔진 코드를 컴파일되게 만드는 것부터가 고행이고, 그다음엔 좁은 메모리 안에 게임 데이터를 욱여넣고 프레임을 확보하려고 렌더링 경로를 하나하나 최적화하는 작업이 이어졌을 거예요. 그 결과가 30프레임이라는 건 단순히 '켜진다' 수준이 아니라 진짜로 게임을 즐길 수 있는 수준이라는 뜻이에요.
'둠은 어디서든 돌아간다'의 계보
개발자 커뮤니티에는 오래된 밈이 하나 있어요. '그거 둠 돌아가요?(Can it run Doom?)'인데요. 1993년작 둠을 임신 테스트기, 냉장고, ATM 같은 온갖 기기에서 돌려보는 문화가 있거든요. 다만 둠은 진짜 3D가 아니라 2.5D라 불리는 가벼운 구조라서 이식 난이도가 상대적으로 낮아요. 반면 하프라이프는 진짜 폴리곤 3D에 스크립트 기반 연출, 적 AI까지 얹힌 훨씬 무거운 게임이라 차원이 다른 도전이에요. 하프라이프가 PS Vita나 구형 안드로이드 기기에서 구동된 사례는 있었지만, 20년 가까이 된 피처폰급 기기에서 30프레임을 뽑아낸 건 또 다른 수준의 집념이죠.
한국 개발자에게 주는 시사점
'옛날 폰에서 게임 돌리기'가 무슨 의미가 있나 싶을 수도 있는데요, 사실 이런 작업이야말로 최고의 공부거리예요. 요즘은 하드웨어가 워낙 좋아서 성능을 깊게 고민할 일이 줄었지만, 제약이 심한 환경에서는 메모리 한 바이트, 연산 한 번이 아쉽거든요. 셋톱박스, 차량용 인포테인먼트, IoT 기기처럼 저사양 타깃을 다루는 분야는 한국에도 많아서, 이런 최적화 감각은 실무에서 그대로 빛을 발해요. Xash3D 같은 재구현 엔진의 소스 코드는 공개돼 있으니, 렌더링 파이프라인이나 메모리 관리가 궁금한 분이라면 코드를 직접 읽어보는 것도 추천해요. 잘 만든 C 코드베이스가 플랫폼 이식성을 어떻게 확보하는지 배울 수 있거든요.
마무리
20년 묵은 폰에서 클래식 명작을 살려낸 이 프로젝트는, 결국 '제약이 엔지니어를 성장시킨다'는 오래된 진리를 다시 보여주는 사례예요. 여러분이 만약 옛날 기기 하나를 골라 소프트웨어를 이식해 본다면, 어떤 기기에 뭘 돌려보고 싶으신가요?
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공