고전게임 갤러그 ( Galaga ) 총알빼기 사차원 트릭과 버그들

토오비 작성일 16.04.30 13:14:10
댓글 2조회 3,600추천 4

갤러그 (Galaga), 1981, Namco

 

아케이드 게임으로 당시 엄청난 붐업을 일으킨 게임입니다.

 

국내에 갤러그 라는 게임의 보급은 전자오락실계에 큰 파장을 일고 왔습니다.

사실 원제목은 Galaga(ギャラガ) 로써 가라가 또는 갤라가 인데,

복제업자들로 하여금 Gallag 라고 타이틀을 변경한 해적판이 국내 오락실에 보급됨으로써 국내에는 원래 명칭이 아닌 갤러그 라고 알려지게 되었죠.

전자오락을 "뿅뿅" 이라고 일컫는데, 갤러그의 총알을 쏠때 두발씩 나가면서 나오는 사운드가 "뿅~뿅" 하고 나오기 때문에 붙은 이름입니다^^ 

 

★ 사차원 (총알빼기) ?


1981년 깔끔한 그래픽과 매끄러운 동작, 게다가 합체라는 신개념 도입과 장시간의 플레이타임 덕분인지 갤러그는 수많은 게이머의 주머니를 탈탈 털어갔습니다. 저도 갤러그를 즐기던 한 유저였습니다.

 

그러던 어느 날...
적들이 총알을 쏘지 않게 만드는 일명 사차원(당시 버그플레이나 치트플레이를 통칭하는 단어, 총알빼기 라고도 불림)이 알려지게 되면서 동전하나만으로 오전부터 게임을 시작하여 오후까지 플레이하는 유저들이 많아지게 되어 오락실 주인들은 가볍게는 "사차원금지!!" 푯말을... 일부 "사차원하다 걸리면 출입불가" 라는 초강수를 두기까지 했습니다.

 

이 사차원을 갤러그 총알빼기라고도 하는데요... 총알빼기를 하는 방법은 매우 간단합니다.

왼쪽 가장끝의 파란 날파리 두마리만을 남겨놓으면 둘이 계속 날아다니며 공격을 하는데,
요녀석들이 더이상 총알을 쏘지 않을때 까지 기다렸다가 더이상 총알을 발사하지 않을때 사살하면
이후 스테이지부터 적들이 아예 총알을 발사하지 않게 됩니다.
이 때 소요되는 시간으로 약 5~10분 정도 소요됩니다.

※ 사실 날파리가 아니라 "자코"라는 명칭의 외계의 나방벌 입니다.^^

 


두 마리의 날파리 중 한 마리만으로도 총알빼기는 가능합니다만, 한 마리로 할 경우 2배이상의 시간이 소요됩니다. 당시에는 이 부분에 대해서 별다른 생각없이 지나쳤는데, 세월이 흘러 날림 프로그래머로써 오랜 시간을 보낸 지금 의문을 가지게 되었죠. 그래서 아주 간단한 테스트를 통해 원인을 유추해 보았습니다.

여러번의 테스트 결과 한가지 결론에 도달했는데, 적 유닛이 멈추지 않고 총알을 127 발 넘게 발사하면 더 이상 총알을 쏘지 않는다 라는 것입니다. 원래 총알이 플레이어와 충돌하거나 화면 밖으로 나가는 경우, 총알의 수는 초기화 되어야 하는데,  초기화되지 않고 누적되어 더이상 총알을 만들어내지 않는 버그로 보입니다. 아마도, 왼쪽 두마리의 날파리가 이 버그를 발생시키는 것 같습니다. 다른 적들은 이 문제를 발생시키지 않습니다.

이 방법을 응용하여 재미있는 다른 사차원을 할 수 있습니다.

두 마리의 날파리가  누적 90 ~ 120발의 총알을 발사했을때, 둘이 합쳐 총 2발만의 총알을 쏘게 되는데 이때 죽이면, 이후부터 적들이 한번에 2발의 총알만을 쏘게 됩니다. 두 마리의 날파리가  누적 121 ~ 127발의 총알을 발사했을때, 둘이 합쳐 오직 1발만의 총알을 쏘게 되는데 이때 죽이면, 이후부터 적들이 한번에 오직 1발의 총알만을 쏘게 됩니다.

 

 

★ 그 외의 버그들...

 

동전을 넣지 않은 상태에서 잠시 기다리면 데모플레이가 나오는데, 이 때 총알을 쏘거나 조작이 가능한 버그가 있습니다. 데모 조작 플레이를 하다보면 심지어는 리부팅 되기도 합니다.  

 

 

 

또다른 버그가 있는데, 255 스테이지를 클리어하고 256 스테이지가 되면 스테이지가 0 이 되어버리는 버그입니다. 게다가 이상현상이 생기고 리부팅되는 불상사가 발생합니다.

 

원인은 오버플로우 오류 입니다. 당시 고가의 메모리 가격때문인지 스테이지 카운팅을 위한 메모리를 단 1Byte 만 할당하여 사용하였기 때문인데요... 1Byte 는 2의 8승, 그러니까 0~255 까지만 가능하기 때문에 256이 되는 순간 오버플로우가 발생하면서 다른 메모리의 값을 변경시키게 됩니다. 이로 인하여 크리티컬한 오류가 발생하여 결국 시스템 다운 및 리부팅을 하게 되는 현상이 발생합니다.

 

MSX 버전은 16bit Int 형으로 스테이지를 연산하기 때문에 이론상 65565 스테이지까지 진행될 것 같습니다. MSX 정수형은 부호가 있으니까 32767 스테이지 일 수도 있죠^^

 

  

 

그 외에, 

파리두목(사실 요놈이 Galaga 입니다)에게 비행기가 끌려간 후, 잘못해서 적진에 있는 파리두목을 죽이면 끌려간 비행기가 공격을 하며 날아오는데 죽이지 않으면 도망가는데요.. 다음 스테이지에 파리두목들과 함께 다시 나오게 됩니다.

 

 

 


 

토오비의 최근 게시물

유머·엽기영상 인기 게시글