년도마다 어떤 칩이 나오고 어떤게 개발되었고 이런 이야기가 나오는데 솔직히 들어도 무슨 말인지 잘 모르겠다.. 그나마 아는건 1976년도에 애플이 최초로 출시한 PC [Apple 1] 이정도.. 그래서 시대별 사용된 IC와 게임기기 이름은 잊고, 그래픽과 게임 플레이의 발전 단계를 중심적으로 보며 이 글을 작성하였다. 이 글을 작성하면서 책에서는 볼 수 없는 실제 게임 플레이 영상을 보니까 책에 더 재미있게 접근할 수 있었다.
1975 : 건파이트
최초의 마이크로 프로세스 CPU를 탑재한 아케이드 게임. 왜인지는 모르겠지만 초창기 게임들은 2인 플레이를 좋아하는듯 하다. 학교 컴퓨터실에서 하면 재미있을것 같은 재질의 게임. 건파이트는 이전 게임들에 비해 해상도가 높아지고 움직임에 대한 디테일이 크게 발전되었다. 건파이트의 이런 섬세한 그래픽은 프레임 버퍼 구조를 이용하여 구현되었다.
프레임 버퍼는 메모리의 일종으로 화면에 표시할 내용을 기록한다. 프레임이란 화면 한 장을 말하고, 버퍼는 일시적으로 데이터를 모아둔 기억 영역이다. 게임에 익숙한 사람이라면 '초당 60프레임' 이라는 용어에 익숙할 것이다. 건 파이트의 프레임 버퍼는 256X224 픽셀의 해상도이다. 이때는 메모리가 고가였던 시대라 프레임 버퍼를 탑재하고 있는 기기는 드물었다.
건파이트는 캐릭터의 이동을 위해 프레임 버퍼에 시프트 연산을 적용하였으며, 복수 비트 시프트를 고속화 하기 위한 전자 회로인 배럴 시프터를 이용하였다. 배럴 시프터는 오늘날의 언어로 말하면 그래픽스 엑셀러레이터의 일종으로 볼 수 있다. 건파이트가 가진 CPU와 프레임 버퍼 조합은 범용성이 높아 오늘날에도 널리 사용되고 있다.
1976: 브레이크 아웃
드디어 낯이 익은 게임들이 나오기 시작했다! 블록 깨기로 유명한 브레이크 아웃은, 마이크로 프로세서 CPU를 탑재하지 않은 게임으로, 이전에 소개한 퐁에서 발전한 게임이다. 브레이크 아웃은 퐁처럼 논리회로를 조합하여 만들어졌는데, 100개 이상의 IC를 사용하였다.
개발 당시 아타리는 브레이크아웃에서 사용하는 IC의 개수를 줄이는 이벤트를 했는데, 스티브 잡스는 스티브 워즈니악과 공동으로 이벤트에 응모하여 브레이크 아웃의 IC를 44개 까지 줄이는데 성공한다. 하지만 이렇게 IC를 줄인 기판이 너무 복잡했기 때문에 실제 생산된 기판은 100개 이상의 IC를 사용한 기판이다.
브레이크아웃에는 퐁에는 없던 부품이 사용되었는데, 그것이 바로 RAM이다. 브레이크 아웃에 사용된 RAM은 [82S16] 이라는 IC로 용량은 32바이트이다. 현재 한 개에 16기가비트인 RAM과 비교하면 67108864배 차이가 난다.
아타리는 이어 1977년에 새로운 가정용 게임기인 VCS를 출시한다. 이 VCS를 통해 브레이크아웃, 서커스, 스페이스 인베이더, 갤럭시안, 팩맨 등의 게임을 즐길 수 있었다. 이때 사용된 인터페이스가 어디서 많이 본 D-sub 9핀 인터페이스이다. 이 인터페이스를 일반적으로 [아타리 사양] 이라고 불렀다고 한다.
어디서 많이 봤다 했더니 학교 수업시간에 쓰던 녀석이구먼
1979 : 갤럭시안
갤러그 게임이라고 알고있는 게임이 등장했다! 영상을 보면 알겠지만 이제는 역사속의 게임 느낌이 아니라 어릴때 한번 플레이 해봤을 게임의 느낌에 다가서기 시작했다. 게임에서 우주선의 미사일은 화면상 한 발만 나타난다.
갤럭시안에서는 아케이드 게임 최초로 스프라이트 이미지를 이용하였다.스프라이트는 컴퓨터 게임에서 이미지를 고속으로 표시하기 위한 기술 중 하나로 알려져 있다. 이미지를 부드럽게 이동시키거나, 이미지를 새롭게 바꿔가며 애니메이션화하거나, 배경 등과 겹치기 위한 처리가 뛰어난 특징을 가지고 있다. 스프라이트 처리는 CPU가 아닌 전용 하드웨어가 필요하다. 갤럭시안의 스프라이트는 라인 버퍼 방식을 이용하였다. 강력하고 편리한 스프라이트는 표시할 수 있는 장 수의 제한이 있었다. 갤럭시안의 경우 최대 8장의 스프라이트를 사용할 수 있었다.
스프라이트는 8장 밖에 사용하지 못한다. 그럼 대기할때 저 많은 40명의 적은 어떻게 표시했을까? 이 기체들은 [타일 맵]이라는 기술을 통해 그려졌다. 타일은 정사각형 또는 직사각형 모양의 비교적 작은 이미지를 깔아 화면을 표현하는 기술이다. 보통 배경화면(BackGround)로 많이 사용한다. 타일 맵에서 한 타일에 어떤 이미지를 표시할 것인지는 이미지 번호로 지정할 수 있다. 갤럭시안에서는 타일맵에 스크롤 기술을 이용하여 움직이는 적들과 플레이어 기체를 표현하였다.
총알은 스프라이트와 비슷하지만 매우 간단한 선을 그리는 작업이기에 별도의 전용 하드웨어를 이용해 표시하였다. 그리고 배경은 의사 난수를 이용한 스타 제너레이터를 이용하펴 표시하였다. 이때도 메모리가 엄청난 고가였기에, 별들을 그린 이미지를 저장해서 표현할 수 없었고 계산을 통해 생성하였다. 갤럭시안에서는 선형 귀환 시프트 레지스터라는 방법을 채택하여 난수를 생성했다.
'공부 > 개발 독서' 카테고리의 다른 글
추억속 아케이드 게임을 이끌어 온 기술 ~ 1990(완) (0) | 2023.01.10 |
---|---|
추억속 아케이드 게임을 이끌어 온 기술 ~ 1982 (0) | 2022.12.11 |
추억속 아케이드 게임을 이끌어 온 기술 ~ 1973 (0) | 2022.11.06 |
함께 모으기 - 객체지향의 사실과 오해 (0) | 2022.10.23 |
책임과 메시지 - 객체지향의 사실과 오해 (1) | 2022.10.03 |