Dr. Ken Hoganson, Kennesaw State University Introduction to the Torque Game Development System.

Slides:



Advertisements
Similar presentations
Networked Digital Whiteboard with Handwritten-Symbol Interpreter and Dynamic-Display-Object Creator Atsuhide Kobashi Henry M. Gunn High School Palo Alto,
Advertisements

Chapter 16 Graphical User Interfaces John Keyser’s Modifications of Slides by Bjarne Stroustrup
FireMonkey Deep Dive The Next Generation of Business Application Development.
1 Computer Graphics Chapter 2 Input Devices. RM[2]-2 Input Devices Logical Input Devices  Categorized based on functional characteristics.  Each device.
INTRODUCTION. Painting with numbers! Aspects Modeling Rendering Animation.
Programming System development life cycle Life cycle of a program
UNIX Chapter 01 Overview of Operating Systems Mr. Mohammad A. Smirat.
Relational Operators Control structures Decisions using “if” statements  2000 Prentice Hall, Inc. All rights reserved. Modified for use with this course.
3D Game Programming All in One By Kenneth C. Finney.
Based on slides created by Edward Angel
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
3D Rendering with JOGL Introduction to Java OpenGL Graphic Library By Ricardo Veguilla
INTRODUCTION TO SCRATCH. About Me Resources Scratch Website Learn Scratch Washington-Lee Computer.
Graphical User Interfaces A Quick Outlook. Interface Many methods to create and “interface” with the user 2 most common interface methods: – Console –
Chapter 17 Putting It All Together. Viewing the Preloader To view the preloader, 1.CTRL-Enter to test the movie. 2.View > Simulate Download.
Client/Server Architectures
V Avon High School Tech Club Agenda Old Business –Delete Files New Business –Week 16 Topics: Intro to HTML/CSS –Questions? Tech Club Forums.
Course Overview, Introduction to CG Glenn G. Chappell U. of Alaska Fairbanks CS 381 Lecture Notes Friday, September 5, 2003.
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
Execution Control with If/Else and Boolean Functions
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington GUI and the UI API COMP.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
David Streader Computer Science Victoria University of Wellington Copyright: David Streader, Victoria University of Wellington While loops and the UI API.
CSC 461: Lecture 41 CSC461: Lecture 4 Introduction to OpenGL Objectives: Development of the OpenGL API OpenGL Architecture -- OpenGL as a state machine.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
OpenGl Graphics Programming. Introduction OpenGL is a low-level graphics library specification. It makes available to the programmer a small set of geomteric.
Input and Interaction Lecture No. 4.
CHAPTER TEN AUTHORING.
1 Graphics CSCI 343, Fall 2015 Lecture 1 Introduction to Graphics Read: Chapter 1 of textbook.
Slide 1 Graphics Slide 2 Graphics A graphics package is a general purpose package used to draw pictures (graphics). Once produced, these can be saved.
Addison Wesley is an imprint of © 2010 Pearson Addison-Wesley. All rights reserved. Chapter 7 The Game Loop and Animation Starting Out with Games & Graphics.
CSC 343/642 Interactive 3D Game Development George J. Grevera, Ph.D. George J. Grevera, Ph.D.
Ch 2 Graphics Programming page 1 CSC 367 Coordinate Systems (2.1.2) Device coordinates, or screen coordinates (pixels) put limitations on programmers and.
4.1 Advanced Operating Systems Desktop Scheduling You are running some long simulations. In the mean time, why not watch an illegally downloaded Simpsons.
1 Computer Graphics Week2 –Creating a Picture. Steps for creating a picture Creating a model Perform necessary transformation Lighting and rendering the.
CSCE 121: Introduction to Program Design and Concepts, Honors Dr. J. Michael Moore Spring 2015 Set 15: GUIs 1.
Dr. Ken Hoganson, Kennesaw State University Introduction to Torque Script Programming.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Variables. Todays Lesson  In todays lesson you are going to:  Learn to use variables  Learn to ask for user input  Learn to save the users response.
1 Perception and VR MONT 104S, Fall 2008 Lecture 21 More Graphics for VR.
Introduction to Computer Graphics 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 711,  ex 2271 
X-WindowsP.K.K.Thambi The X Window System Module 5.
Room and Area Revit® Architecture C H A P T E R OBJECTIVES Understand and create Rooms and Room Volumes. Understand and create Gross Building and.
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Introduction to Interactive Media Interactive Media Tools: Authoring Applications.
1 Graphics CSCI 343, Fall 2015 Lecture 6 Viewing, Animation, User Interface.
Imagine Creating Software Without a Single Line of Code!
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 4: Events Programming with Alice and Java First Edition by John Lewis.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
JavaScript 101 Introduction to Programming. Topics What is programming? The common elements found in most programming languages Introduction to JavaScript.
Visualization Recreate the ping pong scene in 3D using ball and racket coordinates.
- How to draw a clear distinction between a client and a server(there is often no clear distinction) - A server may continuously act as a client - Distinction.
Introduction  Program: Set of sequence instruction that tell the computer what to do.  Software: A collection of programs, data, and information. 
CGS 3066: Web Programming and Design Spring 2016 Introduction to JavaScript.
CS320n –Visual Programming Execution Control with If / Else and Boolean Functions (Slides 6-2-1) Thanks to Wanda Dann, Steve Cooper, and Susan Rodger for.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
Reference: What is it? A multimedia python library – Window Management – Graphics geometric shapes bitmaps (sprites) – Input Mouse Keyboard.
Computer Graphics (Fall 2003) COMS 4160, Lecture 5: OpenGL 1 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
Programming Logic and Design Seventh Edition Chapter 12 Event-Driven GUI Programming, Multithreading, and Animation.
Computer Graphics Lecture 1 Introduction to Computer Graphics
Computer Graphics.
Introduction to Computer CC111
Unit 20 Software Part 2.
Introduction CSC 111.
Unit 20 Software Part 2.
General Computer Science for Engineers CISC 106 Lecture 03
Presentation transcript:

