Why study at TECH?

Companies know that the key to a video game is in the programming. Specialize and become the most sought-after developer in your work environment” 
##IMAGE##

Behind every great video game, there is a huge team of professionals specialized in each area of work that will try to bring success to their company. Normally, the most outstanding sections for fans are those they can perceive directly, such as the Visuals or Character Control, Mechanics or Object Interaction. 

However, for all these elements to work and be correctly integrated, there is an essential task that is not usually taken into account: programming. The development of a video game has different phases and involves different departments, but programming is what makes sense of everything and forms the basic skeleton on which the rest of the elements are incorporated.
 
That is why companies in the industry pay so much attention to this issue, since they know correctly and efficiently developing video games will facilitate project progress and avoid potential errors and Bugs. To that end, they look for the best programmers specialized in this area,
 
But it is not easy to find true specialists in the field. This Professional master’s degree in Video Game Programming responds to that demand, making students become great experts in video game development that can thrive in the industry with ease, obtaining great career opportunities thanks to the skills and abilities they will acquire throughout this degree.  

Develop all types of video games in the best companies in the world thanks to this Professional master’s degree”

This Professional master’s degree in Video Game Programming contains the most complete and up-to-date scientific program on the market. Its most notable features are:

  • Practical cases presented by experts in video game programming and development 
  • The graphic, schematic, and eminently practical contents with which they are created, provide scientific and practical information on the disciplines that are essential for professional practice 
  • Practical exercises where self-assessment can be used to improve learning 
  • Its special emphasis on innovative methodologies  
  • Theoretical lessons, questions to the expert, debate forums on controversial topics, and individual reflection assignments 
  • Content that is accessible from any fixed or portable device with an Internet connection 

Programming is increasingly essential in developing video games. Become an essential part of the industry thanks to this degree” 

The program’s teaching staff includes professionals from the sector who contribute their work experience to this training program, as well as renowned specialists from leading societies and prestigious universities.
 
The multimedia content, developed with the latest educational technology, will provide the professional with situated and contextual learning, i.e., a simulated environment that will provide immersive training programmed to train in real situations.
 
This program is designed around Problem-Based Learning, whereby the professional must try to solve the different professional practice situations that arise during the academic year. For this purpose, the student will be assisted by an innovative interactive video system created by renowned and experienced experts 

Games are your passion, and you want to become a great developer. Don't wait any longer and enroll in this Professional master’s degree"

##IMAGE##

The best companies in the industry are waiting for you. Specialize now"

Syllabus

The contents of this Professional master’s degree in Video Game Programming have been carefully designed by a team of great specialists in the field who are perfectly aware of the current state of the industry. Thus, thanks to this program, students will be able to learn all the necessary knowledge to respond to company demands in the field, since they will have been trained in the particulars and specifics of these demands, which are complex and constantly changing.  

##IMAGE##

These contents will make you a great expert in Video Game Programming”

Module 1. Programming Fundamentals

1.1. Introduction to Programming   

1.1.1. Basic Computer Structure  
1.1.2. Software  
1.1.3. Programming Languages  
1.1.4. Computer Application Life Cycle

1.2. Algorithm Design  

1.2.1. Problem Solving  
1.2.2. Descriptive Techniques  
1.2.3. Algorithm Elements and Structure  

1.3. Program Elements  

1.3.1. C++ Origin and Features  
1.3.2. Development Environment  
1.3.3. Concept of Program  
1.3.4. Types of Fundamental Data  
1.3.5. Operators  
1.3.6. Expressions  
1.3.7. Statements  
1.3.8. Data Input and Output

1.4. Control Statements

1.4.1. Statements  
1.4.2. Branches  
1.4.3. Loops

1.5. Abstraction and Modularity: Functions

           1.5.1. Modular Design  
           1.5.2. Concept of Function and Utility  
           1.5.3. Definition of Function  
           1.5.4. Execution Flow When Function Is Called   
           1.5.5. Function Prototypes  
           1.5.6. Results Return  
           1.5.7. Calling Functions: Parameters  
           1.5.8. Parameter Passing According to Reference and Value  
           1.5.9. Scope Identifier  

