제가 어렸을 때 즐기던 2D 아이소메트릭(isometric) MMO가 있었습니다. 2004년에 서버가 종료되었고, 사설 서버나 서버 패킷을 확보한 사람이 없어서 아무도 그 게임을 플레이할 수 없었습니다. 2023년, 저는 마침내 이 게임을 부활시키기로 결심했습니다. 원본 CD를 뒤지기 시작했는데, 모든 에셋과 데이터가 커스텀 바이너리 포맷으로 저장되어 있었습니다. 이에 대한 문서는 전혀 없었기 때문에, 단순히 raw hex를 들여다보며 스프라이트, 시각 효과(visual effects), 애니메이션, 맵, 아이템 등을 해독하는 데 거의 백 시간을 보냈습니다. 저는 모든 에셋을 목록화했습니다. 맵 로더(map loader), UI, 스프라이트 매니저(sprite manager), 로그인 및 캐릭터 시스템, 전투 컨트롤러를 재구축했습니다. 코드가 완전히 유지보수가 불가능해지자, 처음부터 ECS 게임 엔진을 재구축했습니다. 또한 실시간 온라인 게임에 최적화된 나만의 네트워킹 레이어(networking layer)를 구축했습니다. 리플레이(replay), 롤백(rollback), 클라이언트 예측(client prediction) 기능을 구현했습니다. 모두가 'MMO는 혼자 만들 수 없다'고 말했습니다. 하지만 저는 시도할 생각이었고, 성공할 것이라고 확신했습니다. 이 작업에만 1,000시간이 넘게 매달렸습니다. 물론 AI가 전체 SaaS를 코딩(vibecode) 할 수는 있지만, 오래된 Windows 게임을 리버스 엔지니어링하고 거대한 대규모 다중 사용자 온라인 게임(massive multiplayer online game) 전체를 재구축하는 것은 불가능할 것이라고 생각했죠. 2023년에 시작했을 때 이 게임은 이미 20년 이상 죽어 있었고, 저 혼자 부활을 시도하던 유일한 사람이었습니다. 그런데 오직 2026년 10월에만 다른 엔지니어 3명이 같은 게임의 리버스 엔지니어링 작업을 시작했습니다. 이제 AI는 원본 클라이언트 파일을 연구하고 전체 세계를 재구성하여 캐릭터가 맵을 돌아다니게 하는 데 20분도 채 걸리지 않습니다. 지난 주말 저도 직접 시도해 보았습니다. 그 시간 동안 저는 다음과 같은 것들을 구현할 수 있었습니다: 멀티플레이어 전투 및 마법, 몬스터 스폰 및 전투 AI, 경험치, 능력치(stats) 및 레벨링 NPC와 상인, 은행 시스템까지요. 또한 다음 기능들도 수행할 수 있었습니다: 전체 게임을 최신 macOS로 포팅(Port). 네트워크 프로토콜을 리버스 엔지니어링하고 서버 측 프로토콜을 몇 분 만에 에뮬레이션(emulate)하는 것. 20년 된 게임에 WASD 컨트롤 추가하기.
타일(tile)을 더 많이 렌더링하여 해상도를 640x480보다 높였다. 기술적인 지시를 할 필요가 없었다. 내가 원하는 기능이 무엇인지 단순히 말해주고 15분 동안 내버려 두었을 뿐이다. 지금 뭘 해야 할지 정말 모르겠다. 나는 프론트엔드, 백엔드, 모바일, 데브옵스(DevOps), 보안, 아키텍처, 클라우드, UX 분야에서 10년 이상의 경험을 쌓았다. 풀스택 개발(full-stack development)에서 멀어지기로 했는데, AI가 그 영역을 위협하는 것처럼 보였기 때문이다. 내 모든 전문 지식을 결합해야 하므로 안전할 것이라고 믿고 실시간 멀티플레이어 분야로 이동했다. 하지만 분명히 AI도 나보다 100배 빠른 속도로 그것을 할 수 있다. 예전에는 내가 범위를 축소하고 작동하는 제품을 출시하는 능력에 자부심을 느꼈다. 많은 사람이 코드를 작성할 수 있지만, 실제로 완성해서 전달하는 사람은 거의 없다. 그런데 이제는 모두가 출시할 수 있게 되었다. 다른 3명의 엔지니어들은 이미 서버를 가동했다. AI가 생각하는 속도로 코딩할 수 있는데 누가 범위를 축소할 필요가 있겠는가? 나는 항상 버그를 유발하지 않으면서 이해하기 쉽고 변경하기 쉬운, 깨끗하고 유지보수 가능한 코드(clean, maintainable code)를 작성해 왔다. AI가 20년 된 .exe 파일을 탐색하고 그것을 아주 잘 확장할 수 있는데 누가 좋은 소프트웨어 관행(good software practices)이 필요하겠는가? 10년 넘게 처음으로, 나는 진심으로 내 직업과 미래에 대해 걱정한다. submitted by /u/renewal_re [link] [comments]