Dr. Ken Hoganson, Kennesaw State University Introduction to the Torque Game Development System

Dr. Ken Hoganson, Kennesaw State University Elements of a 3-D game Game Engine Graphics, timing, input events, 3-D rendering, networking A basic processing engine (not unlike Gamemaker 7 and its steps) Many libraries Includes graphics libraries that do the math to create 3-D graphics and render objects and textures with lighting effects.

Dr. Ken Hoganson, Kennesaw State University Elements of a 3-D game: Scripts The programming language. Torque is like extended C++ (as is Gamemaker and other game script systems) Scripts are the programs and modules that make the game. Torque does not have the “drag and drop” easy interface that Gamemaker uses. Both more powerful, and at times harder to develop in than Gamemaker.

Dr. Ken Hoganson, Kennesaw State University Elements of a 3-D game: GUI 3D Models, lighting, shading Texture Music

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Flow Control The game-engine cycle (each game “step”) Dispatch Widows mouse movement events to the GUI Process other input events Calculate elapsed time based on the game time scale Manage time processing for server (game) objects Check for server packet transmission Advance game event time Process time for game objects Check for object network packet transmission Render the current frame (draw and paint the screen) Check for network time-outs

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Platform Layer Cross-platform (OS & processor) capability Design one game Generate executable for different platforms without revising the game. Windows Xwindows MacOS

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Console The compiler & interpreter Both compiler and interpreter Access to functions and libraries that are the building-blocks of Torque games Torque script language: very similar to C++

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Input Model Processing of user inputs (mouse, keyboard, joystick, etc) Like Gamemaker 7, inputs can trigger events Scripts and object interactions can also trigger events The “event” is not aware of how it was triggered: indepedence/flexibility. Gamemaker 7 also allows scripts to trigger events as if a key/mouse was pressed. Uses an “action-map” for processing inputs/activating the correct events If an input does not match with a game input, it is handed off to the OS GUI.

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Event Categories InputEvent (keyboard) MouseMoveEvent TimeEvent QuitEvent ConsoleEvent PacketReceive-Event ConnectedReceive-Event ConnectedAccept-Event ConnectedNotify-Event

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Simulation The internal model of the game Uses time events and steps Image on screen is a projection of the simulation model With platform layer, is platform independent Speed of game/processor/screen resolution used to determine screen refresh

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Resource Resource manager Files, bitmaps, shapes, textures, fonts, etc. Data structure/list management for add/delete/access

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Graphics Torque uses OpenGL graphics API ◦ Uses basic OpenGL model ◦ Uses OpenGL graphics routines with mods Torque includes extentions to OpenGL Creates Torque-specific powerful game primitives as building-blocks

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: 3-D Rendering Modular system Extendable Classes to define the “camera” orientation and field- of-view, define the viewport, Screen image is a projection of the game-simulation translated for 3-D effects Decisions to determine which objects to project, their orientation/shading-lighting etc. Computation intensive – but the programmer does not have to work or program the math for 3-D graphics

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Terrain Library functions To render sky, clouds, fog, terrain, water etc. Demo is impressive

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Interior Another set of library functions Buildings, caves etc. Lighting, textures Objects inside interiors

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Shape & Animation Another set of library functions Animation Rendering Animations are thread driven Not completely independent threads – but threads whose execution/transition is controlled by the Torque simulation engine