1.6. Statistical Data Structures

1.6.1. Arrays  
1.6.2. Matrices: Polyhedra  
1.6.3. Searching and Sorting  
1.6.4. Chaining: I/O Functions for Chains  
1.6.5. Structures: Unions  
1.6.6. New Types of Data  


1.7. Statistical Data Structures: Pointers  


1.7.1. Concept: Definition of Pointer  
1.7.2. Pointer Operators and Operations  
1.7.3. Pointer Arrays  
1.7.4. Pointers and Arrays  
1.7.5. Chain Pointers  
1.7.6. Structure Pointers  
1.7.7. Multiple Indirection  
1.7.8. Function Pointers  
1.7.9. Function, Structure and Array Passing as Function Parameters

1.8. Files

 
1.8.1. Basic Concepts  
1.8.2. File Operations  
1.8.3. Types of Files  
1.8.4. File Organization  
1.8.5. Introduction to C++ Files  
1.8.6. Managing Files  


1.9. Recursion

 
1.9.1. Definition of Recursion  
1.9.2. Types of Recursion  
1.9.3. Advantages and Inconveniences  
1.9.4. Considerations  
1.9.5. Recursive-Iterative Conversion  
1.9.6. Recursion Stack

1.10. Testing and Documentation  


1.10.1. Program Testing  
1.10.2. White Box Testing  
1.10.3. Black Box Testing  
1.10.4. Testing Tools  
1.10.5. Program Documentation 


Module 2. Data Structure and Algorithms

2.1. Introduction to Algorithm Design Strategies

 
2.1.1. Recursion  
2.1.2. Divide and Conquer  
2.1.3. Other Strategies  


2.2. Algorithm Efficiency and Analysis  


2.2.1. Efficiency Measures  
2.2.2. Measuring Entry Size  
2.2.3. Measuring Execution Time  
2.2.4. Worst, Best and Average Case  
2.2.5. Asymptotic Notation  
2.2.6. Mathematical Analysis Criteria for Non-Recursive Algorithms  
2.2.7. Mathematical Analysis for Recursive Algorithms  
2.2.8. Empirical Analysis for Algorithms  


2.3. Sorting Algorithms  


2.3.1. Concept of Sorting  
2.3.2. Bubble Sorting  
2.3.3. Selection Sorting  
2.3.4. Insertion Sorting  
2.3.5. Mixed Sorting (merge_sort)  
2.3.6. Quick Sorting (quick_sort)  }


2.4. Tree Algorithms  


2.4.1. Concept of Tree  
2.4.2. Binary Trees  
2.4.3. Tree Traversal  
2.4.4. Representing Expressions  
2.4.5. Sorted Binary Trees  
2.4.6. Balanced Binary Trees

 
2.5. Algorithms Using Heaps  


2.5.1. Heaps  
2.5.2. The Heapsort Algorithm  
2.5.3. Priority Queues

 
2.6. Graph Algorithms  


2.6.1. Representation  
2.6.2. Width Traversal  
2.6.3. Depth Traversal  
2.6.4. Topological Sorting  


2.7. Greedy Algorithms  


2.7.1. Greedy Strategy  
2.7.2. Greedy Strategy Elements  
2.7.3. Currency Exchange  
2.7.4. Traveling Salesman Problem  
2.7.5. Knapsack Problem  


2.8. Minimal Pathways Search  


2.8.1. Shortest Path Problem  
2.8.2. Cycles and Negative Arcs  
2.8.3. Dijkstra's Algorithm  


2.9. Greedy Algorithms on Graphs  


2.9.1. Minimum Spanning Tree  
2.9.2. Prim's Algorithm  
2.9.3. Kruskal’s Algorithm  
2.9.4. Complexity Analysis  

2.10. Backtracking  


2.10.1. Backtracking  
2.10.2. Alternative Techniques 

Module 3. Object Oriented Programming 

