Digital Game Design Fall 2019-Period 2 Assignments

Instructors
Term
2019-2020 School Year
Department
Practical Arts
Description
Digital Game Design is a one semester introduction to computer programming within the framework of game design. The course looks at elements of game design and uses Adobe Animate and ActionScript to create digital games.

Files


Assignment Calendar

Upcoming Assignments RSS Feed

No upcoming assignments.

Past Assignments

Due:

Assignment

Interactive Objects

Due:

Assignment

Game Design B Only
 
Final Work Summary Worksheet
 
In a Google Doc, write about your game design experience this semester.  Share the completed document with Mr. Doggett.
 
Make sure that you address the following:
 
  1. Describe the game(s) that you created this semester.
  2. What game features where particularly interesting and/or challenging to implement? What made them interesting or challenging?
  3. What programming techniques did you use this semester that you learned or increased you understanding?

Due:

Tower Defense Enrichment Worksheet in Google Classroom

Tower Defense Enrichment Worksheet

Complete 5 enrichments using the skills listed on the worksheet.

Due:

Final Worksheet in Google Classroom

Final Worksheet

Explain each identified line in the code on the worksheet

Due:

Assignment

Press Release Writing Task: Marketing is a critical part of gaining popularity for a new video game. A well written press release will help to get your game into the media. Write a press release for your Pong, Platformer, or Tower Defense game that could be sent to videogame websites for potential promotion. The press release needs to include descriptions of your enrichment features that make your game unique. Details such as company name, pricing, and contact information can be fictitious. Details about the game itself must be accurate. (Assessment Rubric)
Review the following links for templates and examples of game press releases

 Submit the completed Press Release in Google Classroom

Common Core Writing Standards addressed in this assignment

2 Write informative/explanatory texts, including the narration of historical events, scientific procedures/experiments, or technical processes.
a. Introduce a topic and organize ideas, concepts, and information to make important connections and distinctions; include formatting (e.g., headings), graphics (e.g., figures, tables), and multimedia when useful to aiding comprehension.
b. Develop the topic with well-chosen, relevant, and sufficient facts, extended definitions, concrete details, quotations, or other information and examples appropriate to the audience’s knowledge of the topic.
d. Use precise language and domain-specific vocabulary to manage the complexity of the topic and convey a style appropriate to the discipline and context as well as to the expertise of likely readers.
3 Produce clear and coherent writing in which the development, organization, and style are appropriate to task, purpose, and audience.
4 Use technology, including the Internet, to produce, publish, and update individual or shared writing products, taking advantage of technology’s capacity to link to other information and to display information flexibly and dynamically.

Due:

Assignment

Final Worksheet Sample
 
On the final exam day, there will be a worksheet in Google Classroom asking you to analyze code and describe what it does. This document is a sample of what questions on that worksheet will look like and how they will be scored.
 
There is nothing to turn in from this posting

Due:

Press Release Writing Task in Google Classroom

Press Release Writing Task

Marketing is a critical part of gaining popularity for a new video game. A well written press release will help to get your game into the media.
Write a press release for one of your three games that included enrichment features that could be sent to videogame websites for potential promotion. The press release needs to include descriptions of your enrichment features that make your game unique. Details such as company name, pricing, and contact information can be fictitious. Details about the game itself must be accurate.
Review the template and example links from my website

Due:

Tower Defense Part 5 in Google Classroom

Tower Defense Part 5

Complete the worksheet to finish part 5

Due:

Assignment

Choose a game design career from the list at https://www.allartschools.com/game-design/video-game-job-options/.
 
Find at least two additional sources for information about that career.
 
In a paper about that career, discuss:
  • The function of the job (what do they do)
  • The preparation for the job (how do you become one)
  • The working conditions for the job
  • The salary range for the job
  • The job outlook over the next 5-10 years (how likely is it to get this job)
Write in complete paragraphs. Identify your sources.

Due:

Game Design Career Writing Task in Google Classroom

Game Design Career Writing Task

Choose a game design career from the list at https://www.allartschools.com/game-design/video-game-job-options/.  

Find at least two additional sources for information about that career.  