Dr. Ken Hoganson, Kennesaw State University Torque Game Engine: Networking Client/server model Multi-player – up to 128 clients per server Bandwidth management ◦ Updates objects only when necessary ◦ Changes are sent with minimal data: the bulk of the work is done on the client machine. Transmissions are like event triggers to the clients to update their displays

Dr. Ken Hoganson, Kennesaw State University Example Torque Script // ======================================================== // geometry.cs // This program adds calculates the distance around the perimiter of // a quadrilateral, as well as the area of the quadrilateral and outputs the // values. It recognizes whether the quadrilateral is a square or a rectangle // modifies its output accordingly. Program assumes that all angles in the // quadrilateral are equal. Demonstrates the if-else statement. // ========================================================= function calcAndPrint(%theWidth, %theHeight) // // This function does the shape analysis and prints the result. // PARAMETERS: %theWidth - horizontal dimension // %theHeight - vertical dimension // RETURNS: none //

Dr. Ken Hoganson, Kennesaw State University Example Torque Script function calcAndPrint(%theWidth, %theHeight) { // calculate perimeter %perimeter = 2 * (%theWidth+%theHeight); // calculate area %area = %theWidth * %theHeight; // first, setup the dimension output string %prompt = "For a " by " quadrilateral, area and perimeter of "; // analyze the shape's dimensions and select different // descripters based on the shape's dimensions if (%theWidth == %theHeight) // if true, then it's a square %prompt = "square: "; else // otherwise it's a rectangle %prompt = "rectangle: "; // always output the analysis print " %perimeter); }

Dr. Ken Hoganson, Kennesaw State University Example Torque Script function main() { // // Entry point for the program. // // calculate and output the results for three // known dimension sets calcAndPrint(22, 26); // rectangle calcAndPrint(31, 31); // square calcAndPrint(47, 98); // rectangle }

Dr. Ken Hoganson, Kennesaw State University Torque on the Web Claim 25 major games published based on the Torque game engine Resources and etc. Garagegames has an intenational presence, exhibiting at the major game conferences and expos.

Copyright © 2008, 2009, Dr. Ken Hoganson End of Lecture End Of Today’s Lecture.

CS Dr. Ken Hoganson, Copyright © 2009 This slide intentionally left blank