3.1. Introduction to Object Oriented Programming  


3.1.1. Introduction to Object Oriented Programming  
3.1.2. Class Design  
3.1.3. Introduction to Unified Modeling Language (UML) for Problem Modeling  


3.2. Class Relations  


3.2.1. Abstractions and Heritage  
3.2.2. Advanced Concepts of Heritage  
3.2.3. Polymorphism  
3.2.4. Composition and Aggregation  


3.3. Introduction to Design Patterns for Object Oriented problems  


3.3.1. What Are Design Patterns?  
3.3.2. Factory Pattern  
3.3.4. Singleton Pattern  
3.3.5. Observer Pattern  
3.3.6. Composite Pattern  


3.4. Exceptions  


3.4.1. What Are Exceptions?  
3.4.2. Catching and Handling Exceptions  
3.4.3. Launching Exceptions  
3.4.4. Creating Exceptions  


3.5. User Interface  


3.5.1. Introduction to Qt  
3.5.2. Positioning  
3.5.3. What Are Events?  
3.5.4. Events: Definition and Catching  
3.5.5. User Interface Development  

3.6.  Introduction to Concurrent Programming  


3.6.1. Introduction to Concurrent Programming  
3.6.2. Concept of Process and Thread  
3.6.3. Process and Thread Interaction  
3.6.4. C++ Threads  
3.6.5.  Advantages and Disadvantages of Concurrent Programming  


3.7. Thread Management and Synchronization  


3.7.1. Thread Life Cycle  
3.7.2. Thread Class  
3.7.3. Thread Planning  
3.7.4. Thread Groups  
3.7.5. Daemon Threads  
3.7.6. Synchronization  
3.7.7. Locking Mechanisms  
3.7.8. Communication Mechanisms  
3.7.9. Monitors  


3.8. Common Problems in Concurrent Programming

3.8.1. Producer-Consumer Problem  
3.8.2. Readers-Writers Problem  
3.8.3. Dining Philosophers Problem

 
3.9. Software Testing and Documentation  


3.9.1. Why Is It Important to Document Software?  
3.9.2. Design Documentation  
3.9.3. Documentation Tool Use  


3.10. Software Tests  


3.10.1. Introduction to Software Tests  
3.10.2. Types of Tests  
3.10.3. Unit Test  
3.10.4. Integration Test  
3.10.5. Validation Test  
3.10.6. System Test 

Module 4. Video Game Consoles and Devices

4.1. History of Programming in Video Games

 
4.1.1. Atari (1977-1985)  
4.1.2. Nintendo and Super Nintendo Entertainment Systems (NES and SNES) (1985-1995)  
4.1.3. PlayStation / PlayStation 2 (1995-2005)  
4.1.4. Xbox 360, PlayStation 3 and Nintendo Wii (2005-2013)  
4.1.5. Xbox One, PlayStation 4 and Nintendo Wii U - Switch (2013-present)  
4.1.6. The Future  


4.2. History of Playability in Video Games  


4.2.1. Introduction  
4.2.2. Social Context  
4.2.3. Structural Diagram  
4.2.4. Future  


4.3. Adapting to Modern Times  


4.3.1. Motion-Based Games  
4.3.2. Virtual Reality  
4.3.3. Augmented Reality  
4.3.4. Mixed Reality  


4.4. Unity: Scripting I and Examples  


4.4.1. What Is a Script?  
4.4.2. Our First Script  
4.4.3. Adding a Script  
4.4.4. Opening a Script  
4.4.5. MonoBehaviour  
4.4.6. Debugging  


4.5. Unity: Scripting II and Examples

4.5.1. Enter Keyboard and Mouse  
4.5.2. Raycast  
4.5.3. Installation  
4.5.4. Variables:  
4.5.5. Public and Serialized Variables

4.6. Unity: Scripting III and Examples  


4.6.1. Obtaining Components  
4.6.2. Modifying Components  
4.6.3. Testing  
4.6.4. Multiple Objects  
4.6.5. Colliders and Triggers  
4.6.6. Quaternion

 
4.7. Peripherals  