In a paper about that career, discuss:
-The function of the job (what do they do)
-The preparation for the job (how do you become one)
-The working conditions for the job
-The salary range for the job
-The job outlook over the next 5-10 years (how likely is it to get this job)

Write in complete paragraphs. Identify your sources.

Due:

Assignment

Tower Defense Game Checkpoint 1: Enemy follows path


Introduction: The Tower Defense game that you will create is going to be based on some of the code from the platformer. Do not try to use an online tutorial to create this game. Create a new folder for the tower defense game and copy the platform game, the block.as file, and the enemy.as file to the new folder.

  • Delete all functions except the createLvl( ) function.
  • Delete all of the holders except the blockHolder and the enemyHolder.
  • Change the addChild statement for those holders by deleting the lvlHolder. part.
  • Delete all variables except for row, lvlCurrent, and lvlArray1.
  • Delete from createLvl() all of  the "if(lvlArray(i)" sections for creating anything except Block and Enemy objects. Change the number for Enemy to 6
  • Delete all symbols from the library and remove any objects from the stage.
Path Creation: We will use the level array to define the path for the enemies. Start and end your path at an edge of the screen. Do not position two turns next to each other. Have at least one straight segment between turns.
  • Edit lvlArray1 so that it is each line is 22 numbers long and there are 16 rows of numbers.
  • Use 0 values to define the path of the maze.
  • Use 1 values for the spaces that are not part of the path.
  • Use a 6 to place an enemy at the start of the path.
  • Change the stage color to White (ffffff) and the color of the block to Black (000000)
Preparing the path: To make the enemy follow the path, we need to create invisible markers (like the invismarkerholder in platform) to tell the enemy which way to turn. In this game, we need four different markers for turning up, down, left, and right.
  • Create upHolder, downHolder, leftHolder, and rightHolder and add them to the stage.
  • In CreateLvl() add code segments using numbers 2 through 5 to create invisible markers that are added to each of the four direction holders.
  • Place the appropriate numbers on the corners of your path based on the direction that the enemy needs to move.
               

Making the enemy follow the path:All of this step will be completed in the enemy.as file

  • In the enemy.as file, delete anything that references mcMain.
  • Remove the direction variable and create new variables for both x direction and y direction (like you did in pong).
  • Replace the invisMarkerHolder loop with four loops for the four directional holders making the appropriate changes for the direction variables using the values -1, 0, and 1.
  • Modify the hitTest to make the enemy stay on the path. Here is a model for the upHolder and downHolder loops:  if (hitTestObject(targetMarker) && this.x>= targetMarker.x && this.x<targetMarker.x+speed)
Show the working code to Mr. Doggett
Complete the Worksheet in Google Classroom

Due:

Assignment

