어려운 난이도로 악명 높았던 플래시 게임의 소스 코드를 분석하여 버그의 원인을 밝힘
플래시(Flash) 기반 게임 개발 방식과 점수 이미지를 활용한 독특한 개발 기법을 소개함
마늘 버튼의 버그로 인해 점수가 무한정 증가하여 게임 클리어가 가능했음을 설명함
소스 코드 분석을 통해 게임의 버그와 개발 방식에 대한 흥미로운 인사이트를 제공함
영상에서는 어도비 플래시(Adobe Flash)를 이용한 게임 개발 방식을 설명한다. 플래시는 애니메이션 제작과 스크립팅 기능을 결합하여 게임 제작을 가능하게 했다. 발표자는 점수를 표현하기 위해 이미지 시퀀스(Image Sequence)를 활용하는 방식을 소개하며, 이는 디자인만 하던 사람들도 쉽게 게임을 만들 수 있게 해주는 특징이라고 강조한다. 이러한 방식은 당시 플래시 게임의 독창적인 개발 방식(Unique Development)을 보여준다.
발표자는 점수를 카운팅하기 위해 변수 대신 이미지를 사용하는 방식을 설명한다. 점수 이미지를 애니메이션 프레임(Animation Frame)으로 활용하여 점수를 올리고 내리는 로직을 구현했다. 점수를 올릴 때는 다음 프레임으로 이동시키고, 점수를 확인할 때는 현재 프레임을 확인하는 방식이다. 이러한 방식은 직관적인 게임 개발(Intuitive Game Development)을 가능하게 했지만, 버그 발생의 원인이 되기도 했다.
영상에서는 마늘 버튼의 버그로 인해 게임 난이도가 무너진 과정을 분석한다. 마늘을 추가하는 경우 점수를 +1 해주고, 마늘을 빼는 경우에도 점수를 -1 해주는 대신, 다시 +1을 해주는 코드가 존재했다. 이로 인해 마늘을 계속 누르면 점수가 무한정 증가하는 버그(Bug)가 발생했다. 발표자는 이 버그가 게임의 밸런스를 무너뜨리고, 게임 클리어(Game Clear)를 쉽게 만들었다고 설명한다.
마늘 버그 외에도, 돼지고기 등 다른 재료를 넣었다 빼는 행위를 반복해도 점수가 무한정 증가하는 버그가 존재했다. 이는 점수를 표현하는 이미지의 프레임을 이동시키는 코드와, 점수를 숫자로 변환하여 +1을 해주는 코드 간의 충돌로 발생했다. 발표자는 이러한 버그로 인해 게임의 난이도가 무의미해졌고, 게임 밸런스 붕괴(Game Balance Collapse)를 초래했다고 분석한다.