4.7.1. Evolution and Classification  
4.7.2. Peripherals and Interface  
4.7.3. Current Peripherals  
4.7.4. Near Future

 
4.8. Video Games: Future Perspectives  


4.8.1. Cloud-Based Games  
4.8.2. Controller Absence  
4.8.3. Immersive Reality  
4.8.4. Other Alternatives

 
4.9.  Architecture

 
4.9.1. Special Video Game Requirements  
4.9.2. Architecture Evolution  
4.9.3. Current Architecture  
4.9.4. Differences between Architectures

 
4.10. Development Kits and Evolution

 
4.10.1. Introduction  
4.10.2. Third Generation Development Kits  
4.10.3. Fourth Generation Development Kits  
4.10.4. Fifth Generation Development Kits  
4.10.5. Sixth Generation Development Kits

 

Module 5. Software Engineering

5.1. Introduction to Software Engineering and Modeling

 
5.1.1. The Nature of Software  
5.1.2. The Unique Nature of Webapps  
5.1.3.  Software Engineering  
5.1.4. Software Process  
5.1.5. Software Engineering Practice  
5.1.6. Software Myths  
5.1.7. How It All Begins  
5.1.8. Object Oriented Concepts  
5.1.9. Introduction to UML

 
5.2. Software Process  


5.2.1. A General Process Model  
5.2.2. Prescriptive Process Models  
5.2.3. Specialized Process Models  
5.2.4. Unified Process  
5.2.5. Personal and Team Process Models  
5.2.6. What Is Agility?  
5.2.7. What Is an Agile Process?  
5.2.8. Scrum  
5.2.9. Agile Process Toolkit  


5.3. Software Engineering Guiding Principles  


5.3.1. Process Guiding Principles  
5.3.2. Practice Guiding Principles  
5.3.3. Communication Principles  
5.3.4. Planning Principles  
5.3.5. Modeling Principles  
5.3.6. Building Principles  
5.3.7. Deployment Principles  
 

5.4. Understanding Requirements

 
5.4.1. Requirement Engineering  
5.4.2. Establishing Bases  
5.4.3. Requirements Inquiry  
5.4.4. Use Case Development  
5.4.5. Requirements Model Development  
5.4.6. Requirements Negotiation  
5.4.7. Requirements Validation  


5.5. Requirements Modeling: Scenarios, Information and Types of Analysis

5.5.1. Requirements Analysis  
5.5.2. Scenario-Based Modeling  
5.5.3. UML Models Providing Use Cases  
5.5.4. Concepts of Data Modeling  
5.5.5. Class-Based Modeling  
5.5.6. Class Diagrams

5.6. Requirements Modeling: Flow, Behavior and Patterns

 
5.6.1. Strategy-Modeling Requirements  
5.6.2. Flow-Oriented Modeling  
5.6.3. Status Diagrams  
5.6.4. Creating Behavior Models  
5.6.5. Sequence Diagrams  
5.6.6. Communication Diagrams  
5.6.7. Requirements Modeling Patterns

 
5.7. Design Concepts  


5.7.1. Design in Software Engineering  
5.7.2. Design Process  
5.7.3. Design Concepts  
5.7.4. Object-Oriented Design Concepts  
5.7.5. Design Model

5.8. Architecture Design

 
5.8.1. Software Design  
5.8.2. Architectural Genres  
5.8.3. Architectural Styles  
5.8.4. Architectural Design  
5.8.5. Evolution of Alternative Designs for Architecture  
5.8.6. Mapping Architecture Using Data Flows

 
5.9. Component-Level and Pattern-Based Design

 
5.9.1. What Is a Component?  
5.9.2. Class-Based Component Design  
5.9.3. Producing Component-Level Designs  
5.9.4. Traditional Component Design  
5.9.5. Component-Based Development  
5.9.6. Design Patterns  
5.9.7. Pattern-Based Software Design  
5.9.8. Architectural Patterns  
5.9.9. Component-Level Design Patterns  
5.9.10. User Interface Design Patterns

 
5.10. Software Quality and Project Administration

