Career & Technical Education CB35 – Video Game Development Course #: CB35 Course Name: Video Game Development Prerequisites: CB09 Intro to Information Technology Grade Level: 10-12 Level of Difficulty: Average # of Credits: 2 semesters–1Credit I Video Game Development Technology Units and Understanding Statement Unit 1: Computing Basics Students will examine various issues in Information Technology work environments. Unit 2: Introduction to Visual Programming Students will construct video games using correct GUI objects for input and output of data. Unit 3: Introduction to Scripting Unit 4: Unit 5: Students will create and produce a video game using Game Maker Language (GML) Intermediate Game Design Features Students will create video games using appropriate functions to input and output information. Basics of Object Oriented Programming Students will construct video games by devising appropriate method of programming based on a hierarchy of classes, and well-defined and cooperating objects. Unit 6: Advanced Object Oriented Programming Techniques Students will program identical video games using GML, JAVA and Visual Basic and assess the attributes of each language. Unit 7: Final Project Design Students will form a development team, design and program an educational video game. 1 CB35 – Video Game Development Career & Technical Education COMMON CORE STANDARDS The following Reading and Writing performance objectives are integrated throughout the entire course: Reading: 9-10.RST.4 Determine the meaning of symbols, key terms, and other domain-specific words and phrases as they are used in a specific scientific or technical context relevant to grades 9-10 texts and topics. 9-10.RST.9 Compare and contrast findings presented in a text to those from other sources (including their own experiments), noting when the findings support or contradict previous explanations or accounts. Writing: 9-10.WHST.8 Gather relevant information from multiple authoritative print and digital sources, using advanced searches effectively; assess the usefulness of each source in answering the research question; integrate information into the text selectively to maintain the flow of ideas, avoiding plagiarism and following a standard format for citation. 9-10.WHST.9 Draw evidence from informational texts to support analysis, reflection, and research Speaking and Listening: 11-12.SL.4 Present information, findings, and supporting evidence, conveying a clear and distinct perspective, such that listeners can follow the line of reasoning, alternative or opposing perspectives are addressed, and the organization, development, substance, and style are appropriate to purpose, audience, and a range or formal and informal tasks. Language: 11-12.L.6 Acquire and use accurately general academic and domain-specific words and phrases, sufficient for reading, writing, speaking, and listening at the college and career readiness level; demonstrate independence in gathering vocabulary knowledge when considering a word or phrase important to comprehension or expression. Mathematics: HS.G-CO.2 Represent transformations in the plane using, e.g., transparencies and geometry software; describe transformations as functions that take points in the plane as inputs and give other points as outputs. Compare transformations that preserve distance and angle to those that do not (e.g., translation versus horizontal stretch). HS.G-CO.4 Develop definitions of rotations, reflections, and translations in terms of angles, circles, perpendicular lines, parallel lines, and line segments. 2 CB35 – Video Game Development Career & Technical Education CB35 Video Game Development - Suggested Teaching Timeline Fall August September October November December Spring January February March April May Unit 1: Computing Basics Unit 2: Introduction to Visual Programming Unit 3: Introduction to scripting Unit 4: Intermediate Game Design Features Unit 5: Basics of Object Oriented Programming Unit 6: Advanced Object Oriented Programming Techniques Unit 7: Final Project Design 3 CB35 – Video Game Development Career & Technical Education Unit 1: Computing Basics Students will examine various issues in Information Technology work environments. Knowledge and Skills Knowledge: Evolution of the computer and how it relates to the Video Gaming World Future trends in Video Game Development (VGD) Recognizing Game Genre Digital literacy ethics as it pertains to VGD Publically modified source code (open source) vs personally modified source code (proprietary) Skills: Design a timeline presentation showing the beginning and future trends of Video Gaming and how it has evolved using computer technology. Compare and contrast the attributes of the various game genres. Determine the proper licensing of software acquired from the Internet. Classify rights and responsibilities of software producers and end users in regards to legal ethical, and security. Predict results from a breach in ethical and legal issues when it pertains to designing a video game. Arizona CTE Standards Employability Skills 4.0 - EXPLORE LEGAL AND ETHICAL ISSUES RELATED TO INFORMATION TECHNOLOGY 4.1 Explore intellectual property rights including software licensing and software duplication 4.2 Understand the legal and ethical issues related to the difference between open source and proprietary systems 4.3 Identify issues and trends affecting computers and information privacy 4.4 Differentiate between ethical and legal uses of information technology, i.e., data pricing, use of public and private networks, social networking, industry-related data, and data piracy 6.0 - DESCRIBE THE DEVELOPMENT/EVOLUTION OF COMPUTERS AND INFORMATION TECHNOLOGY 6.1 Describe a computer, its components and functions 6.2 Explain the historical evolution of the computer and computer networks 6.3 Explain how the development of computers has impacted modern life 6.4 Discuss future trends in information technology 1. Complex Communication: Employs complex communication skills in a manner that adds to organizational productivity. • Exchanges knowledge and processes among team members, colleagues, and clients. • Communicates effectively with people of different cultures, generations, and life/work experiences in different situations. 5. Professionalism: Conducts oneself in a professional manner appropriate to organizational expectations. • Adheres to organizational protocol, such as behavior, appearance, and communication. • Manages time in accordance with organizational expectations, including punctuality, productivity, and time on task. • Performs assigned tasks with a “can do” attitude. • Produces work that reflects professional pride. Resources Guest speakers from industry Review end user agreements from several software sources Introduction to Video Game Design Text book – Game Maker’s Apprentice Internet connected computer lab Game Maker V8.0 4 CB35 – Video Game Development Career & Technical Education Unit 2:Introduction to Visual Programming Students will construct video games using correct GUI objects for input and output of data. Knowledge and Skills Knowledge: Methods pertaining to object-oriented programming Input and output of executable programs to move objects in the game Controller objects interfacing with program Graphical User Interface (GUI) Variables to store values within a program Collect objects and create their class Skills: Create sprite attributes to define an event. Assign object properties for control of movement with specific parameters. Apply backgrounds, music and sound effects which attribute to game user friendliness. Create an executable to run the program when it is opened. Refine and polish a game for optimum playability. Distinguish appropriate methods to input data. Choose the correct method of outputting text with formatting. Distinguish between an object and a class Create instances of objects from existing classes. Construct appropriate statements to invoke an object’s accessor methods. Arizona CTE Standards Employability Standards 8.0 - CREATE A PROGRAM USING SOFTWARE 8.2 Compile and execute programs 8.4 Name identifiers and formatting code by applying recognized conventions 16.0 - IDENTIFY WAYS TO INPUT AND OUTPUT INFORMATION 16.1 Identify appropriate methods to input data on a console and/or GUI 16.2 Identify correct input/output statements in a program 16.3 Choose the correct method of assigning input to variables 16.4 Choose the correct method of outputting text with formatting 16.5 Employ graphics methods to create images at specified locations 16.6 Choose correct GUI objects for input and output of date to the GUI interface, i.e., text boxes, labels, radio 18.0 - EMPLOY OBJECT-ORIENTED PROGRAMMING TECHNIQUES 18.1 Make a distinction between an object and a class 18.3 Exemplify objects from existing classes 18.4 Identify appropriate statements to invoke an object's accessor methods 3. Expert Thinking: Integrates a mastery of technical knowledge and skills with thinking strategies to create, to innovate, and to devise solutions. • Recognizes the existence of a problem, sometimes despite evidence to the contrary. • Engages in continuous learning through inquiry and reflection. • Exhibits expertise by asking relevant questions and listening actively. • Uses multiple thinking strategies, such as critical thinking, divergent thinking, problem solving, and decision making, to determine a course of action. • Takes action based on confidence in mastery. • Analyzes evidence based on mastery knowledge to solve problems. • Makes a well-reasoned case supported by evidence and mastery knowledge to explain conclusions. Resources Text book – Game Maker’s Apprentice Introduction to Video Game Design Internet connected computer lab Game Maker V8.0 5 Unit 3: Introduction to scripting Students will create and produce a video game using Game Maker Language (GML) Knowledge and Skills Career & Technical Education Knowledge: Conditional statements to control whether or not to block of actions is executed. Repeating things to achieve a successful loop of actions. Variables infinitely used in scripts to store one value. Arrays allow the variables to store a whole collection of values. Boolean expressions use the operators AND, OR, XOR, and NOT to compare values. Nesting syntax to define how declarations, functions and commands are arranged. Program editor to decipher proper scripting of game. Skills: Utilize the proper debugging tool to examine debugging code to hand trace find and correct errors. Compile and execute programs to maneuver objects and sprites to properly execute commands Rearrange and modify code Evaluate Boolean expressions to compare values and return a true of false result. Declare and initialize arrays so that a related set of values can be easily sorted or searched. Manipulate array data for creating the syntax for storing and displaying the values. Utilize nesting syntax to define how declarations, functions, commands, and other statements should be arranged. Utilize program editor to write source code in a natural fashion, using logical words and symbols. Arizona CTE Standards Employability Standards Resources CB35 – Video Game Development STANDARD 8.0 - CREATE A PROGRAM USING 3. Expert Thinking: Integrates a mastery of SOFTWARE technical knowledge 8.1 Use a program editor to enter and modify and skills with thinking code strategies to create, to 8.2 Compile and execute programs innovate, and to devise 8.3 Follow established documentation standards solutions. 8.4 Name identifiers and formatting code by • Recognizes the applying recognized conventions existence of a problem, STANDARD 9.0 - TEST AND DEBUG TO sometimes despite VERIFY PROGRAM OPERATION evidence to the contrary. 9.1 Identify errors in program modules • Engages in continuous STANDARD 12.0 - UTILIZE CONDITIONAL learning through inquiry STRUCTURES IN WRITING and reflection. PROGRAMS • Exhibits expertise by 12.1 Compare values using relational operators, asking relevant questions i.e., =, >, <, >=, <=, and not equal and listening actively. 12.2 Evaluate Boolean expressions 12.3 Select an appropriate decision structure for a • Uses multiple thinking strategies, such as critical given situation thinking, divergent 12.4 Select correct syntax for decision statements, i.e., if/else, if, and switch case thinking, problem solving, 12.5 Select the correct nesting syntax for decision and decision making, to determine a structures course of action. STANDARD 13.0 - UTILIZE REPETITIVE • Takes action based on STRUCTURES IN WRITING confidence in mastery. PROGRAMS • Analyzes evidence 13.1 Identify various types of repetition structures based on mastery 13.2 Identify the role of a loop control variable knowledge to solve 13.3 Select the correct syntax for nested loops problems. 13.4 Compute the values of variables involved • Makes a well-reasoned with nested loops case supported by STANDARD 14.0 - UTILIZE SIMPLE DATA evidence and mastery TYPES AND STRINGS knowledge to explain 14.1 Declare numeric, Boolean, character, and conclusions. string variables 14.2 Choose the appropriate data type for a given situation 14.3 Identify the correct syntax for constants in a program 14.4 Identify the correct syntax for initializing and modifying variables Text book – Game Maker’s Apprentice Introduction to Video Game Design Internet connected computer lab Software: Game Maker V8.0 6 CB35 – Video Game Development Career & Technical Education Unit 4: Intermediate Game Design Features Students will create video games using appropriate functions to input and output information. Knowledge and Skills Knowledge: Method as a subroutine attached to a specific class defined in the source code of a program. Input and output of executable programs to move objects in the game. Controller objects to set the boundaries within the game parameters. Variables infinitely used in scripts to store one value Object as an instance of the class of objects known as sprites. Parent object as a senior object in the class of objects, primarily works with child object. Skills: Determine appropriate sprite attributes by using method subroutines. Construct object properties to move sprites within the specified parameters. Apply backgrounds, music and sound effects to make game aesthetically pleasing. Modify and balance a game for user compatibility. Deduce appropriate methods to input data for logical sequencing. Select the correct method of outputting text with formatting procedures. Differentiate between an object and a class. Create instances of objects from existing classes such as parent or child. Construct appropriate statements to invoke an object’s accessor methods (executable statements) Create a mathematical model to represent the object movement. Arizona CTE Standards 8.0 - CREATE A PROGRAM USING SOFTWARE 8.1 Use a program editor to enter and modify code 8.2 Compile and execute programs 8.3 Follow established documentation standards 8.4 Name identifiers and formatting code by applying recognized conventions 8.5 Access program and language documentation 10.0 - WRITE CODE TO PERFORM ARITHMETIC CALCULATIONS 10.1 Identify and correctly use arithmetic operations applying the order of operations with respect to programming 10.2 Interpret and construct mathematical formulas 16.0 - IDENTIFY WAYS TO INPUT AND OUTPUT INFORMATION 16.1 Identify appropriate methods to input data on a console and/or GUI 16.2 Identify correct input/output statements in a program 16.3 Choose the correct method of assigning input to variables 16.4 Choose the correct method of outputting text with formatting 16.5 Employ graphics methods to create images at specified locations 16.6 Choose correct GUI objects for input and output of date to the GUI interface, i.e., text boxes, labels, radio buttons, check boxes, dropdowns, and list boxes 18.0 - EMPLOY OBJECT-ORIENTED PROGRAMMING TECHNIQUES 18.5 Change the state of an object by invoking a modifier method Employability Skills 1. Complex Communication: Employs complex communication skills in a manner that adds to organizational productivity. • Demonstrates mastery of traditional communication skills in reading, writing, speaking, and listening within organizational contexts 3. Expert Thinking: Integrates a mastery of technical knowledge and skills with thinking strategies to create, to innovate, and to devise solutions. Recognizes the existence of a problem, sometimes despite evidence to the contrary. • Engages in continuous learning through inquiry and reflection. • Exhibits expertise by asking relevant questions and listening actively. • Uses multiple thinking strategies, such as critical thinking, divergent thinking, problem solving, and decision making, to determine a course of action Resources Text book – ActionScript 3.0 Game Programming University Introduction to Video Game Design Internet connected computer lab Software: Game Maker V8.0 Flash CS 5.5 7 CB35 – Video Game Development Career & Technical Education Unit 5: Basics of Object Oriented Programming Students will construct video games by devising appropriate method of programming based on a hierarchy of classes, and well-defined and cooperating objects. Knowledge and Skills Knowledge: Documentation Standards to verify logical sequence of game construction. Conditional structures using if-then-else and switch to perform object actions. Run time errors may prevent a program to work properly. Boolean expressions use the operators AND, OR, XOR, and NOT to compare values Nesting syntax to define how declarations, functions and commands are arranged. Program editor to decipher proper scripting methods. Mathematical formula to Skills: Utilize the proper debugging tool to examine debugging code to hand trace find and correct errors. Compile and execute programs Create and modify code Evaluate Boolean expressions Create a mathematical model to represent the object movement. Utilize Flash API to construct a video game Arizona CTE Standards 8.0 - CREATE A PROGRAM USING SOFTWARE 8.1 Use a program editor to enter and modify code 8.2 Compile and execute programs 8.3 Follow established documentation standards 8.4 Name identifiers and formatting code by applying recognized conventions 8.5 Access program and language documentation 9.0 - TEST AND DEBUG TO VERIFY PROGRAM OPERATION 9.1 Identify errors in program module 10.0 - WRITE CODE TO PERFORM ARITHMETIC CALCULATIONS 10.1 Identify and correctly use arithmetic operations applying the order of operations with respect to programming 10.2 Interpret and construct mathematical formulas 12.0 - UTILIZE CONDITIONAL STRUCTURES IN WRITING PROGRAMS 12.1 Compare values using relational operators, i.e., =, >, <, >=, <=, and not equal 12.2 Evaluate Boolean expressions 12.3 Select an appropriate decision structure for a given situation 12.4 Select correct syntax for decision statements, i.e., if/else, if, and switch case 12.5 Select the correct nesting syntax for decision structures STANDARD 13.0 - UTILIZE REPETITIVE STRUCTURES IN WRITING PROGRAMS 13.1 Identify various types of repetition structures 13.2 Identify the role of a loop control variable 13.3 Select the correct syntax for nested loops 13.4 Compute the values of variables involved with nested loops Employability Skills Resources 5. Professionalism: Conducts oneself in a professional manner appropriate to organizational expectations. • Adheres to organizational protocol, such as behavior, appearance, and communication. • Manages time in accordance with organizational expectations, including punctuality, productivity, and time on task. • Represents the organization in a positive manner that reflects its mission and goals accurately. • Performs assigned tasks with a “can do” attitude. • Makes appropriate distinctions between personal and workrelated matters. • Produces work that reflects professional pride. Text book – ActionScript 3.0 Game Programming University Introduction to Video Game Design Internet connected computer lab Software: Game Maker V8.0 Flash CS 5.5 8 Career & Technical Education CB35 – Video Game Development Unit 6: Advanced Object Oriented Programming Techniques Students will program identical video games using GML, Action Script (AS) and assess the attributes of each language. 9 CB35 – Video Game Development Career & Technical Education Knowledge and Skills Arizona CTE Standards Employability Skills Resources 10 Career & Technical Education Knowledge: Input and output of executable programs to move objects in the game Adding & updating files for proper execution of game Multidimensional arrays for developing two dimensional arrays of columns and rows. Object oriented programming (OOP) Program module script for the set of commands and instructions to all components of the game. Relational operators identify the kind of relation between two entities. Nested loops to determine which loop takes control of the number of repetitions Data types to classify one of various types of data. String variables for values that contain characters. String concatenation to join two character strings end-to-end. An object as an instance of a class. Application Program Interface (API) to specify the use as an interface by software components to communicate with each other. Skills Retrieve information from a data base Manipulate array data structures Make a distinction between an object and a class Distinguish between is-a, has-a and class relationships Exemplify objects from existing classes Apply appropriate statements to invoke an object’s assessor methods Change the state of an object by invoking a modifier method Determine the requirements for constructing new objects by reading the Application Programming Interface (API) Action Script (AS) Utilize the correct syntax for an original userdefined class Determine the correct syntax for a class that extends an existing class CB35 – Video Game Development 14.0 - UTILIZE SIMPLE DATA TYPES AND STRINGS 14.1 Declare numeric, Boolean, character, and string variables 14.2 Choose the appropriate data type for a given situation 14.3 Identify the correct syntax for constants in a program 14.4 Identify the correct syntax for initializing and modifying variables 14.5 Identify the correct syntax for operations on strings, including length, substring, and concatenation 15.0 - IMPLEMENT ARRAYS IN PROGRAMS 15.4 Manipulate data stored in an array 15.5 Search and sort data in an array 15.6 Identify correct syntax for defining and using two-dimensional arrays 17.0 - USE EXTERNAL DATA SOURCES WITHIN A PROGRAM 17.1 Input data from a sequential file and database 17.2 Output data to a sequential file and/or database 17.3 Add data to an existing file 17.4 Update files and/or databases 18.0 - EMPLOY OBJECT-ORIENTED PROGRAMMING TECHNIQUES 18.1 Make a distinction between an object and a class 18.2 Distinguish between is-a, has-a, and class relationships 18.3 Exemplify objects from existing classes 18.4 Identify appropriate statements to invoke an object's accessor methods 18.5 Change the state of an object by invoking a modifier method 18.6 Determine the requirements for constructing new objects by reading the API 18.7 Identify the correct syntax for an original userdefined class 18.5 Change the state of an object by invoking a modifier method 19.0 - APPLY KNOWLEDGE OF CODE TO PERFORM RUN-TIME ERROR-HANDLING 19.1 Identify (catch) run-time errors and take appropriate action 19.2 Identify the proper syntax for user-created errors (throw errors) 3. all 5. All Text book – ActionScript 3.0 Game Programming University Introduction to Video Game Design Internet connected computer lab Software: Game Maker V8.0 Flash CS 5.5 11 CB35 – Video Game Development Career & Technical Education Unit 7: Final Project Design Students will form a development team, design and program an educational video game. Knowledge and Skills Arizona CTE Standards Employability Skills Resources 12 CB35 – Video Game Development Career & Technical Education Knowledge: Advanced programming in GML & AS 3.0 Academic content from selected areas Collaboration of team and game requirements. Skills: Form teams and assign roles based on student’s skill set Select a content area from a pool of academic based teacher supplied ideas Evaluate the best genre for their game Design, storyboard and program the game Perform the peer evaluation process for other teams’ games Refine and polish their games based on peer evaluation feedback. 1.0 - APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods of establishing priorities 1.2 Prepare a plan of work and schedule information technology tasks 1.3 Use problem-solving processes 1.4 Explain the purpose, types, and content of documentation 15.0 - IMPLEMENT ARRAYS IN PROGRAMS 15.4 Manipulate data stored in an array 15.5 Search and sort data in an array 15.6 Identify correct syntax for defining and using two-dimensional arrays17.1, 17.2, 17.3 & 17.4 STANDARD 18.0 - EMPLOY OBJECTORIENTED PROGRAMMING TECHNIQUES 18.1 Make a distinction between an object and a class 18.2 Distinguish between is-a, has-a, and class relationships 18.3 Exemplify objects from existing classes 18.4 Identify appropriate statements to invoke an object's accessor methods 18.5 Change the state of an object by invoking a modifier method 18.6 Determine the requirements for constructing new objects by reading the API 18.7 Identify the correct syntax for an original user-defined class 18.8 Identify the correct syntax for a class that extends an existing class 19.0 - APPLY KNOWLEDGE OF CODE TO PERFORM RUN-TIME ERROR-HANDLING 19.1 Identify (catch) run-time errors and take appropriate action 19.2 Identify the proper syntax for user-created errors (throw errors) 2. Collaboration: Collaborates, in person and virtually, to complete tasks aimed at organizational goals. • Applies personal strengths to enhance the effectiveness of the team. • Builds on strengths and contributions of others to achieve common goals. • Works cooperatively with different cultures and generations. • Optimizes technology to collaborate with others. • Earns trust of partners and team members. • Exchanges essential information among collaborators. • Exercises shared leadership. 7. Legal and Ethical Practices: Observes laws, rules, and ethical practices in the workplace. Text book – ActionScript 3.0 Game Programming University Introduction to Video Game Design Internet connected computer lab Software: Game Maker V8.0 Flash CS 5.5 • Follows all applicable local, state, and federal laws. • Takes responsibility for one’s actions in the workplace, such as disclosing personal mistakes to supervisor. • Manages resources for the good of the organization. • Acts with integrity. • Interacts respectfully with co-workers and customers. 2 all 3 all 5b, d, e, f 13 Career & Technical Education CB35 – Video Game Development 14