본문 바로가기

공부/개발 독서

추억속 아케이드 게임을 이끌어 온 기술 ~ 1990(완)

반응형

1984: 마블 매드니스 - C언어와 레이 트레이싱

 마블 매드니스는 C언어를 사용해 제작되었다. C언어는 고급 언어 중에서도 기술하기 쉽다는 점과(어셈블리어랑 비교하면..) 저급 언어에 가까운 실행속도를 얻을 수 있는 언어이다. 같은 동작을 하는 어셈블리어와 C언어를 비교하면 프로그램의 규모가 크고 복잡할 때는 C언어가 개발 효율이 높다는 것을 알 수 있다.

 

 마블 매드니스는 스테이지를 레이 트레이싱 기술을 활용하여 렌더링하였다. 레이트레이싱이란 이름 그대로 플레이어의 눈에 닿는 광선의 길을 더듬어 봄으로 현실에 가까운 외형을 그려내는 그래픽 기법이다.(라고 하지만 레이트레이싱이 적용된건지 모르겠네) 최근에는 고성능 GPU를 이용하여 매 프레임 단위로 실시간 레이트레이싱을 수행하기도 하지만, 마블 매드니스에서는 아직 실시간 레이트레이싱이 어려웠다. 그렇기에 마블 매드니스에서는 다른 컴퓨터에서 미리 레이트레이싱 처리를 하고 그 결과를 스테이지 이미지로 이용했다.

 

1985 : 스페이스 해리어 - 유사 3D 그래픽

 이 시절쯤 강화된 스프라이트 기능들과 래스터 스크롤, 다중 스크롤을 이용한 유사 3D 게임들이 제작되었다. 또한 탑승 기기를 타고 즐기는 체감형 게임이나, 애니메이션과 함께 플레이어의 선택에 따라 분기가 나뉘는 타입의 게임들도 제작되기 시작했다.

 

 

1988 : 탑 랜딩 - 3D 폴리곤

 드디어 현 시대 게임의 주를 이루고 있는 3D 폴리곤을 이용한 렌더링 기술로 게임이 만들어지기 시작했다! 탑 랜딩은 3D 폴리곤을 이용한 항공기 착륙 시뮬레이션 게임이다. 영상을 보니 확실히 게임보다는 시뮬레이션에 더 가까운 느낌. 3D 그래픽을 위해서는 수많은 곱셈 연산이 필요하다. 기본적으로 3D 공간은 4차원 벡터로 정의되고, 물체들을 이루는 4차원 벡터에 연산을 하기 위해서는 4x4 크기의 행렬을 이용한다. 따라서 3D 게임을 만들기 위해서는 기본적으로 2D보다 훨씬 많은 양의 곱셈이 필요하다.

 

 최근에는 이와 같은 처리를 GPU를 이용하여 해결하고 있지만, GPU가 없던 이 시절에는 'DSP'라는 하드웨어를 이용하여 이러한 곱셈 연산을 처리하였다. 

 

 

 

후반부로 오면서 한 게임에 대한 기술을 깊게 설명해주기 보다는 점점 발전하는 다양한 게임들을 소개시켜나가는 형식으로 책이 진행되었다. 후반부에서는 솔직히 책 읽는거 자체는 큰 재미가 없었는데 책에 나온 게임 영상들을 살펴보는게 재미있었다.. 퐁에서 여기까지 발전해왔다니.. 지금은 훨씬 기술이 뛰어난 게임들을 즐기고 있는데도 위 탑 랜딩같은 게임들이 대단하게 느껴졌다. 게임와 게임개발에 관심이 있는 사람이라면 나처럼 유튜브에서 게임 영상들을 찾아보며 이 책을 읽어보는 것을 추천한다. 책에 소개된 게임들을 플레이 해봐도 정말 좋을 것 같다.

반응형