5.10.1. Quality  
5.10.2. Software Quality  
5.10.3. The Software Quality Dilemma  
5.10.4. Achieving Software Quality  
5.10.5. Ensuring Software Quality  
5.10.6. The Administrative Spectrum  
5.10.7. The Staff  
5.10.8. The Product  
5.10.9. The Process  
5.10.10. The Project  
5.10.11. Principles and Practices   

Module 6. Video Game Engines

6.1. Video Games and Information Communication Technologies (ICTs)  


6.1.1. Introduction  
6.1.2. Opportunities  
6.1.3. Challenges  
6.1.4. Conclusions  


6.2. History of Video Game Engines

 
6.2.1. Introduction  
6.2.2. Atari  
6.2.3. The 80s  
6.2.4. First Engines: The 90s  
6.2.5. Current Engines  


6.3. Video Game Engines  


6.3.1. Types of Engines  
6.3.2. Video Game Engine Parts  
6.3.3. Current Engines  
6.3.4. Selecting an Engine  


6.4. Motor Game Maker  


6.4.1. Introduction  
6.4.2. Scenarios Design  
6.4.3. Sprites and Animations  
6.4.4. Collisions  
6.4.5. Scripting in Game Maker Languages (GML)  


6.5. Unreal Engine 4: Introduction  


6.5.1. What Is Unreal Engine 4? What Is Its Philosophy?  
6.5.2. Materials  
6.5.3.     UI  
6.5.4.     Animation  
6.5.5.     Particle Systems  
6.5.6.     Artificial Intelligence  
6.5.7.     Frames Per Second (FPS)

6.6.     Unreal Engine 4: Visual Scripting

 
6.6.1.     Blueprints and Visual Scripting Philosophy  
6.6.2.     Debugging  
6.6.3.     Types of Variables  
6.6.4.     Basic Flow Control  


6.7.     Unity 5 Engine  


6.7.1.     C# y Visual Studio Programming  
6.7.2.     Creating Prefabs  
6.7.3.     Using Gizmos to Control Video Games    
6.7.4.     Adaptive Engine: 2D and 3D

6.8.     Godot Engine  


6.8.1.     Godot Design Philosophy  
6.8.2.     Object- and Composition-Oriented Design  
6.8.3.     All in One Package  
6.8.4.     Open and Community-Driven Software

6.9.     RPG Maker Engine  


6.9.1.     RPG Maker Philosophy  
6.9.2.     Taking as a Reference  
6.9.3.     Creating a Game with Personality  
6.9.4.     Commercially Successful Games 


6.10.     Source 2 Engine  


6.10.1.     Source 2 Philosophy  
6.10.2.     Source and Source 2: Evolution  
6.10.3.     Community Use: Audiovisual Content and Video Games  
6.10.4.     Future of Source 2 Engine  
6.10.5.     Successful Mods and Games

Module 7. Intelligent Systems

7.1.     Agents Theory

 
7.1.1.     Concept History  
7.1.2.     Agent Definition  
7.1.3.     Agents in Artificial Intelligence  
7.1.4.     Agents in Software Engineering

7.2.     Agent Architectures  


7.2.1.     Agent Though Process  
7.2.2.     Reactive Agents  
7.2.3.     Deductive Agents  
7.2.4.     Hybrid Agents  
7.2.5.     Comparison  


7.3.     Information and Knowledge  


7.3.1.     Difference between Data, Information and Knowledge  
7.3.2.     Data Quality Assessment  
7.3.3.     Data Collection Methods  
7.3.4.     Information Acquisition Methods  
7.3.5.     Knowledge Acquisition Methods  


7.4.     Knowledge Representation

 
7.4.1.     The Importance of Knowledge Representation  
7.4.2.     Definition of Knowledge Representation According to Role  
7.4.3.     Knowledge Representation Features

7.5.     Ontologies  


