Chapter 9. First Person Shooter Part 3 – Implementing Gameplay and AI

When I start teaching my game design students, one of the questions that I'll often hear is "What is a game?" Now, to some people, the card game War (http://en.wikipedia.org/wiki/War_(card_game)) is a game; however, the game is already determined before anyone actually plays the game because players have absolutely no interactions besides flipping cards.

Renowned game programmer and designer Sid Meier says that a game is "a series of interesting choices," and I really like that definition. At my alma mater and current employer DigiPen, we were taught that a video game was a real-time interactive simulation.

Having an environment is an excellent first step towards creating your game project, but this is a real-time simulation though it's not very interactive.

Project overview

In this chapter, we are going to be adding that interactivity in the form of adding enemies, shooting behaviors, and the gameplay to make our game truly shine. In addition, we'll also learn how to use an Xbox 360 Controller to accept input in our game as well.

Your objectives

This project will be split into a number of tasks. It will be a simple step-by-step process from beginning to end. Here is the outline of our tasks:

  • Creating our player
  • Adding shooting behavior
  • Creating an enemy
  • Enemy movement
  • Shooting/killing enemies
  • Using Xbox 360 Controller Input
  • Moving to other levels

In this chapter, we will continue where the last chapter left off using the same project. You may continue with your previous project or pick up a copy along with the assets for this chapter from the example code provided for this book on Packt's website at https://www.packtpub.com/books/content/support.

In addition, the completed project and source files are located there for you to check whether you have any questions or need clarification.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset