게임 프로그래밍의 정석 예제

그 사람들은 공중에서 캐릭터를 움직이고, 점프하고, 조종하는 방법을 알고 있지만, 조준하고 쏘는 방법도 이해해야합니다. 유일한 새로운 정비사는 후크해야합니다. 이 게임은 여전히 빠르게 진행되고 매우 복잡하므로 개발자는 몇 초 동안 시간을 늦출 수있는 옵션을 제공합니다. 일부는 퍼즐, 시뮬레이터, 장난감 등 모든 비디오 게임이 일종의 “의사 결정”을 포함한다는 것을 빠르게 지적 할 수 있습니다. 그것은 절대적으로 사실이지만, 다른 어떤 것도 플레이어가 게임이하는 방식으로 결정을 내리도록 강요하지 않습니다. 예를 들어 퍼즐에서 내릴 수 있는 모든 결정은 정확하거나 올바르지 않으며 시뮬레이터에서 내리는 결정은 의미가 있는 더 큰 콘테스트(컨텍스트)가 없습니다. 페이지 스택의 뒷면에 진짜 괴물이었다 : 코드의 여러 조밀 한 페이지를 차지 하는 프로그램. 용기를 내어 시험해보려고 노력하는 데는 시간이 걸렸지만, 저항할 수 없는 것이었습니다. 우리는 그것이 무슨 짓을했는지 전혀 몰랐다, 그러나 그것은 게임처럼 들렸다, 당신은 자신을 프로그래밍 컴퓨터 게임보다 쿨러 수 있을까? 동시에, 사용자는 낮은 수준의 목표를 기반으로 하는 더 높은 수준의 목표를 가지고 있습니다.

더 높은 수준의 게임 루프가 될 수 있습니다 : 이것은 또한 개발자가 새로운 버그가 나올 경우에 대비하여 게임을 개선하기 위해 계속하는 단계입니다. 개발자는 또한 게임의 유지를 높이기 위해 게임을 확장하는 새로운 기능을 추가 할 수 있습니다. 몇 가지 이유로 C ++를 선택했습니다. 첫째, 상업적으로 출시된 게임에서 가장 인기 있는 언어입니다. 그것은 업계의 언어 프랑카입니다. 모레소에서는 C++가 기반으로 하는 C 구문도 Java, C#, JavaScript 및 기타 여러 언어의 기초가 됩니다. C++를 모르더라도 약간의 노력으로 코드 샘플을 이해할 수 있습니다. 루프와 호에 대한 통찰력있는 기사에서 디자이너 다니엘 쿡 (Daniel Cook)은 루프가 시스템의 복잡성과 상호 연결된 부분을 더 잘 이해할 수 있다고 주장합니다. 그것이 그가 “지혜”라고 부르는 것입니다. 좋은 루프는 게임에 대해 플레이어를 가르칩니다. 따라서, 더 나은 당신이 그들을 이해, 더 정확 하 게 그들을 조정할 수 있습니다 하 고 가능한 한 직관적으로 그들을 만들 수 있습니다. 게임은 매우 특별한 종류의 의사 결정을 가지고 있습니다.

좋은 게임에서, 결정은 다음과 같은 자질을 가지고 : 그들은 재미있어, 그들은 어렵다, 더 나은 대답은 모호하다. 그러나 무엇보다도 결정은 “의미 있는” 것이어야 합니다. 우리의 여정은 여기에서 시작됩니다. 이 장에서는 책의 나머지 부분을 구축하는 디자인의 기본 이론을 제시한다. 이 장에서는 첫 번째 게임 디자인 연습을 접하고 이 책의 기본 철학에 대해 자세히 알아봅니다.