7.5.1.     Introduction to Metadata  
7.5.2.     Philosophical Concept of Ontology  
7.5.3.     Computing Concept of Ontology  
7.5.4.     Domain Ontologies and Higher-Level Ontologies  
7.5.5.     Building an Ontology  


7.6.     Ontology Languages and Ontology Creation Software

 
7.6.1.     Triple RDF, Turtle and N3  
7.6.2.     RDF Schema  
7.6.3.     OWL  
7.6.4.     SPARQL  
7.6.5.     Introduction to Ontology Creation Tools  
7.6.6.     Installing and Using Protégé  


7.7.     Semantic Web

7.7.1.     Current and Future Status of Semantic Web  
7.7.2.     Semantic Web Applications

7.8.     Other Knowledge Representation Models

 
7.8.1.     Vocabulary  
7.8.2.     Global Vision  
7.8.3.     Taxonomy  
7.8.4.     Thesaurus  
7.8.5.     Folksonomy  
7.8.6.     Comparison  
7.8.7.     Mind Maps

 
7.9.     Knowledge Representation Assessment and Integration  


7.9.1.     Zeroth-Order Logic  
7.9.2.     First-Order Logic  
7.9.3.     Description Logic  
7.9.4.     Relation between Different Types of Logic  
7.9.5.     Prolog: Programming Based on First-Order Logic  


7.10.     Semantic Reasoners, Knowledge-Based Systems and Expert Systems  


7.10.1.     Concept of Reasoner  
7.10.2.     Reasoner Applications  
7.10.3.     Knowledge-Based Systems  
7.10.4.     MYCIN: History of Expert Systems  
7.10.5.     Expert Systems Elements and Architecture  
7.10.6.     Creating Expert Systems

Module 8. Real-Time Programming

8.1.     Basic Concepts in Concurrent Programming

 
8.1.1.    Main Concepts  
8.1.2.     Concurrency  
8.1.3.     Benefits of Concurrency  
8.1.4.     Concurrency and Hardware  

8.2.     Basic Concurrency Support Structures in Java  


8.2.1.     Concurrency in Java  
8.2.2.     Creating Threads  
8.2.3.     Methods  
8.2.4.     Synchronization

8.3.     Threads, Life Cycles, Priorities, Interruptions, Status and Executers

 
8.3.1.     Threads  
8.3.2.     Life Cycle  
8.3.3.     Priorities  
8.3.4.     Interruptions  
8.3.5.     Status  
8.3.6.     Executers

 
8.4.     Mutual Exclusion  


8.4.1.     What Is Mutual Exclusion?  
8.4.2.     Dekker’s Algorithm  
8.4.3.     Peterson’s Algorithm  
8.4.4.     Mutual Exclusion in Java

 
8.5.     Status Dependency  


8.5.1.     Dependency Injections  
8.5.2.     Pattern Implementation in Java  
8.5.3.     Ways to Inject Dependencies  
8.5.4.     Example  


8.6.     Design Patterns  


8.6.1.     Introduction  
8.6.2.     Creation Patterns  
8.6.3.     Structure Patterns  
8.6.4.     Behavior Patterns  


8.7.     Using Java Libraries  


8.7.1.     What Are Java Libraries?  
8.7.2.     Mockito-All, Mockito-Core  
8.7.3.     Guava  
8.7.4.     Commons-Io  
8.7.5.     Commons-Lang, Commons-Lang3

8.8.     Shader Programming  


8.8.1.     Pipeline 3D and Rasterized  
8.8.2.     Vertex Shading  
8.8.3.     Pixel Shading: Lighting I  
8.8.4.     Pixel Shading: Lighting II  
8.8.5.     Post-Effects  


8.9.     Real-Time Programming  


8.9.1.     Introduction  
8.9.2.     Processing Interruptions  
8.9.3.     Synchronization and Communication between Processes  
8.9.4.     Real-Time Planning Systems  


8.10.     Real-Time Planning

