Command & Conquer Generals, Fable로 macOS·iPhone·iPad 네이티브 포팅
요약
AI 에이전트를 활용한 대규모 코드 및 문서 변환 사례를 분석하며, 코딩 에이전트 특유의 압축적이고 추상적인 문체 문제를 다룹니다. 모델이 생성하는 복잡한 합성 명사구와 과도한 하이픈 사용 등 AI 특유의 언어 습관을 제어하기 위한 프롬프팅 전략을 제안합니다.
핵심 포인트
- AI 에이전트를 활용한 대량 코드 변환은 유망한 활용 사례임
- 코딩 에이전트는 토큰 절약을 위해 복잡한 개념을 단어 하나로 압축하는 경향이 있음
- AI의 추상적이고 과장된 문체를 제어하기 위한 구체적인 프롬프트 지침 필요
- Fable의 사례는 기존 크로스플랫폼 프로젝트를 iOS로 포팅하는 데 집중됨
이건 사람이 모델을 이끌어 대량 변환을 시키는 꽤 좋은 활용 사례로 보임
다만 포팅 문서는 사람이 조금 다듬었으면 좋겠음. AI 생성 문체가 거슬림
부담이 낮고, 대부분 재미로 하는 일이며 반복 개선도 가능함. Bun이 “Zig에서 Rust로 다 바꿨고 당연히 잘 돌아가며, 곧 프로덕션에 넣어도 되고, 우리가 뭘 했는지 블로그 글도 쓰겠다”고 했지만 그 글은 아직도 없는 상황과는 다름
Bun 얘기는 잘 이해가 안 됨. Bun은 아마 지금 가장 많이 쓰이는 개발 앱 중 하나인 Claude Code를 돌리고 있음
LLM을 나쁘게 쓴 사례라고 하지만 이미 한동안 프로덕션에서 쓰였고, Claude Code 때문에 오류나 세그멘테이션 오류 같은 게 이전보다 유의미하게 늘었다는 증거는 못 들었음
모델이 작업을 했고 아마 전체를 문맥 창 안에 갖고 있을 테니, 여기서는 오히려 문서 작성에 더 적합할 수도 있음
“사람이 모델을 이끌어 대량 변환을 시키는 좋은 활용”이라는 표현은 너무 약함. 올해의 과소평가일지도 모름
“꽤 괜찮고, 나쁘지 않고, 좋은 활용 사례”라니. Fable이 대체 뭘 해낸 거야
(tap-select, drag-box, long-press deselect, two-finger scroll, pinch zoom) 같은 건 코딩 에이전트에서 자주 보이는 또 다른 AI스러운 표현임
비교적 복잡하고 구체적인 개념을 새 합성 명사나 가끔은 동사로 만들어 한 단어짜리 구문처럼 요약하는 걸 좋아하는 듯함. 토큰을 아끼려는 건지, 나중에 다시 참조할 수 있는 간결한 식별자를 만들려는 건지는 모르겠지만 꽤 눈에 띔
결과 문장은 읽기 어렵지만, 그런 경향을 알고 의식적으로 명사구를 파싱하면 좀 나아짐. 그래도 코딩 에이전트의 중간 산출물이지 에세이나 블로그 글은 아니니 괜찮다고 봄
나도 가끔 그렇게 함
일부 게르만어권 언어에서는 그런 식임. 본능적으로 명사를 합쳐서 lawnchair처럼 만들고 싶은데 맞춤법 밑줄이 뜨고, lawn chair도 이상해 보여서 lawn-chair가 중간 지대가 됨
정말 짜증남. AGENTS.md에서 금지해 봤지만 100% 효과는 없음 ## 쉬운 말, 전문용어 말고
축약용 전문용어를 쓰지 말고 실제로 뜻하는 바를 말하라고 해둠
예를 들어 “load-bearing assumptions” 대신 “xyz가 의존하는 가정”이라고 쓰고, “cross-service”라고 하지 말고 X 서비스와 Y 서비스를 직접 이름 붙이게 함
“Cross-RCA double-counting is unfounded” 같은 추상 명사구 판정도 금지하고, “RCA 실행 간에 같은 근본 원인이 두 번 세어지는지 확인했고 그렇지 않았다”처럼 쓰게 함 ## 세상을 뒤흔드는 선언 금지
“중요한 발견이 모든 걸 바꾼다”, “이제 전체 그림을 파악했다”, “게임 체인저다” 같은 과장을 빼고 발견한 내용을 담백하게 쓰게 함 ## yes를 반사적으로 흐리지 말 것
답이 yes면 yes라고 말하게 함. 모든 긍정 답변에 단서를 붙이면 확신이 약해지므로, 실제로 구체적인 불확실성이 있을 때만 단서를 달라고 함
어쩌면 LLM은 그냥 독일인일지도 모름
비원어민치고는 영어 말하기와 쓰기가 꽤 유창한 편인데, Claude에서 가장 큰 난관이 바로 이거임
고급 개념 2~4개를 한두 단어로 꿰매 붙여서 매번 “풀어서 설명해 달라”고 해야 함. 원어민에게도 쉽지는 않겠지만 비원어민에게는 더 어렵다
과도한-하이픈화는 AI-과몰입임
EA의 GPL v3 소스 공개판을 기반으로 fbraz3/GeneralsX 위에 만들었다는 부분이 핵심임. macOS/Linux 포팅의 큰 작업은 GeneralsX가 했고, 이 포크는 iOS/iPadOS 포팅과 엔진 수정 몇 가지를 더한 것임
Renegade 쪽으로도 비슷한 걸 진행 중인데, 이 모든 걸 처음부터 다른 엔진으로 하고 있어서 충분히 가능해 보임
이 게임은 최신 Windows에서 너무 형편없이 돌아가니 Winx64 역포팅이 필요함
맞음. Fable이 한 건 이미 크로스플랫폼이던 프로젝트를 iOS로 포팅한 정도임
엄청난 고생이 들어간 것처럼 보이지 않고, Opus 4.6으로도 충분했을 듯함
이런 기법이 Emperor: Battle for Dune(2001)에도 유용할지 궁금함
Westwood Studios의 첫 3D 실시간 전략 게임이고 C&C Generals보다 몇 년 앞섰음. 지식재산권 분쟁과 원작 설정에서 벗어난 새 진영 도입 때문에 인기가 제한됐지만, 게임플레이와 사운드트랙, 캠페인 임무는 훌륭했음
Fable이 Claude Code 구독 가격에서 사라지는 7월 7일 전에 해보는 게 좋겠음
어릴 때 이 게임에 셀 수 없이 많은 시간을 썼고, 나이가 들수록 원래 의도된 플랫폼을 기술이 넘어가면서 다시 플레이하기가 점점 어려워졌음
전념하는 팬들의 손에 있다면 AI가 도울 수 있는 좋은 활용처임. 시간이 나면 사용자 제작 지도나 유닛도 실험해 보고 싶음. C&C Generals의 모딩 커뮤니티는 늘 꽤 활발했음
뒤따라오는 다른 바보들을 위해 말하자면, 아래 오류는 Steam에서 게임을 구매하지 않았다는 뜻임 "ERROR! Failed to install app '2732960' (No subscription)"
물론 README에 이미 적혀 있음
Fable이 이걸 했을 리 없음. “command and conquer”라는 단어에서 멈추고 Opus로 강등시켰을 것이며, 동시에 NSA 감시 목록에도 올렸을 듯함
좋아하는 옛 게임 몇 개에 비슷한 작업을 해왔지만, “바이트 단위로 동일”하다는 주장은 걱정됨
바이너리에서 소스코드를 단순히 디컴파일해 공개하는 건 문제가 되지 않나?
이건 클린룸 방식이 아니고, 회사들이 여전히 저작권 침해라고 주장해 내려가게 만들 수 있음
제목은 낚시임
이 작업은 2월에 시작됐고 커밋을 보면 Fable이 한 건 최신 커밋 중 작은 일부뿐임. 2000개 중 19개 커밋임: https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/commits...
게다가 Fable이 아닐 수도 있음. Opus로 강등됐을 가능성도 있음
이런 잦은 오정보 때문에 Anthropic의 LLM 주장에 회의적이 됨. 웹 개발 작업 흐름에서 GPT 5.5와 비교하면 서로 엎치락뒤치락하고, 다시 활성화된 뒤 테스트하기 시작한 Fable도 마찬가지였음
괜찮은 LLM이면 이런 포팅은 했을 것 같음. GLM 5.2 같은 것도 가능했을 텐데, 내가 정부를 해킹하려는 테러리스트인지 생물무기를 만들려는지 계속 추측하지 않으니 오히려 더 나았을 수도 있음
사람들은 LLM을 비교할 자원이 부족해서, 자기가 쓴 모델이 역대 최고이고 새 작업 흐름을 열어줬다고 쉽게 암시함. Opus 4.6 이후로는 개선을 거의 못 봤음
이 프로젝트는 포크이고 실제로 하는 일은 iOS 지원 추가임
저장소 포크 소유자의 커밋은 19시간 전부터 시작하니, 그 부분이 Fable로 됐다는 건 충분히 그럴듯함. 다만 iOS 지원 추가가 이전 모델로는 못 하고 Fable만 할 수 있는 작업이었는지는 나도 전혀 불분명함
AI 자동 생성 콘텐츠
본 콘텐츠는 RSS: GeekNews (한국어)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기