Games Engines and Intro to Programming

Slides:



Advertisements
Similar presentations
 2005 Pearson Education, Inc. All rights reserved Introduction.
Advertisements

1 Java Basics. 2 Compiling A “compiler” is a program that translates from one language to another Typically from easy-to-read to fast-to-run e.g. from.
Outline Java program structure Basic program elements
COMP 14: Intro. to Intro. to Programming May 23, 2000 Nick Vallidis.
Unity 3D game IDE 1.  Unity is a multi-platform, integrated IDE for scripting games, and working with 3D virtual worlds  Including:  Game engine ▪
1. 2 Chapter 1 Introduction to Computers, Programs, and Java.
Java: Chapter 1 Computer Systems Computer Programming II Aug
V Avon High School Tech Club Agenda Old Business –Delete Files New Business –Week 16 Topics: Intro to HTML/CSS –Questions? Tech Club Forums.
A First Program Using C#
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
Java: Chapter 1 Computer Systems Computer Programming II.
Java Language and SW Dev’t
Client Scripting1 Internet Systems Design. Client Scripting2 n “A scripting language is a programming language that is used to manipulate, customize,
INTRODUCTION TO JAVA CHAPTER 1 1. WHAT IS JAVA ? Java is a programming language and computing platform first released by Sun Microsystems in The.
The Java Programming Language
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
CHAPTER 3 GC Java Fundamentals. 2 BASICS OF JAVA ENVIRONMENT  The environment  The language  Java applications programming Interface API  Various.
Introduction to Java Java Translation Program Structure
BEGINNING PROGRAMMING.  Literally – giving instructions to a computer so that it does what you want  Practically – using a programming language (such.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
COP 2551 Introduction to Object Oriented Programming with Java Topics –Introduction to the Java language –Code Commenting –Java Program Structure –Identifiers.
CGS 3066: Web Programming and Design Spring 2016 Introduction to JavaScript.
© 2011 Pearson Education, publishing as Addison-Wesley Chapter 1: Computer Systems Presentation slides for Java Software Solutions for AP* Computer Science.
Intro to Programming STARS College of Communication and Information Florida State University Written by: Hannah Brock Alissa Ovalle Nicolaus Lopez Martin.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
1 Problem Solving  The purpose of writing a program is to solve a problem  The general steps in problem solving are: Understand the problem Dissect the.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Introduction to Object Oriented
Bill Tucker Austin Community College COSC 1315
CGS 3066: Web Programming and Design Spring 2017
Unit 2 Technology Systems
Lecture 1b- Introduction
Dept of Computer Science University of Maryland College Park
Lecture 2 D&D Chapter 2 & Intro to Eclipse IDE Date.
Prof: Dr. Shu-Ching Chen TA: Samira Pouyanfar Spring 2017
Working with Java.
“Under the hood”: Angry Birds Maze
GC101 Introduction to computer and program
Chapter 3 GC 101 Java Fundamentals.
Chapter 2 - Introduction to C Programming
Objectives Identify the built-in data types in C++
Multiple variables can be created in one declaration
Game Engines By James Tedder.
Java programming lecture one
Prof: Dr. Shu-Ching Chen TA: Samira Pouyanfar Hector Cen Fall 2017
4. Javascript Pemrograman Web I Program Studi Teknik Informatika
Chapter 2 - Introduction to C Programming
Chapter 1 Introduction to Computers, Programs, and Java
Starter activity – 10mins
Software Programming J. Holvikivi 2014.
IDENTIFIERS CSC 111.
VISUAL BASIC.
Introduction to C++ Programming
Advanced Programming Lecture 02: Introduction to C# Apps
Unit 20 Software Part 2.
Chapter 1: Computer Systems
Unit 20 Software Part 2.
Units with – James tedder
Units with – James tedder
Chapter 3 – Introduction to C# Programming
Anatomy of a Java Program
Focus of the Course Object-Oriented Software Development
IDE’s and Debugging.
C++ Programming Lecture 3 C++ Basics – Part I
Tutorial 10: Programming with javascript
Unit 3: Variables in Java
PHP an introduction.
Introduction to C Programming
IS 135 Business Programming
Intro to Programming (in JavaScript)
Presentation transcript:

Games Engines and Intro to Programming

Starter exercise – 15 Mins List and name as many game engines as you can. There are many. Find and list some popular games made with those engines.

Gamemaker: Unity: Unreal Engine: Amazon Lumberyard: Construct 2 Undertale Hyper Light Drifter Hotline Miami Unity: Cuphead Rick and Morty: Virtual Rick-ality Inside (By Playdead) Hearthstone Unreal Engine: Fortnight Spyro Reignited Trilogy PUBG Amazon Lumberyard: Star Citizen Construct 2 The Next Penelope Cosmochoria Insanity's Blade

Game Engines 101. A game engine is the program we use to build the game world. Its where the games interactivity comes from.

Game Engines 101. Much like a car engine its made of lots of different parts, which all spin separately but when put together they make things happen. Its where the games interactivity comes from.

Interactivity is the key concept for games development. What does interactivity mean? An action, caused by something else’s influence.

All games are built on interactivity Lets look at Angry Birds…. http://www.youtube.com/watch?v=9niqSk9VCi8 What happens when the player pulls their finger back? What happens when they release their finger? What happens when the bird hits the buildings? What happens when the bird hits all the pigs?

INTERACTION When I do (A) then (B) happens. When the (bird hits the pig) then (the pig dies).

Interaction drives the game forward

What is a game engine? A game engine is a software framework designed for the creation and development of video games. Developers use them to create games for consoles, mobile devices and personal computers. Set of tools to assist in making a game Game agnostic software components (Can link and work with other software) Reusable for many different games Multi-platform (typically) Allows for data driven development (flow of the program is determined by events such as user actions) Makes development faster!

Engine toolsets include: Renderer (2D or 3D) Collision Detection Scripting Sound/Video Animation Shading/Lighting Networking Physics Artificial Intelligence Level Editor Custom Tools

Digital Content Creation Tools Games are multimedia applications by nature. A game engine’s input data comes in a wide variety of forms, from 3D mesh data to texture bitmaps to animation data to audio files. All of this source data must be created and manipulated by artists. The tools that the artists use are called digital content creation (DCC) applications. DCC applications for games development engines include: Photoshop(Texture editing) Piscal(Sprite Creation) 3D Modelling software and animation software(e.g Autodesk Maya3D Studio Max) Sound editing software (E.g )Audacity

Digital Content Creation Tools Continued Used to create anything other than the code. These are called assets and include anything used by the: Render Engine Sound/Video Engine Animation Engine Which would include: Models Textures Sounds Videos Animations

So…. Game engines stream line the game making process Allow us a place to create interactivity for our game Allow us a central place to collect, store, place and use our assets Allow us to create platform independent games (Usually) Game engines are fundamentally built on programming languages however. Even if a tree based system is in place such as Construct 2….

Exercise – 10mins What programming language do the following use: Construct 2: Gamemaker: Unity: Unreal Engine: Amazon Lumberyard: Android SDK: IOS SDK:

Exercise – 10mins What programming language do the following use: Construct 2: Tree based system(HTML5-based engine) Gamemaker: GML (Similar to C) Unity: C# Unreal Engine: C++ (+ proprietary blueprints – Creates C++) Amazon Lumberyard: C++ Android SDK: Officially Java, unofficially many other languages IOS SDK: Objective-C (Version of C)

What is a programming language A special computing based language that programmers use to develop software programs, scripts, instructions and games for computers and consoles to execute. Like all the spoken languages throughout the world there are many different programming languages

Application software for games: Game Engines: Gamemaker, Unity and Unreal etc Languages for games Hybrid languages: Java, Python, C# Compiled languages: C, C++ Interpreted languages: PHP, JavaScript Game engines and programming languages are intrinsically linked Examples of software/languages we can use to make games W

To compare let’s take a look at the programming language Java More than 3 billion devices run Java.  Java is used to develop apps for Google's Android OS, various Desktop Applications, such as media players, antivirus programs, Web Applications, Enterprise Applications (i.e. banking), and many more!

Netbeans IDE(Integrated Development Environment) Similar to Visual Studio used with the Unreal Engine and Unity Customize the coding environment exactly the way you want – choose your favorite theme, color, fonts, and all the other settings. Browse coding project through file structures. Compiles and runs our code at a button press Comprehensive debugging and error detection

Java Program Structure In the Java programming language: A program is made up of one or more classes A class contains one or more methods A method contains program statements A Java application always contains a method called main main is the first method called when a Java application starts

Java Program Structure // comments about the class public class MyProgram { } class header class body Comments can be placed almost anywhere

Java Program Structure // comments about the class public class MyProgram { } // comments about the method public static void main (String[] args) { } method header method body

Creating a Variable A variable in java is a useful container which a value can be stored in and used within the program. The stored value can then be changed (vary) throughout the program as it executes its instructions. A variable is created by writing a variable declaration in the program specifying the type of data that the variable can contain.

2. 1 Try this: Enter the following code 2.1 Try this: Enter the following code. This code will create a variable and then modify it while outputting both values:   class FirstVariable { public static void main(String[] args) { String message = "Initial value"; System.out.println( message ); message = "Modified value"; }

3. Data Types The most frequently used data types when declaring a variable are shown below: Data type: Description: Example: char A single Unicode character 'a' String Any number of Unicode characters "This is my String" Int An integer number, between -2.14 billion and + 2.14 billion 1000 float A floating-point number, with a decimal point 3.14159265f boolean A logical value of either true or false true Try this 3.1: Let’s create a program that creates, initializes and outputs variables of all the common data types

4. Creating constants Constants allow you to declare a variable that cannot be changed. Using the modifier "final" keyword before a data type lets the program know that no further changes are allowed. Convention dictates that we use capital letters when declaring constants. Try this 4.1 Using the code on the sheet let’s create a program that uses Constants Try this 4.2 Add a statement that attempts to change the value of a constant, recompile and see what happens.

5.1 Try this: Add comments to your constants program It is good practice when coding to leave comments to explain each section of your code. This helps yourself and other people to understand your code. If you'd like to display code over multiple lines use /* and */ writing your comments in- between. If you'd like to create a single line comment then start with //. Comments are completely ignored by the compiler. 5.1 Try this: Add comments to your constants program

6. Exercises - A

6. Exercises - B

6. Exercises - C