8.10.1.     Concepts  
8.10.2.     Real-Time Systems Reference Model  
8.10.3.     Planning Policies  
8.10.4.     Cyclical Planners  
8.10.5.     Statistical Property Planners  
8.10.6.     Dynamic Property Planners

Module 9. Web Game Design and Development

9.1.     Web Origins and Standards

 
9.1.1.     Internet Origins  
9.1.2.     World Wide Web  
9.1.3.     First Web Standards  
9.1.4.     Rise Web Standards

 
9.2.     HTTP and Client-Server Structure  


9.2.1.     Client-Server Role  
9.2.2.     Client-Server Communication  
9.2.3.     Recent History  
9.2.4.     Centralized Computing  

9.3.     Web Programming: Introduction

 
9.3.1.     Basic Concepts  
9.3.2.     Preparing Web Servers  
9.3.3.     Basic Concepts of HTML5  
9.3.4.     HTML Forms

 
9.4.     Introduction to HTML and Examples

 
9.4.1.     HTML5 History  
9.4.2.     HTML5 Elements  
9.4.3.     Application Programming Interface (API)  
9.4.4.     CCS3  


9.5.     Document Object Model

 
9.5.1.     What Is a Document Object Model?  
9.5.2.     Using DOCTYPE  
9.5.3.     The Importance of Validating the HTML  
9.5.4.     Accessing Elements  
9.5.5.     Creating Elements and Texts  
9.5.6.     Using InnerHTML  
9.5.7.     Deleting an Element or Text Node  
9.5.8.     Reading and Writing Element Attributes  
9.5.9.     Manipulating Element Styles  
9.5.10.     Attaching Multiple Files at Once  


9.6.     Introduction to CSS and Examples

 
9.6.1.     CSS3 Syntax  
9.6.2.     Style Sheets  
9.6.3.     Labels  
9.6.4.     Selectors  
9.6.5.     CSS Web Design

9.7.     Introduction to JavaScript and Examples  


9.7.1.     What Is JavaScript?  
9.7.2.     A Brief History of the Language  
9.7.3.     JavaScript Versions
9.7.4.     Displaying Dialog Boxes  
9.7.5.     JavaScript Syntax  
9.7.6.     Understanding Scripts  
9.7.7.     Spaces  
9.7.8.     Comments  
9.7.9.     Functions  
9.7.10.     On-Page and External JavaScript

 
9.8.     JavaScript Functions  


9.8.1.     Function Declaration  
9.8.2.     Function Expression  
9.8.3.     Calling Functions  
9.8.4.     Recursion  
9.8.5.     Nested Functions and Closures  
9.8.6.     Variable Preservation  
9.8.7.     Multinested Functions  
9.8.8.     Name Conflicts  
9.8.9.     Closings or Closures  
9.8.10.     Function Parameters

9.9.     PlayCanvas for Web Game Development  


9.9.1.     What Is PlayCanvas?  
9.9.2.     Project Configuration  
9.9.3.     Creating an Object  
9.9.4.     Adding Physics  
9.9.5.     Adding Models  
9.9.6.     Changing the Gravity and Scene Settings  
9.9.7.     Executing Scripts  
9.9.8.     Camara Controls  


9.10.   Phaser for Web Game Development  


9.10.1.     What Is Phaser?  
9.10.2.     Loading Resources  
9.10.3.     Building the World  
9.10.4.     Platforms  
9.10.5.     Players  
9.10.6.     Adding Physics  
9.10.7.     Using the Keyboard  
9.10.8.     Pickups  
9.10.9.     Points and Scoring  
9.10.10.     Bouncing Bombs

Module 10. Multiplayer Networks and Systems

10.1.   History and Evolution of Multiplayer Video Games

 
10.1.1.     The 1970s: First Multiplayer Games  
10.1.2.     The 90s: Duke Nuke, Doom and Quake  
10.1.3.     Rise of Multiplayer Video Games  
10.1.4.     Local or Online Multiplayer  
10.1.5.     Party Games  

10.2.   Multiplayer Business Models  