Tower Defense Game Checkpoint 2: Turret shoots Enemy

  • Copy the turret.as and bullet.as files from the common folder
  • Temporarily use the createLvl function to place a turret on the stage (assign a number to a turret and then create a code block in createLvl to add a new Turret().
  • Add a public variable called 'health' to the enemy class
  • Initialize the health variable (set it equal to a number value) in the beginClass function
  • Create an if statement in the eFrame function of the Enemy.as file that will remove the enemy if the health is <= 0. Look at the Platformer Enemy file if you need  help with how to remove the enemy.
  • Look at the variables in the turret and bullet classes and see how you can modify the behaviors by changing the variables.
Show the working code to Mr. Doggett
Complete the Worksheet in Google Classroom

Due:

Assignment

Tower Defense Checkpoint 3: Waves of Enemies

We are going to use an array to hold the information about waves of enemies. It is similar to the level array. Add the following variables to the main .fla file

var currentEnemy:int = 0;//the current enemy that we're creating from the array
var enemyTime:int = 0;//how many frames have elapsed since the last enemy was created
var enemyLimit: int = 12;//how many frames are allowed before another enemy is created
var enemyArray:Array = new Array();//this array will tell the function when to create an enemy
var enemiesLeft:int //defines how many enemies are left on the field
enemyArray = [//defining the array
              [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],//1's will just represent an enemy to be created
               [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],//another row means another level
               [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]
               ];

  • Next, add an enterFrame function that’ll create the enemies for us. The eFrame function calls a makeEnemies function that will actually create the enemies.


addEventListener(Event.ENTER_FRAME, eFrame);//adding an eFrame function

function eFrame(e:Event):void{
     makeEnemies();//we'll just make some enemies
  }

function makeEnemies():void{//this function will add enemies to the field
      if(enemyTime < enemyLimit){//if it isn't time to make them yet
          enemyTime ++;//then keep on waiting
      } else {//otherwise
var theCode:int = enemyArray[lvlCurrent-1][currentEnemy];//get the code from the array
          if(theCode == 1){//if it's set as 1
var newEnemy: Enemy = new Enemy();//then create a new enemy
              enemyHolder.addChild(newEnemy);//and add it to the enemyholder
          }
          currentEnemy ++;//move on to the next enemy
          enemyTime = 0;//and reset the time
      }
 

  • Add lines to the makeEnemies function right after the addChild line to set the x and y values of the new Enemy. Enter appropriate values to replace the 0 after the = sign on each line. The values for x and y will vary depending on the design of  your path array. The top left corner of the array is position 0,0. Add 25 to the x value for each column to the right where you will start your Enemy. Add 25 to the y value for each row down where you will start your Enemy.

newEnemy.x = 0;
newEnemy.y = 0;          

  • If you don't have an enemyHolder, make sure you add one as part of the create level function

var enemyHolder:Sprite = new Sprite();
addChild(enemyHolder);

  •  Add this code before the create level function to count the number of enemies in a wave

function countEnemies():void{
    for(var j:int=0;j<enemyArray[lvlCurrent-1].length;j++){
      if(enemyArray[lvlCurrent-1][j] == 1){
          enemiesLeft ++;
      }
  }
 }                 

  • Add a call to the beginning of the CreateLvl() function:

countEnemies();

 

  • We need to be able to start the next wave of enemies. In the eFrame function, add the following code after the call to makeEnemies(); Note the comments explaining what each line does.

if(enemiesLeft <= 0){
    lvlCurrent++; //moves to the next wave
    currentEnemy=0; //resets to the first enemy in the wave
    enemyTime=-120; //creates a 5 second delay before the next wave
    countEnemies(); //counts the number of enemies in the new wave
}

  • In the Enemy.as file, add the following line in the section where the enemy is removed if health <= 0

_root.enemiesLeft--; //subtracts one from the count of enemies

 

 

Show the working code to Mr. Doggett
Complete the Worksheet in Google Classroom

Due:

Assignment

Tower Defense Checkpoint 4: Adding Turrets at Runtime

  •  Here are the steps for adding turrets with a mouse click. The listener and function should be added to the main .fla file:


addEventListener(MouseEvent.MOUSE_UP, makeTurret);

function makeTurret(event:MouseEvent) {
      var turret:Turret = new Turret();//creating a variable to hold the Turret
      //changing the coordinates
      turret.x = event.target.x+12.5;
      turret.y = event.target.y+12.5;
      addChild(turret);
}

  •  Add the following code to your main .fla file to create a semi-transparent circle for showing the range of the turret.


var rangeCircle = new Shape();
rangeCircle.graphics.beginFill(0x006600,.5);
rangeCircle.graphics.drawCircle(12.5,12.5,100);
rangeCircle.graphics.endFill();

  • You will need to control where you can click to place a turret. Use an if statement like the one that follows to control the type of spaces that a turret can be entered on. The statement should control all of the code in the CreateTurret() function. You can even create special blocks to limit the places where turrets can be placed.


if (event.target is Block){

Show the working code to Mr. Doggett
Complete the Worksheet in Google Classroom

Due:

Assignment

Tower Defense Game Checkpoint 5: Economy and EndGame

  • Add an economy (points) to the game so that you gain points when you kill enemies and spend points when you build turrets.  You should not be able to build a turret if you do not have enough points.  There are no step be step directions for this because it is based on work you have done in previous projects.
  • Add Win and Lose endgame conditions with appropriate onscreen recognition of endgame. Win condition is the completion of all waves of enemies. Lose condition is one enemy completing the maze. You can determine this by either placing a goal object at the end of the maze and hit testing it or checking the x or y value of the enemy to see if it is outside the limits of the stage at the end of your path. Again, this is similar to previous work.
Show the working code to Mr. Doggett
Complete the Worksheet in Google Classroom

Due:

Tower Defense Part 4 in Google Classroom

Tower Defense Part 4

Complete the worksheet to finish part 4

Due:

Tower Defense Part 1 in Google Classroom

Tower Defense Part 1

Complete the worksheet to finish part 1

Due:

Tower Defense Part 3 in Google Classroom

Tower Defense Part 3

Complete the worksheet to finish part 3

Due:

Tower Defense Part 2 in Google Classroom

Tower Defense Part 2

Complete the worksheet to finish part 2

Due:

Assignment

Game Controller Writing Task
 
Identify three different types of game control devices. These are categories, not specific brands. For example, joystick is acceptable, XBox Controller is not. Write a paragraph about each game control device.
 
For each device write about the following:
  • When was the controller invented and by what person or company?
  • What are several games that used the controller type effectively?
  • What are the strengths and weaknesses of the controller?

Due:

Game Controller Writing Task in Google Classroom

Game Controller Writing Task

Identify three different types of game control devices. These are categories, not specific brands. For example, joystick is acceptable, XBox Controller is not. Write a paragraph about each game control device.  

For each device write about the following:
When was the controller invented and by what person or company?
What are several games that used the controller type effectively?
What are the strengths and weaknesses of the controller?

Due:

Platform Enrichment Worksheet in Google Classroom

Platform Enrichment Worksheet

Before starting enrichments, do a Save As... and call the file Platform Enrichments so that your core game is still saved in a separate file.

Add at least 5 unique enrichment features to your game. Unique enrichments require different programming logic or design processes to count. For each enrichment, there are specific skills or standards that must be included.

Enrichment 1: Use symbol swapping and exported symbols to replace the simple graphics of mcMain and at least 2 additional objects
Enrichment 2: Use an if statement and use a text box
Enrichment 3: Create a new .as file that controls the functions of a new object type
Enrichment 4: Add at least 4 sounds
Enrichment 5: Use a Timer

Complete the Description and Implementation Plan portions of the Platform Enrichment Worksheet before you start each enrichment. Complete the implementation report section after you have finished. In the report section, describe how you met the required elements of the enrichment.

Due:

Platform Enrichments-Swapping Symbols in Google Classroom

Platform Enrichments-Swapping Symbols

Use the instructions in the attached document to create character symbols that can change based on the way that the character is moving. For example making the character face left or right when you are moving those directions. The instructions will also discuss other ways to use exported symbols to change the visual appearance of the game. These instructions can be used to help with Enrichment 1 in the Platform Enrichments.

Due:

Assignment

Platform Game Core
 
Follow the instructions for the Platform Game Core Features in Google Classroom

Due:

Assignment

Writing Task - Influential Video Game Designers
 
Write three paragraphs about an influential game designer. In the first paragraph, give a brief biography of the designer. In the second paragraph, identify and describe the most important video game projects attributed to the designer. In the third paragraph, explain why this designer is influential within the gaming industry and their notable contributions and impact. Submit your completed assignment through Google Classroom
 
You must get your choice of designer approved before starting. No more than two students in a class may write about the same designer. You may select from the following list or propose your own idea.
 
Cliff Bleszinski
Ian Cummings
Scott Orr
Ed Boon and John Tobias
Shigeru Myamoto
John Romero
Kai and Charles Huang
Toru Iwatani
Sandy Petersen
Roberta Williams
Markus Persson
Will Wright
Sid Meier
Gunpei Yokoi
Steve Russell
Hideo Kojima
John Carmack
Ralph Baer
Nolan Bushnell
Satoshi Tajiri

Due:

Platform Game Core Part 3 in Google Classroom

Platform Game Core Part 3

Follow the instructions and complete the worksheet

Due:

Platform Game Core Part 2 in Google Classroom

Platform Game Core Part 2

Follow the instructions and complete the worksheet. Have your work checked before moving to part 3

Due:

Writing Task - Influential Video Game Designers in Google Classroom

Writing Task - Influential Video Game Designers

Write three paragraphs about an influential game designer. In the first paragraph, give a brief biography of the designer. In the second paragraph, identify and describe the most important video game projects attributed to the designer. In the third paragraph, explain why this designer is influential within the gaming industry and their notable contributions and impact.

You must get your choice of designer approved before starting. No more than two students in a class may write about the same designer. You may select from the following list or propose your own idea.

Cliff Bleszinski
Ian Cummings
Scott Orr
Ed Boon and John Tobias
Shigeru Myamoto
John Romero
Kai and Charles Huang
Toru Iwatani
Sandy Petersen
Roberta Williams
Markus Persson
Will Wright
Sid Meier
Gunpei Yokoi
Steve Russell
Hideo Kojima
John Carmack
Ralph Baer
Nolan Bushnell
Satoshi Tajiri

Due:

Platform Game Core Part 5 in Google Classroom

Platform Game Core Part 5

Follow the instructions and complete the worksheet

Due:

Platform Game Core Part 6 in Google Classroom

Platform Game Core Part 6

Follow the instructions and complete the worksheet

Due:

Platform Game Core Part 7 in Google Classroom

Platform Game Core Part 7

Follow the instructions and complete the worksheet for this part.

Due:

Platform Game Core Part 4 in Google Classroom

Platform Game Core Part 4

Follow the instructions and complete the worksheet

Due:

Platform Game Core Part 1 in Google Classroom

Platform Game Core Part 1

Follow the instructions and complete the worksheet. Have your work checked before moving to part 2

Due:

Assignment

Writing Task - Arcade Game History
 
Select three arcade games, one from each of the following time periods (1970-1985, 1986-2000, 2001-2019). For the purpose of this assignment, an arcade game is a coin operated game that was either introduced or very common in public game spaces during the indicated years. The three games need to be of the same basic genre or type of game.
 
For each game, describe the game and how it is representative of the types of games that existed in its time period.
 
Identify three trends that showed how arcade games have changed over the years.
 
Submit the completed writing task through Google Classroom.
Scored standards for this assignment are History, Design Elements, and Writing.
 
 

Due:

Writing Task - Arcade Game History in Google Classroom

Writing Task - Arcade Game History

Select three arcade games, one from each of the following time periods (1970-1985, 1986-2000, 2001-2019). For the purpose of this assignment, an arcade game is a coin operated game that was either introduced or very common in public game spaces during the indicated years. The three games need to be of the same basic genre or type of game.  

For each game, describe the game and how it is representative of the types of games that existed in its time period.  

Identify three trends that showed how arcade games have changed over the years.  
Submit the completed writing task through Google Classroom.
Scored standards for this assignment are History, Design Elements, and Writing.

Due:

Assignment

Pong Game Assignment (Enrichment): Add at least 5 unique enrichment features to your game.  Unique enrichments require different programming logic or design processes to count. For each enrichment, there are specific skills or standards that must be included.

  • Enrichment 1: Create new objects and modify the properties of a symbol
  • Enrichment 2: Use an if statement and use a text box
  • Enrichment 3: Define a new variable and use a call to a method
  • Enrichment 4: Add at least 2 sounds
  • Enrichment 5: Add a new event listener (not ENTER_FRAME)

In Google Classroom, complete the Description and Implementation Plan portions of the Pong Enrichment Worksheet before you start each enrichment. Complete the implementation report section after you have finished. In the report section, include how you met the required elements for that enrichment.

Due:

Pong Game Enrichment Features in Google Classroom

Pong Game Enrichment Features

Before starting enrichments, do a Save As... and call the file Pong Enrichments so that your core game is still saved in a separate file.

Add at least 5 unique enrichment features to your game.  Unique enrichments require different programming logic or design processes to count. For each enrichment, there are specific skills or standards that must be included.

Enrichment 1: Create new objects and modify the properties of a symbol
Enrichment 2: Use an if statement and use a text box
Enrichment 3: Define a new variable and use a call to a method
Enrichment 4: Add at least 4 sounds
Enrichment 5: Add a new event listener (not ENTER_FRAME)

Complete the Description and Implementation Plan portions of the Pong Enrichment Worksheet before you start each enrichment. Complete the implementation report section after you have finished. In the report section, describe how you met the required elements of the enrichment.

Due:

Assignment

Pong Game Assignment (Core): Create a version of the classic arcade game Pong. Core elements include moving ball, moving paddles, hitTestObject for bouncing ball off of paddles and walls, score keeping and display, restarting the game after goal, end game. (35 Points)

  • Create objects for the paddles and the ball. Be sure to give them unique instance names. When you convert to a symbol, place the reference point in the center of the object.
  • Moving the paddles: Use the Keyboard Control Code to move the paddles up and down
  • Bouncing off of the paddle: To make the ball change direction try this approach:
    • Create a variable called xDirection and assign it the value 1
      var xDirection=1;
    • Make the ball movement line use the xDirection variable
      ball.x += 5 * xDirection
    • When you hitTest the paddle, change xDirection to -1
  • Moving the ball on an angle requires change in the y value of the ball. Use the same approach as with x.
  • Bouncing off of the borders of the play area: This can be done by creating walls and using the same approach as the paddles. Top and bottom walls will change the yDirection. Left and right walls (behind the paddles) will change the xDirection.
  • Changing angle when bouncing off of the paddle
    • Reposition the reference point of the paddle to the center of the paddle, if it is not already there.
    • When you hitTest the paddle, compare the y coordinates of the ball and the paddle and modify the value of yDirection. The num value in the following code line will reduce the amount of angle created. Replace num with a value that creates an appropriate amount of bounce.
      yDirection=(ball.y-paddle.y)/num
  • Scores: You will need two variables to track the scores and two dynamic text boxes to display the score values.
  • Reset after score: Each time a point is scored, you will need to update the score and reset the location of the ball to an appropriate starting location. The ball can either start moving immediately or wait for a keypress to begin again.
  • EndGame: How many points are needed to win? Check the scores each frame to see if you have a winner. What is going to happen when the game ends?. The game should stop and you could display a message indicating the winner

Due:

Pong Game Core Features in Google Classroom

Pong Game Core Features

Click the Mark as Done button when finished with the Pong Core

Due:

Assignment

Timer Tutorial
 
Timers are code that allow you to test elapsed time to trigger events.
 
 
Exercise: Create a new ActionScript 3.0 file that does the following:
  1. Use a timer to play a sound every 2 seconds until it has played 5 times.
  2. Use a timer that will make an object appear and disappear every 2.5 seconds.
  3. Use a timer to change the size of an object every second for 10 seconds.
Click the "Mark as Done" button in Google Classroom when finished

Due:

Assignment

Pong Game Design Worksheet
Complete the worksheet in Google Classroom before beginning any work on the Pong Game

Due:

Pong Game Design Worksheet in Google Classroom

Pong Game Design Worksheet

Complete and submit the worksheet before beginning the Pong Game

Due:

Timer Tutorial in Google Classroom

Timer Tutorial

Timers are code that allow you to test elapsed time to trigger events.  

Complete the tutorial at http://www.republicofcode.com/tutorials/flash/as3timer/  

Exercise: Create a new ActionScript 3.0 file that does the following: Use a timer to play a sound every 2 seconds until it has played 5 times. Use a timer that will make an object appear and disappear every 2.5 seconds. Use a timer to change the size of an object every second for 10 seconds.

Click the "Mark as Done" button in Google Classroom when finished

Due:

Assignment

Writing Task - Game Review

Write a review of a game using the concepts in Costikyan's article. The game can be physical or digital. Describe the game. Address how and how well the game fulfills each of the components of Costikyan's definition of a game. Turn in the game review through Google Classroom.

Scoring Rubric

  • 4: All components discussed with insightful commentary on how and how well the components were met
  • 3: All components discussed with commentary on how and how well the components were met
  • 2: All components discussed with commentary on how or how well the components were met
  • 1: At least 3 components discussed
  • 0: Fewer than 3 components discussed

Due:

Game Review in Google Classroom

Game Review

Write a review of a game using the concepts in Costikyan's article. The game can be physical or digital. Describe the game. Address how and how well the game fulfills each of the components of Costikyan's definition of a game.
Attach the review to this assignment and submit.
Scoring Rubric
4: All components discussed with insightful commentary on how and how well the components were met
3: All components discussed with commentary on how and how well the components were met
2: All components discussed with commentary on how or how well the components were met
1: At least 3 components discussed
0: Fewer than 3 components discussed

Due:

Assignment

 
"Find the Target" game: This game is similar to the "snake" type game but without the growing tail component. Modify the file from the Keyboard Control Exercise Part 2 to add a "target" object that the controlled symbol has to hit. Include a text box to display a score. Start with 1000 points in the score box. Each frame, subtract a point from the score. Use hit testing to determine if the symbol has hit the target. When the hitTestObject occurs, add points to the displayed score. When the target is hit, move the target to a randomly selected location on the stage. Implement an end game for losing when you run out of points and winning at a specific point level. Be sure to click the "Mark as Done" button in Google Classroom when finished.
 
Notes
  • Hit Testing- remember that the hit test is just the line if(object1.hitTestObject(object2)){ } where object1 and object 2 are the thing that you are moving and the target that you are trying to hit. in the braces { } you will put the code for what should happen when the objects hit.
  • Moving to a random location- to move the target to a new random location, you will need to include the randomNumbers function from the tutorial and then assign an appropriate random number to the x and y properties of the target. Look at the interactive objects tutorial for moving an object to a new location.
  • Scorekeeping Variables- in order to keep track of information like a score, we need to create a variable to hold the data. The drag and match project created a variable called "hits" to do this. Look at that code as a reference. You can choose the name of your variable (score, points, etc.)
  • Display the score- Use a dynamic text box to display the score. Change the "anti-alias" setting for the text box to "Use Device Fonts". A line like scorebox.text = score placed in your ENTER_FRAME function will update the score every frame. (remember that the function called by ENTER_FRAME is your repeating loop that happens every frame)
  • Changing the score- score=score+10 is a line that will add 10 points to the score variable. It can also be written: score+=10score++ and score-- are shortcuts for adding or subtracting one from a variable. You need to determine the correct location in your code to change the score.
  • End Game- To end the game you need to test the value of score (or whatever you named it). This will use and "if" statement such as if(score <= 0) { } to determine if the value of score has dropped to zero (or less). Inside the braces, you can add code to display a message in a textbox. You can stop the game by removing the ENTER_FRAME event listener. Copy the addEventListener line for ENTER_FRAME and paste it inside the braces for your end game if statement. Change addEventListener to removeEventListener.

Due:

Assignment

Sound Tutorial
 
 
There are some sounds in the common folder (H:/common/Doggett/Digital Game Design/Sounds) that you can copy to your folder.
You can also download sounds from http://eng.universal-soundbank.com/
Download the sounds as WAV files to import to your projects
 
Exercise: Make a copy of your Drag and Match game. Call the new file "Match with Sound" The new game should play a sound when you get a correct match. It should play a different sound when you miss and a third sound when you get all of the matches correct.
 
Click "Mark as Done" in Google Classroom when finished

Due:

"Find the Target" game: in Google Classroom

"Find the Target" game:

This game is similar to the "snake" type game but without the growing tail component.

Modify the file from the Keyboard Control Exercise Part 2 to add a "target" object that the controlled symbol has to hit. Include a text box to display a score. Start with 1000 points in the score box. Each frame, subtract a point from the score. Use hit testing to determine if the symbol has hit the target. When the hitTestObject occurs, add points to the displayed score. When the target is hit, move the target to a randomly selected location on the stage. Implement an end game for losing when you run out of points and winning at a specific point level.   Click the Mark As Done button when finished.

Notes
Hit Testing- remember that the hit test is just the line if(object1.hitTestObject(object2)){ } where object1 and object 2 are the thing that you are moving and the target that you are trying to hit. in the braces { } you will put the code for what should happen when the objects hit.
Moving to a random location- to move the target to a new random location, you will need to include the randomNumbers function from the tutorial and then assign an appropriate random number to the x and y properties of the target. Look at the interactive objects tutorial for moving an object to a new location.
Scorekeeping Variables- in order to keep track of information like a score, we need to create a variable to hold the data. The drag and match project created a variable called "hits" to do this. Look at that code as a reference. You can choose the name of your variable (score, points, etc.)
Display the score- Use a dynamic text box to display the score. Change the "anti-alias" setting for the text box to "Use Device Fonts". A line like scorebox.text = score placed in your ENTER_FRAME function will update the score every frame. (remember that the function called by ENTER_FRAME is your repeating loop that happens every frame)
Changing the score- score=score+10 is a line that will add 10 points to the score variable. It can also be written: score+=10.  score++ and score-- are shortcuts for adding or subtracting one from a variable. You need to determine the correct location in your code to change the score.
End Game- To end the game you need to test the value of score (or whatever you named it). This will use and "if" statement such as if(score <= 0) { } to determine if the value of score has dropped to zero (or less). Inside the braces, you can add code to display a message in a textbox. You can stop the game by removing the ENTER_FRAME event listener. Copy the addEventListener line for ENTER_FRAME and paste it inside the braces for your end game if statement. Change addEventListener to removeEventListener.

Due:

Sound Tutorial in Google Classroom

Sound Tutorial

Work through the tutorial at http://www.republicofcode.com/tutorials/flash/as3sound/  

There are some sounds in the common folder (H:/common/Doggett/Digital Game Design/Sounds) that you can copy to your folder.
You can also download sounds from http://eng.universal-soundbank.com/ Download the sounds as WAV files to import to your projects  

Exercise: Make a copy of your Drag and Match game. Call the new file "Match with Sound" The new game should play a sound when you get a correct match. It should play a different sound when you miss and a third sound when you get all of the matches correct.

Due:

Assignment

Hit Testing: Follow the instructions in the Hit Test Assignment in Google Classroom

Due:

Assignment

Random Numbers: Complete the Random Numbers assignment in Google Classroom

Due:

Random Numbers in Google Classroom

Random Numbers

Follow the Instructions in the tutorial document. Make sure to save the file to your folder. When finished, click the button to Mark as Done. There is not a worksheet to complete for this assignment.

Due:

Hit Test Tutorial in Google Classroom

Hit Test Tutorial

Follow the Instructions in the tutorial document. Make sure to save the file to your folder. When finished, click the button to Mark as Done. There is not a worksheet to complete for this assignment.

Due:

Assignment

Keyboard Control: Complete all three parts of the Keyboard Control assignment in Google Classroom. Part 1 is a link to an external tutorial page. Part 2 is a tutorial in a document linked to the Google Classroom assignment. Part 3 is a code analysis worksheet to be turned in through Google Classroom.

Due:

Keyboard Control Tutorial in Google Classroom

Keyboard Control Tutorial

Part 1: Complete the two pages of the tutorial at http://www.republicofcode.com/tutorials/flash/as3keyboard/ that is linked to this assignment

Part 2: Complete the instructions in the attached tutorial document

Part 3: Complete and submit the attached worksheet

Due:

Assignment

I Have No Words
Complete the I Have No Words Assignment in Google Classroom

Due:

Assignment

Drag and Drop Tutorial: http://edutechwiki.unige.ch/en/Flash_drag_and_drop_tutorial

Complete through part 4: Drag and match learning application - dumb version. You can use whatever images you want in part 4. Pay attention to the textField use in part 3. When you have completed the tutorial, complete the worksheet in Google Classroom

Due:

I Have No Words in Google Classroom

I Have No Words

Read pages 9-24 of I Have No Words in the nowords2002.pdf document linked below. For each term, write a 1-2 sentence definition or description of what you think it means in the No Words Assignment.pdf.

Due:

Drag and Drop Tutorial Worksheet in Google Classroom

Drag and Drop Tutorial Worksheet

After completing the Drag and Drop Tutorial as assigned on the webpage, complete the attached worksheet

Due:

Assignment

Interactive Objects

Due:

Assignment

Syllabus Verification Form - This form must be returned with parent signature.
APCS: 20 points by due date. 15 points if late
Animation or Game Design: Productivity: 4 points by due date, 2 point if late

Due:

Interactive Objects Worksheet in Google Classroom

Interactive Objects Worksheet

After completing Part 2 of the Interactive Objects Tutorial, complete the attached worksheet