자유
옛날 게임들의 극한의 최적화
영상 보면서 내가 함수에 대해 너무 편견에 빠져 있었던게 아닌가?
싶었고 저런 최적화 기술들을 엑셀에 적용할 수 있지 않을까?이런 생각이 들었네요.영상은 유튜브의 코딩애플님 채널의
옛날 게임들이 최적화가 지리는 이유
라는 영상입니다.주소는 올려도 될지 모르겠네요.1. 불가능에 가까운 도전: 게임보이의 열악한 환경
영상은 먼저 당시 게임보이의 혹독한 기술 사양을 설명하며 문제의 본질을 제시합니다.초저속 CPU: 4.19MHz의 8비트 CPU는 오늘날 스마트폰의 수만 분의 일에 불과한 성능입니다.아주 작은 RAM: 고작 8KB의 RAM(작업 메모리)을 가졌습니다. 이는 간단한 메모장 텍스트 파일 하나도 제대로 담기 어려운 극도로 제한된 공간입니다.제한된 저장 공간: 게임의 모든 데이터가 담기는 롬 카트리지 용량은 1MB였습니다. 당시로서는 큰 용량이었지만, 151마리의 포켓몬, 방대한 맵과 스토리, 복잡한 전투 시스템을 모두 담기에는 턱없이 부족했습니다.이처럼 열악한 환경에서 오늘날 우리가 아는 '포켓몬스터'를 만드는 것은 상식적으로 불가능에 가까운 일이었습니다.2. 한계를 극복한 비결: 압축, 어셈블리어, 그리고 '미싱노'
개발자들은 이 불가능을 가능으로 바꾸기 위해 하드웨어의 성능을 한계까지 쥐어짜는 기술을 사용했습니다.극한의 데이터 압축: 용량을 줄이는 것이 관건이었습니다. 예를 들어, 방대한 게임 월드맵을 하나의 거대한 이미지로 저장하는 대신, 레고 블록처럼 작은 '타일' 조각들을 재사용하여 조합하는 방식으로 구현했습니다. 각 타일에 번호를 부여하고, 맵 데이터는 이 번호들의 배열로 저장함으로써 용량을 획기적으로 줄일 수 있었습니다. 그래픽, 텍스트, 사운드 등 게임의 모든 요소에 이러한 압축 기술이 적용되었습니다.하드웨어 직접 제어, 어셈블리어: 현대의 파이썬이나 자바스크립트 같은 편리한 고급 프로그래밍 언어 대신, 기계어에 가까운 저수준 언어 '어셈블리어'로 게임을 개발했습니다. 어셈블리어는 개발이 극도로 어렵고 시간이 오래 걸리지만, 메모리 한 바이트, CPU의 동작 하나하나를 직접 제어할 수 있어 극한의 최적화가 가능했습니다.
싶었고 저런 최적화 기술들을 엑셀에 적용할 수 있지 않을까?이런 생각이 들었네요.영상은 유튜브의 코딩애플님 채널의
옛날 게임들이 최적화가 지리는 이유
라는 영상입니다.주소는 올려도 될지 모르겠네요.1. 불가능에 가까운 도전: 게임보이의 열악한 환경
영상은 먼저 당시 게임보이의 혹독한 기술 사양을 설명하며 문제의 본질을 제시합니다.초저속 CPU: 4.19MHz의 8비트 CPU는 오늘날 스마트폰의 수만 분의 일에 불과한 성능입니다.아주 작은 RAM: 고작 8KB의 RAM(작업 메모리)을 가졌습니다. 이는 간단한 메모장 텍스트 파일 하나도 제대로 담기 어려운 극도로 제한된 공간입니다.제한된 저장 공간: 게임의 모든 데이터가 담기는 롬 카트리지 용량은 1MB였습니다. 당시로서는 큰 용량이었지만, 151마리의 포켓몬, 방대한 맵과 스토리, 복잡한 전투 시스템을 모두 담기에는 턱없이 부족했습니다.이처럼 열악한 환경에서 오늘날 우리가 아는 '포켓몬스터'를 만드는 것은 상식적으로 불가능에 가까운 일이었습니다.2. 한계를 극복한 비결: 압축, 어셈블리어, 그리고 '미싱노'
개발자들은 이 불가능을 가능으로 바꾸기 위해 하드웨어의 성능을 한계까지 쥐어짜는 기술을 사용했습니다.극한의 데이터 압축: 용량을 줄이는 것이 관건이었습니다. 예를 들어, 방대한 게임 월드맵을 하나의 거대한 이미지로 저장하는 대신, 레고 블록처럼 작은 '타일' 조각들을 재사용하여 조합하는 방식으로 구현했습니다. 각 타일에 번호를 부여하고, 맵 데이터는 이 번호들의 배열로 저장함으로써 용량을 획기적으로 줄일 수 있었습니다. 그래픽, 텍스트, 사운드 등 게임의 모든 요소에 이러한 압축 기술이 적용되었습니다.하드웨어 직접 제어, 어셈블리어: 현대의 파이썬이나 자바스크립트 같은 편리한 고급 프로그래밍 언어 대신, 기계어에 가까운 저수준 언어 '어셈블리어'로 게임을 개발했습니다. 어셈블리어는 개발이 극도로 어렵고 시간이 오래 걸리지만, 메모리 한 바이트, CPU의 동작 하나하나를 직접 제어할 수 있어 극한의 최적화가 가능했습니다.
하
김
오
황
레
댓글 2
요즘 웬만한 pc도 32기가 램을 쓰니.. 그 당시 램은 여기에 200분지 1도 안되는 수준이였는데 요즘 ai 가 작성한 코드는 잘못 쓰면 알고리즘을 박살(?)낼 수 있으니 사용에 주의해야한다는 내용이었습니다.
포켓몬 게임 주제도 매우 흥미롭네요
솔직히 불안합니다.