AGI 엔진꞉ 160x200이 현대의 고해상도 캔버스를 만났을 때
1. 도입부: 추억 속의 16색, AGI 엔진을 기억하는가?
1980년대 중반, PC 게임 시장의 패러다임을 바꾼 이름이 있었다.
바로 Sierra Online이었다.
기존의 텍스트로만 구성되었던 ‘텍스트 어드벤처’의 시대에서, 캐릭터가 움직이는 ‘그래픽 어드벤처’로의 진화를 이끈 주역이 바로 AGI(Adventure Game Interpreter) 엔진이었다.
1984년, IBM PCjr의 성능을 극대화하기 위해 등장한 《킹즈 퀘스트(King’s Quest I)》는 당시엔 경이로움 그 자체였다.
비록 거친 픽셀의 16색 화면이지만, 당시 그 안에는 모험과 상상력이 가득 찬 공간이 구현되어 있었기 때문이다.
특히, 영리하게 설계된 인터프리터 구조 덕분에 Apple ][부터 Amiga까지 거의 모든 80년대 PC를 정복했다.
2. AGI의 핵심: 선과 면으로 그려진 세계
AGI 엔진이 기술적으로 더욱 흥미로운 지점은 그 배경 데이터의 저장 방식에 있다.
AGI는 철저하게 벡터(Vector) 방식을 지향했었다.
데이터 효율을 위한 극한의 설계
당시의 부족한 디스켓 용량(360KB 내외) 내에서 수십 장의 배경 이미지를 담기 위해, 개발진은 이미지를 직접 저장하는 대신 ‘그리기 명령어(Drawing Commands)’를 저장하는 방식을 선택했다.
- 명령어 셋: “특정 좌표에서 선을 긋고, 특정 영역을 색으로 채워라”와 같은 명령어들이 순차적으로 실행되며 화면을 구성
- 실시간 렌더링: 게임을 실행하면 화면에 배경이 한 획 한 획 실시간으로 그려지는 모습을 볼 수 있었음
- 해상도의 제약: AGI는 IBM PCjr의 그래픽 사양에 맞춰 160x200 내부 논리 해상도와 16색 환경을 기준으로 설계됨
- 기종별 구현: EGA 에서는 320x200 모드에서 픽셀을 가로로 두 배 확대, CGA 환경에서는 디더링을 적용
현대적 시각에서의 재해석
이 방식은 이미지를 점과 선의 수학적 좌표로 정의하는 SVG(Scalable Vector Graphics) 포맷과 원리상 유사점이 있다.
비록 AGI의 원본 데이터는 160x200이라는 낮은 해상도에 갇혀 있지만, 이를 현대의 고해상도 좌표계로 재투영(Mapping)하여 렌더링하는 시도들이 최근 이어지고 있다.
물론 원본 데이터의 밀도가 낮아 한계는 있지만, 기존의 투박한 픽셀 외곽선을 현대적인 캔버스 위에서 매끄러운 직선과 면으로 복원하는 것은 가능하다.
최근 공개된 관련 코드와 유튜브 영상들은 이러한 데이터 구조의 특성을 활용해, 고전 게임의 비주얼을 조금 더 깔끔하게 다듬는 다양한 업스케일링 실험을 보여주고 있다.
3. 새로운 시선: AGI 데이터의 현대적 재구성
- 방식 1. 실시간 좌표 투영: agi-upscale (eviltrout)
- Robin Ward라는 분이 Ruby를 이용하는 업스케일링 코드를 깃허브에 공개했다.
원본 해상도
agi-upsacle 결과 - 핵심 내용은 좌표계를 고해상도 좌표계에 재투영 한 뒤에 매끄러운 외곽선을 복원했다는 것이다.
- 상세한 기술적 설명은 유튜브 영상을 참고하면 된다.
- Robin Ward라는 분이 Ruby를 이용하는 업스케일링 코드를 깃허브에 공개했다.
- 방식 2. 알고리즘 기반 스마트 스케일링: agi-up (OldManYellsAtCode1)
- 위의 컨텐츠에 영감을 받은 OldManYellsAtCode1라는 분이 좀 더 개선한 방식을 깃허브에 공개했다.
agi-up 결과 - 주요 개선 사항은 픽셀 간의 연결성을 분석하여 부드러운 곡선으로 재구성하는 것이다.
- 상세한 기술적 설명은 유튜브 영상을 참고하면 된다.
- 위의 컨텐츠에 영감을 받은 OldManYellsAtCode1라는 분이 좀 더 개선한 방식을 깃허브에 공개했다.
4. 마무리: 클래식 기술이 던지는 영감
40년 전, 360KB라는 극악의 용량 제한을 극복하기 위해 선택했던 ‘명령어 저장 방식’은 당대의 고육지책이었다.
하지만 데이터가 ‘고정된 픽셀’이 아닌 ‘재현 가능한 논리’로 저장됐기에, 오늘날 이를 다양한 방식으로 재해석할 수 있다.
단순히 추억 보정을 넘어 기술적인 흥미로움을 선사해준 이 프로젝트들이 앞으로 또 어떻게 발전될지 기대된다.