10.2.1.    Origin and Function of Emerging Business Models  
10.2.2.     Online Sales Services  
10.2.3.     Free to Play  
10.2.4.     Micropayments  
10.2.5.     Advertising  
10.2.6.     Monthly Payment Subscription  
10.2.7.     Pay to Play  
10.2.8.     Try Before You Buy  


10.3.     Local and Network Games 


10.3.1.     Local Games: Beginnings  
10.3.2.     Party Games: Nintendo and Family Union  
10.3.3.     Networks Games: Beginnings  
10.3.4.     Network Games Evolution  


10.4.     OSI Model: Layers I

10.4.1.     OSI Model: Introduction  
10.4.2.     Physical Layer  
10.4.3.     Data Link Layer  
10.4.4.     Network Layer

 
10.5.   OSI Model: Layers II

 
10.5.1.     Transport Layer  
10.5.2.     Session Layer  
10.5.3.     Presentation Layer  
10.5.4.     Application Layer

 

10.6.     Computer Networks and the Internet

 
10.6.1.     What Are Computer Networks?
10.6.2.     Software  
10.6.3.     Hardware  
10.6.4.     Servers  
10.6.5.     Network Storage  
10.6.6.     Network Protocols  


10.7.     Mobile and Wireless Networks  


10.7.1.     Mobile Networks  
10.7.2.     Wireless Networks  
10.7.3.     How Mobile Networks Work  
10.7.4.     Digital Technology  


10.8.     Security  


10.8.1.     Personal Security  
10.8.2.     Video Game Hacks and Cheats  
10.8.3.     Anti-Cheating Security  
10.8.4.     Anti-Cheating Security Systems Analysis

 
10.9.     Multiplayer Systems: Servers

 
10.9.1.     Server Hosting  
10.9.2.     Massively Multiplayer Online (MMO) Video Games  
10.9.3.     Dedicated Video Game Servers  
10.9.4.     Local Area Network (LAN) Parties  


10.10.     Multiplayer Video Game Design and Programming

 
10.10.1.    Multiplayer Video Game Design Basics in Unreal  
10.10.2.    Multiplayer Video Game Design Basics in Unity  
10.10.3.    How to Make a Multiplayer Game Fun  
10.10.4.    Beyond a Controller: Multiplayer Controller Innovation

##IMAGE##

If you want to develop a great career programming world-famous video games, this is the Professional Master’s Degree you are looking for”    

Professional Master's Degree in Video Game Programming

.

Are you ready to dive into the exciting world of video game creation? TECH Global University invites you to explore our Professional Master's Degree in Video Game Programming, a virtual experience that will transform your computer skills and take you to a whole new level of technical prowess. Our Professional Master's Degree in Video Game Programming gives you the opportunity to acquire exceptional skills in the field of digital game creation. With a highly qualified teaching team with extensive industry experience, you will be supported by experts who will share their knowledge and guide you on your journey to success. You will learn advanced programming techniques, 2D and 3D graphics development, artificial intelligence applied to video games and exciting level design. This program will immerse you in an interactive virtual environment, where you will have access to a wide range of cutting-edge resources and tools. You will be able to explore the latest trends in the video game industry and apply them to hands-on projects that will challenge your ingenuity and creativity. From conceptualization to implementation, you'll develop comprehensive skills that will enable you to create unforgettable gaming experiences.

The future of video games.

The future of the industry is in your hands!

At the end of the Professional Master's Degree , you will receive a certificate of recognition from TECH Global University, backed by our reputation for academic excellence. This certificate will be your passport to a world of career opportunities. You will be able to work as a game developer, level designer, AI programmer or even start your own game development studio. The main objective of the Professional Master's Degreein in Video Game Programming at TECH Global University is to provide you with the skills and knowledge necessary to become a highly skilled professional in the field of video game creation. We want to empower your talent and passion for digital games, and provide you with the tools to excel in this constantly evolving industry. Are you ready to turn your passion for video games into a rewarding career? Don't miss this amazing opportunity to study at TECH, where innovation and educational quality are our top priority. Join us and unlock your potential in video game programming.