Hello, dear friend, you can consult us at any time if you have any questions, add WeChat: daixieit

SJSU - CS 134 – Project 1: Pursuit Game Development Tool

Story

For this project, you will be developing a tool to analyze

playability of a pursuit game involving a single player whose

main role is to avoid a crowd of pursuit agents. The pursuit

agents are not particularly very intelligent, but they do have the

ability to replicate and track down the player with amazing

diligence.  Once an agent collides with a player, the player’s

energy level is reduced. If the player loses too much energy, the

game is over.

Required Functionality

The basic functionality for the project is as follows:

•    The game is started with the space bar. At the start, the player has a preset number of energy levels (nEnergy, an integer). This level is an adjustable parameter. When the player’s energy level is 0, the game is over and the total game time is displayed.

•    The player can move forward and backward and can turn left and right with an adjustable speed as per Lab 2.    The player’s scale is an adjustable parameter.

•    The player cannot be moved outside of the screen boundaries.

•    The agents spawn at random locations and orientations on the screen.  The number of agents (nAgents) that are spawned at the same time is also an adjustable parameter with a minimum value of one.

•    Agents are spawned with a lifespan (lifespan). The lifespan is an adjustable parameter with a minimum value 0.

•    Agents are spawned at a fixed rate (rate).  The rate is an adjustable value with a minimum value ½ second. (nAgents per .5 seconds).

•    Once the agents are spawned, they will immediately turn in the direction of the player and follow” the player.

•    If any part of the agent intersects the player, the agent is removed from the game and the player is reduced one energy level.

•    All agents which reach an age which is greater than the lifespan are removed from the game (and their corresponding object is deleted).

Technical Requirements

Use the ShapeEmitter example source code to create an Agent class (subclassed from Sprite) and AgentEmitter class (subclassed from Emitter).

User Interface Requirements

•    All adjustable parameters must be made available in a ofxGUI panel.  The panel must have the ability to be hidden so that screen real estate is maximized.

•    Instructions to start/restart game must be displayed as text on the game screen.

•    The following values must be displayed on the screen:

-      Current player energy level and levels available

-      Elapsed Time

-      Frame rate

Artistic Requirements

•    Start with triangles for the agents and player

•    Provide to toggle sprite images for the player and agents.  Only one image is required for all agents, but you have the freedom to add more types if you desire.

•    You must provide a background image.

•    You must create your own Sprite images for the tool.  A video will be posted on how to model sprites in photoshop.  You must include the source files for these assets in your submission to receive credit.

Testing

Thoroughly test your program and try different combinations of nAgents, nEnergy, rate, lifespan etc.  In your demonstrate video show 3 different combinations of settings that will produce 3 levels in order of increasing difficulty. The levels should be challenging but fun to play, easy at first but more difficult by the last level.

What to Submit

1. \on n2车 2np山\车 \以\\6\ o p6 \\\卜 o ?以\\6\入 o p6 b\o^\q6q.  The trailer must be a screen capture      with sound with no product watermarks.  No screener movies with an iphone camera will be accepted. The trailer should be one that you are proud of and can refer to in your portfolio or project listing on     your CV.

2.    Source code submit source code and any game assets (images, sound) in a zip file with your submission. The format of the zip file should be:

b\o\6c车小以山6_?车nq6\车小以山6_D以车6.S\b

Example: b\o\6c车写_KN?山\车p_0SS3S0SS.S\b

This is not a team project. The source code must be your own original code. You are welcome to collaborate with other students on ideas for the game and helping each other with basic C++ and OpenFrameworks questions.

Grading Criteria

A rubric will be provided in the assignment on Canvas.  Grading will be passed on the list of requirements in this document.  The trailer (demonstration) will also be included in the grading (important).