2차원 탈것들의 역사
1. 이게 뭔가요?
이 기사는 1996년 주말에 개발되어 유명 게임 그랜드 테프트 오토의 차량 주행 시스템의 기초가 된 2차원 물리 시뮬레이션을 30주년을 맞아 자바스크립트 언어로 다시 구현한 프로젝트를 다룹니다. 여기서 물리 시뮬레이션은 컴퓨터 속에서 물체가 힘을 받을 때 어떻게 움직이고 회전하는지 수학과 물리 법칙으로 계산해 보여주는 기술이며, 자바스크립트는 웹 브라우저 위에서 동작하는 프로그래밍 언어입니다. 개발자는 아타리 ST 컴퓨터에서 GFA 베이직 언어로 만들었던 최초의 철사 모형 태동기를 브라우저에서 직접 조작할 수 있는 기념물로 재단장하여 공개했습니다.
2. 왜 화제인가요?
이 프로젝트가 주목받는 이유는 오늘날 전 세계적인 게임 프랜차이즈가 된 시스템의 초기 원형을 직접 살펴볼 수 있기 때문입니다. 1990년대 중반 당시 많은 게임은 고등학교 수준의 단순한 점 물리 법칙을 썼고 회전 운동은 어설픈 편법으로 처리했으나, 이 프로젝트는 단단한 물체의 전체적인 움직임과 회전을 다루는 강체 물리 법칙을 도입했습니다. 또한 실제 타이어의 마찰을 완벽하게 재현하기보다 간단하고 근사한 방식을 써서 가볍고 자연스러운 주행감을 구현한 개발 과정의 기술적 아이디어를 엿볼 수 있습니다.
3. 핵심 내용
이 프로젝트는 1996년 8월 주말에 작성된 2차원 물리 시뮬레이션을 30주년을 맞아 웹 브라우저에서 즐길 수 있도록 자바스크립트로 다시 만든 것입니다. 사용자는 웹페이지에서 자동차 모드와 우주선 모드, 벽돌 모드를 선택하여 조작할 수 있고, 충돌 벽과 중력, 카메라의 시야 조절 기능도 켜고 끌 수 있습니다. 내부 작동 방식은 힘을 받아도 모양이 변하지 않는 단단한 몸체와 화면에 보이는 껍데기, 움직임 방식을 결정하는 행동 객체로 나누어져 있습니다. 시뮬레이션은 입력된 힘과 회전력을 합산하여 속도와 위치를 갱신하며, 타이어 모형은 바퀴의 구름 저항과 옆방향 미끄럼 저항을 계산해 자연스러운 주행감을 만들어 냅니다.
4. 나에게 어떤 영향이 있나요?
일반 독자는 웹 브라우저를 통해 마우스나 화면 터치, 키보드로 직접 자동차와 우주선, 벽돌 모드를 조작하며 물리 법칙이 적용되는 모습을 가볍게 즐길 수 있습니다. 개발자 관점에서는 입력 처리와 시뮬레이션 갱신, 화면 그림 그리기 단계를 분리한 구조와, 하나의 중심 물체에 서로 다른 모양과 힘을 적용해 여러 가지 행동 방식을 구현하는 설계를 참고할 수 있습니다. 다만 이 웹사이트 체험은 독립적인 개인 기념 프로젝트이므로 실제 상업 게임 이용이나 하드웨어 성능 향상 같은 직접적인 영향은 없습니다.