python3 -m tools.importers world
python3 -m tools.importers ped PLAYER --anims '*' --root-motion inplace --head B_Buzz
tools/ue/run_lighting.sh --variant B_raking_amber
단 세 줄의 터미널 명령어를 실행하자, 2006년 출시된 고전 명작 불리: 스칼라십 에디션(Bully: Scholarship Edition)의 아카데미 캠퍼스 맵과 동적 라이팅이 언리얼 엔진 5.8 환경에 완벽하게 조립되었다. 2026년 10월 18일, 1인 인디 개발자 @ashen_one은 약 3분 분량의 실제 구동 영상을 공개했다. 10월 15일 깃허브 저장소를 개설한 뒤 오프닝 26개 퀘스트 단계를 원활하게 실행하기까지 걸린 시간은 단 5일이었다. 더욱 놀라운 점은 전체 개발과 플레이가 Mac 환경에서 1080p, 45프레임으로 매끄럽게 이루어졌다는 사실이다.
생성형 AI 기반 에셋 파이프라인과 애플 네이티브 그래픽 인터페이스의 결합은 고전 AAA 게임의 현대화 장벽을 수백 명 규모의 대형 스튜디오에서 1인 개발자 수준으로 대폭 낮추고 있다. 머티리얼 자동 매핑을 통해 수년이 걸리던 수작업 아트를 단숨에 건너뛰었으며, Metal 그래픽 API와 통합 메모리 아키텍처는 슬림형 노트북에서도 차세대 조명 환경을 무리 없이 감당할 수 있는 실질적인 연산력을 제공했다.
사진: 불리 주인공 지미 홉킨스(Jimmy Hopkins)의 원작 비주얼 설정화. 이번 리메이크 프로젝트는 자동화 스크립트를 통해 그의 36개 관절 본 구조와 4,374개 애니메이션 클립을 손실 없이 언리얼 엔진 5.8로 완벽하게 이전했다. 출처: 락스타 게임즈 (프로젝트 배경 자료)
멀티 에이전트가 5일 만에 완성한 파이프라인, 대규모 팀의 노동력 대체
전통적인 고전 게임 리메이크 작업은 구형 엔진의 독점 포맷을 리버스 엔지니어링하고 C++ 엔진 코드를 전면 재작성하는 막대한 인력 소모의 늪에 빠지기 일쑤였다. 오픈소스 저장소 oh-ashen-one/bully-remake에서 인간 개발자는 전체적인 방향성 설정, 플레이 테스트를 통한 결과 검증, 심미적 판단만을 맡았다. 저장소 내부의 파이썬 기반 변환 도구와 C++ 바인딩 코드 대부분은 AI가 직접 작성했다. Claude Code(Fable 5)가 총괄 오케스트레이터 역할을 수행하고, Opus 5.5, Sonnet 5.5, Haiku 5.5 하위 에이전트들이 빌드와 오류 수정을 분담했다.
이 멀티 에이전트 파이프라인은 저장소 생성 후 불과 4일 만에 원작 게임브리오(Gamebryo) 엔진의 고유 포맷 장벽을 무너뜨렸다. 파이썬 임포터는 로컬 정품 게임 디렉터리의 Stream/World.img 아카이브를 직접 읽어들여, 독점 규격인 .nif 메시, .txd 압축 텍스처, .ipb 좌표 데이터를 glTF 2.0 및 JSON 중간 포맷으로 일괄 변환했다. 또한 MAINPED.HXD에 내장된 4,374개의 애니메이션 클립과 .SEA 사운드 아카이브의 MS-ADPCM 오디오도 완벽하게 디코딩했다. 수많은 툴체인 엔지니어가 수개월 동안 매달려야 했던 리버스 엔지니어링 과정을 멀티 에이전트가 96시간 만에 표준 명령어 도구로 압축해 낸 것이다.
수학 공식을 통한 PBR 재구성, 5일 차 온디바이스 음성 LLM 탑재
구형 엔진의 베이크된 버텍스 라이팅을 차세대 렌더러에 그대로 배치하면 동적 그림자와 겹쳐 화면이 새까맣게 뭉개지는 현상이 발생한다. 파이프라인은 수학적 공식을 이용해 물리 기반 렌더링(PBR) 파라미터를 자동으로 재구성했다. 임포터가 원작 _s 스펙큘러 텍스처의 빨간색 채널 값을 읽어와 Specular = 0.35 + gloss.r * SpecularScale, Roughness = 0.85 - 0.35 * gloss.r 수식에 따라 언리얼 엔진 5 머티리얼 인스턴스를 동적으로 생성했다. 여기에 전역 파라미터 MPC_Bully.BakedVertexLight를 도입해 구형 버텍스 그림자 효과를 실시간으로 중화했다.
개발 5일 차(10월 19일, 커밋 69abe5a)에는 메인 브랜치에 교내 자유 격투 시스템과 AI 대화 스택이 통합되었다. 학생 NPC에게 다가가 T 키를 누르면 텍스트 대화가 시작되고, Tab 키를 길게 누르면 로컬 whisper.cpp를 거쳐 마이크 음성으로 직접 대화할 수 있다. 백그라운드에서는 MiniMax M2.7-highspeed 모델과 Fish Audio가 캐릭터 성격에 맞는 자연스러운 음성 대답을 생성한다. 대화가 끝나면 내용이 요약되어 Saved/NPCChat/<ped>.json에 1인칭 기억 데이터로 영구 보관된다. 플레이어에게 괴롭힘을 당한 NPC는 다음 날에도 그 악감정을 그대로 기억한다.
Metal SM6와 통합 메모리: Mac에서 구현된 1080p 45프레임 동적 라이팅
그동안 크로스 플랫폼 팬 리메이크는 고성능 외장 그래픽 카드를 장착한 윈도우 PC 환경에 전적으로 의존해 왔으며, macOS는 고사양 3D 게임 개발의 변방으로 여겨졌다. 그러나 개발자 @ashen_one은 프로젝트 제작 과정에서 “단 한 대의 PC도 쓰지 않았다”고 밝혔다. 고부하 에셋 변환과 헤드리스 테스트, 3840×1920 고해상도 렌더링은 M3 Ultra 칩셋이 탑재된 Mac Studio에서 진행되었고, 일상적인 플레이 테스트와 코드 수정은 애플 실리콘 맥북 노트북에서 직접 수행되었다.
사진: @ashen_one이 공개한 Mac 실제 구동 화면. 창 제목 표시줄에 SF_METAL_SM6 렌더링 백엔드가 명시되어 있으며, 좌측 상단 HUD에서 DAY ONE 2 / 26 미션 진행 상황을 확인할 수 있다. 출처: @ashen_one (X 시연 영상 캡처)
시연 영상 창 상단의 BullyRemake (64-bit Development SF_METAL_SM6) 문구는 이 프로젝트가 언리얼 엔진 5.8의 Metal Shader Model 6 네이티브 백엔드를 직접 호출하고 있음을 증명한다. 환경 설정 파일 Config/DefaultEngine.ini에는 r.AllowStaticLighting=False가 명시되어 있어, 기존의 정적 라이트맵 사전 베이크 작업을 완전히 제거하고 루멘(Lumen) 실시간 글로벌 일루미네이션과 반사를 전면 가동했다. 여기에 황혼 분위기를 살린 B_raking_amber 조명 프리셋이 적용되었다. 정적 라이팅 베이크 없이 순수 실시간 레이 트레이싱 연산만으로 맥북에서 1080p 45프레임의 부드러운 속도를 유지했다는 점은, Metal SM6 파이프라인이 모바일 GPU의 레이 트레이싱과 메시 셰이더 성능을 극대화하고 있음을 잘 보여준다.
애플 칩의 통합 메모리 아키텍처(UMA) 역시 최적화되지 않은 초기 에셋의 대역폭 병목을 훌륭하게 흡수했다. 현재 장면 내 모든 건물은 단순화된 충돌 박스 대신 렌더링용 고해상도 폴리곤을 그대로 물리 충돌체로 사용하는 ensure_complex_collision 옵션이 켜져 있다. 전통적인 PC 구조에서는 수만 개의 로우 버텍스를 빈번하게 호출할 때 VRAM 버스 병목 현상이 발생하기 쉽다. 반면 Mac은 CPU 물리 연산과 GPU 렌더링이 동일한 고대역폭 물리 메모리를 공유하는 제로 카피 특성 덕분에 거친 프로토타입 단계에서도 안정적인 프레임 하한선을 지켜낼 수 있었다.
‘정품 소지 기반’으로 법적 리스크 우회, 하지만 남겨진 기술적 과제들
락스타의 고전 지식재산권을 둘러싼 팬 리메이크는 항상 높은 법적 위험을 수반해 왔으며, 과거 수많은 팬 프로젝트가 모회사 테이크투(Take-Two)의 경고장을 받고 중단되었다. 이러한 저작권 충돌을 피하기 위해 @ashen_one은 코드와 에셋을 물리적으로 완전히 분리하는 방식을 택했다. 깃허브 저장소에는 MIT 라이선스 기반의 순수 자체 제작 파이썬 파서와 C++ 프레임워크만 공유되며, 락스타의 독점 에셋은 단 한 줄도 포함되어 있지 않다. 이용자는 Mac 환경에서 CrossOver를 통해 스팀 정품 불리: 스칼라십 에디션을 설치해야 하며, 스크립트는 로컬 파일을 읽기 전용으로 참조해 언리얼 에셋을 생성한다.
| 평가 기준 | 오픈소스 지지 진영의 관점 | 엔지니어링 현실파의 관점 |
|---|---|---|
| 개발 생산성 | AI 에이전트가 단 5일 만에 26개 미션과 4,374개 애니메이션을 이식하여 인디 개발의 생산성을 혁신함 | 헤드리스 테스트(-nullrhi) 통과가 자연스러운 조작감을 보장하지는 않으며, 대시 제동 및 회전 모션의 어색함은 여전히 수작업 다듬기가 필요함 |
| 플랫폼 생태계 | 네이티브 SF_METAL_SM6로 Mac에서 1080p 45프레임을 달성하여 얇은 노트북에서 UE5 구동이 어렵다는 편견을 탈피함 | 실행 스크립트에 macOS 경로와 번들되지 않은 gpu_slot.sh 외부 잠금 도구가 하드코딩되어 있어 윈도우나 리눅스에서 즉시 실행하기 어려움 |
| 법적 안전선 | 에셋 미배포 원칙과 ‘정품 보유자 자체 추출’ 구조를 통해 MIT 오픈소스 코드의 법적 정당성을 확보함 | ’Bully’ 상표명을 그대로 사용하고 높은 대중적 관심을 받는 이상 언제든 테이크투의 중지 요청에 직면할 위험이 상존함 |
지지자들은 이러한 ‘정품 소지 기반 추출(Bring Your Own Copy)’ 방식과 로컬 AI 코딩 에이전트에 직접 입력할 수 있는 배포 프롬프트의 조합이 클래식 게임 아카이빙의 새로운 길을 열었다고 평가한다. 그러나 저장소의 세부 코드를 들여다보면 AI가 생성한 프로토타입 특유의 한계도 뚜렷하다. tools/ue/_common.sh 스크립트에는 Mac용 바이너리 경로가 고정되어 있고, 저장소에 포함되지 않은 ~/.cache/gpu-slot/bin/gpu_slot.sh 외부 락 스크립트에 의존하고 있다. 또한 언리얼 엔진 5.8 구동에는 Xcode 26.1.1이 필수이며 Xcode 26.4와 호환성 충돌이 있어 일반 게이머가 원클릭으로 구동하기는 까다롭다. 현재는 학교 내부 구역만 변환되었을 뿐, 외부 마을 맵 확장이나 NPC 물리 충돌 끼임 버그, 타격음 피드백 조율 등은 자동화 테스트로 해결할 수 없는 정밀한 수작업 영역으로 남아 있다.
AI 에이전트는 1인 개발자가 엔진 이식이라는 0에서 1까지의 거대한 장벽을 5일 만에 넘도록 도울 수 있지만, 모션의 손맛과 크로스 플랫폼 최적화라는 마지막 10%의 완성도는 여전히 인간 디자이너의 장인 정신에 달려 있다. 비록 비상업용 프로젝트이고 전체 오픈월드 완성 여부는 미지수이지만, 이 프로젝트는 소비자 테크 분야에 뚜렷한 이정표를 세웠다. 거대 언어 모델 기반 에셋 파이프라인과 성숙해진 애플 실리콘 그래픽 인터페이스의 시너지는 20년 전 명작 게임의 리메이크를 더 이상 거대 스튜디오만의 전유물이 아니게 만들고 있다.
참고 링크:
- GitHub: oh-ashen-one/bully-remake 공식 오픈소스 저장소 및 기술 문서
- Tech4Gamers: Fan Is Porting Bully To Unreal Engine 5.8 Using AI
- TweakTown: Bully gets a playable Unreal Engine 5 port nearly 20 years after its release
- IT Home: 팬이 AI와 언리얼 엔진 5.8로 불리 리메이크, Mac에서 1080p 45프레임 구동