Introduction to Computer Games and Graphical System Lecture #1: Lecture #1: Introduction, Overview Introduction, Overview Xu.Zhu Xu.Zhu SIT, Shanghai,

Slides:



Advertisements
Similar presentations
Lecture 0: Course Overview
Advertisements

HCI SEMESTER PROJECT PROJECTS  Project #2 (due 2/20)  Find an interface that can be improved  Interview potential clients  Identify an HCI concept.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Introduction Week 1, Wed Jan 5.
FUNDAMENTALS OF PROGRAMMING SM1204 Semester A 2010/2011.
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Fall 2011.
CSC 171 – FALL 2004 COMPUTER PROGRAMMING LECTURE 0 ADMINISTRATION.
3D Game Programming All in One By Kenneth C. Finney.
CSS-304: Computer Systems Interface Duisebekov Zhasdauren Faculty of Engineering Suleyman Demirel University.
Introduction to Computer Graphics “Genius is 1% inspiration, and 99% perspiration.” Thomas Alva Edison CSE 373, Spring 2008 Belaid Moa
CSCD 330 Network Programming Winter 2012 Lecture 1 - Course Details.
SE 350 – Programming Games Lecture 1: Introduction Lecturer: Gazihan Alankuş Please look at the last two slides for assignments (marked with TODO) 2/10/20121.
Pong by Atari, released to public 1975 CSE 381 – Advanced Game Programming Introduction.
Gearbox Software PRODUCTION PIPELINE – JOBS TITLES – JOB DESCRIPTIONS.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Spring.
CMPD 434 MULTIMEDIA AUTHORING
CS 450: COMPUTER GRAPHICS COURSE AND SYLLABUS OVERVIEW SPRING 2015 DR. MICHAEL J. REALE.
Administrative IMGD Topics Background Admin Stuff Motivation Objectives Class material! 2.
COMP 321: Introduction to Computer Systems Scott Rixner Alan L. Cox
Lecture 7: Objects and Interaction 1  Principles of Interactive Graphics  CMSCD2012  Dr David England, Room 718,  ex 2271 
AGD: 1. Preliminaries1 Objective o to give some background on the course Animation and Games Development , Semester 1, Who we.
CSE Graphical User Interface Design & Implementation Jason Murphy Lecture 1 - Introduction.
Welcome to CSC 341/CSC 630 Introduction to Computer Graphics  Instructor  Susanna Wei  Office: BL 214  Phone: (610) 
CSCI 347 – Data Mining Lecture 01 – Course Overview.
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
CS 638, Fall 2001 CS 638: Computer Games Technology Fall 2001.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 16 Computer Graphics Course Introduction.
CS451 Computer Graphics JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY.
CS426 Game Programming II Dan Fleck. Why games?  While the ideas in this course are demonstrated programming games, they are useful in all parts of computer.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
CO1301: Games Concepts Dr Nick Mitchell (Room CM 226) Material originally prepared by Laurent Noel.
COMP Introduction to Programming Yi Hong May 13, 2015.
James Tam CPSC 203: Introduction To Computers (Independent Study) James Tam.
Course Introduction Software Engineering
20-753: Fundamentals of Web Programming 1 Lecture 1: Introduction Fundamentals of Web Programming Lecture 1: Introduction.
CS 425 Game Programming I Jan M. Allbeck. Outline  Introductions  Expectations  Tools and setup  Quick introduction to C++ and Visual Studio  What.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
CSE 581: Interactive Computer Graphics Spring 2012, UG 4 Tuesday, Thursday – 9:00AM – 10:18AM DL 0317 Raghu Machiraju Slides: Courtesy - Prof. Huamin Wang,
CSE 113 Introduction to Computer Programming Lecture slides for Week 1 Monday, August 29 th, 2011 Instructor: Scott Settembre.
CPSC 121: Models of Computation Unit 0 Introduction George Tsiknis Based on slides by Patrice Belleville and Steve Wolfman.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
CSCE 1030 Computer Science 1 First Day. Course Dr. Ryan Garlick Office: Research Park F201 B –Inside the Computer Science department.
CSCD 330 Network Programming Winter 2015 Lecture 1 - Course Details.
GAM666 – Introduction To Game Programming ● Programmer's perspective of Game Industry ● Introduction to Windows Programming ● 2D animation using DirectX.
CS151 Introduction to Digital Design Noura Alhakbani Prince Sultan University, College for Women.
© 2014 International Technology and Engineering Educators Association STEM  Center for Teaching and Learning™ Game Art and Design Unit 2 Lesson 1 Skills.
Dr. Jeff Cummings MIS323 Business Telecommunications.
Data Structures and Algorithms in Java AlaaEddin 2012.
Computer Networks CNT5106C
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Prof. James A. Landay University of Washington Winter 2009 Introduction & Course Overview CSE 441 – Advanced HCI January 6, 2009.
Administrative IMGD Topics Background Admin Stuff Motivation Objectives Class material! 2.
CSCD 433/533 Advanced Computer Networks Lecture 1 Course Overview Spring 2016.
Computer Network Fundamentals CNT4007C
Introduction to Programming
Computer Networks CNT5106C
CS4610/7610: Introduction to Computer Graphics
Introduction & Course Overview CS490f – Part II
Course Information Mark Stanovich Principles of Operating Systems
Get thinking: What is the problem, issue or challenge you want to take on? 
Introduction and Overview
Welcome to CS 1010! Algorithmic Problem Solving.
Crowd Simulation (INFOMCRWS) - Course Introduction
Welcome to CS 1010! Algorithmic Problem Solving.
CO1301: Games ncepts 2016 Lecture 2
EECE 310 Software Engineering
Welcome to CS 1301! Principles of Programming I.
CSS-304: Computer Systems Interface
Human Media Multicore Computing Lecture 1 : Course Overview
Computer Networks CNT5106C
Presentation transcript:

Introduction to Computer Games and Graphical System Lecture #1: Lecture #1: Introduction, Overview Introduction, Overview Xu.Zhu Xu.Zhu SIT, Shanghai, China SIT, Shanghai, China

2 Today Introduction and Course Overview Introduction and Course Overview

3 Reasons to participate Reasons to participate More fun for me and you More fun for me and you You learn more You learn more Pass the quizzes in class Pass the quizzes in class How to participate How to participate Ask questions Ask questions Make comments Make comments Class Participation

People Instructor: Instructor: Okan Arikan Okan Arikan Office Hours Th 1:00pm-2:00pm Office Hours Th 1:00pm-2:00pm Location ACES Location ACES TA: TA: Paul Arthur Navr á til Paul Arthur Navr á til Office Hours Fri: 1:00pm-2:00pm Office Hours Fri: 1:00pm-2:00pm Location: TBA Location: TBA

Course Outline 1 Brief introduction to games 1 Brief introduction to games Give a brief introduction to the definition of game, main components, game categories, basic process on developing a game, some game's demo. Give a brief introduction to the definition of game, main components, game categories, basic process on developing a game, some game's demo. 2 Java environment configuration and review the basic programming method 2 Java environment configuration and review the basic programming method Give a reason on why java. Introduce jdk of SUN and review basic programming method, OO analysis and OO design, quick view on coding tips and let knows how an applet works. Give a reason on why java. Introduce jdk of SUN and review basic programming method, OO analysis and OO design, quick view on coding tips and let knows how an applet works. 3 Basic graphic function on Java 3 Basic graphic function on Java How to paint words and graphics in java with jdk. How to paint words and graphics in java with jdk. 4 How to build up an animation 4 How to build up an animation Conception of animation and list some public tools for animation. How to control animation in java. Conception of animation and list some public tools for animation. How to control animation in java.

Course Outline 5 Interaction and sound 5 Interaction and sound Conception of interaction and how to handle the mouse and keyboard event. Creating / playing, physics of sound. Sound type supported by java. Conception of interaction and how to handle the mouse and keyboard event. Creating / playing, physics of sound. Sound type supported by java. 6 Game design 6 Game design How to control character animation in java. Show the conception of collision?? and how to implementation with some little demo. How to control character animation in java. Show the conception of collision?? and how to implementation with some little demo. 7 Game AI and conception of 2.5d 7 Game AI and conception of 2.5d Creating characters, path planning, generating motion. Creating characters, path planning, generating motion. Instructation to 2.5d game with some demo. Instructation to 2.5d game with some demo d game design 8 2.5d game design Difference between 2d and 2.5d and key point of 2.5d. Difference between 2d and 2.5d and key point of 2.5d. Key elements of 2.5d games and the implementation of 2.5d. Key elements of 2.5d games and the implementation of 2.5d.

Course Outline 9 Networking: Playing together 9 Networking: Playing together Protocols for gaming, architectures, how to connect 2 pc in java. Protocols for gaming, architectures, how to connect 2 pc in java. 10 Conception of 3d game 10 Conception of 3d game Brief introduction to the 3d game conception and tell the difference between 2.5d and 3d games. 3d game software system. Game Play Layer, Engine Layer, System Layer. Brief introduction to the 3d game conception and tell the difference between 2.5d and 3d games. 3d game software system. Game Play Layer, Engine Layer, System Layer. 11 Java opengl engine 11 Java opengl engine List common java opengl engine. Analysis difference between engines. Show how to use this engine build java 3d games. “ Standard ” lighting and shading, Modeling techniques, Vectors, matrices, geometric reasoning, transformations, shading, texture and other Maps. List common java opengl engine. Analysis difference between engines. Show how to use this engine build java 3d games. “ Standard ” lighting and shading, Modeling techniques, Vectors, matrices, geometric reasoning, transformations, shading, texture and other Maps.

Course Outline 12 3d model design 12 3d model design Brief introduce to 3dsMax/Maya/Softimage Brief introduce to 3dsMax/Maya/Softimage 13 Create simple 3d game 13 Create simple 3d game Show how to combine engine, model to create a simple 3d game. Show how to combine engine, model to create a simple 3d game. 14 3d game design and review the whole course 14 3d game design and review the whole course Continue create 3d game. At the last of the class, give a fully review on the whole course. Continue create 3d game. At the last of the class, give a fully review on the whole course.

Course Outline Game brief description Game brief description Real-time graphics Real-time graphics Lighting and shading, modeling, data management Lighting and shading, modeling, data management Animation Animation Physics, character animation Physics, character animation AI: Game term for behavior AI: Game term for behavior Creating characters, path planning, generating motion Creating characters, path planning, generating motion Networking: Playing together Networking: Playing together Protocols for gaming, architectures, managing bandwidth Protocols for gaming, architectures, managing bandwidth Sound Sound Creating / playing, physics of sound Creating / playing, physics of sound

Web Page

The Interactive Entertainment Industry Hardware makers produce gaming hardware Hardware makers produce gaming hardware eg Sony, Nintendo, Microsoft, … eg Sony, Nintendo, Microsoft, … Game Developers create games Game Developers create games eg Electronic Arts (EA), Epic, ID, thousands of others eg Electronic Arts (EA), Epic, ID, thousands of others Publishers publish games Publishers publish games eg Sony, Nintendo, EA, … eg Sony, Nintendo, EA, … The model is similar to books or movies The model is similar to books or movies One group creates it, another distributes it, and another supplies the underlying infrastructure One group creates it, another distributes it, and another supplies the underlying infrastructure

Flavors of Game Developer Game Designers decide on the format and behavior of the game Game Designers decide on the format and behavior of the game Artists design models, textures, animations and otherwise are responsible for the look of the game Artists design models, textures, animations and otherwise are responsible for the look of the game Level Designers create the spaces in which the game takes place Level Designers create the spaces in which the game takes place Audio Designers are responsible for all the sounds used in the game Audio Designers are responsible for all the sounds used in the game Programmers write code, to put it all together, and tools, to make everyone else ’ s job simpler Programmers write code, to put it all together, and tools, to make everyone else ’ s job simpler And others: Production, management, marketing, quality assurance And others: Production, management, marketing, quality assurance

Disclaimer Game development requires more than graphics, AI and networking Game development requires more than graphics, AI and networking Design, Art, Software engineering, Production, Audio, … Design, Art, Software engineering, Production, Audio, … This course won ’ t formally cover any of that stuff This course won ’ t formally cover any of that stuff Nor will it give you much experience with middleware, console programming, mobile gaming, contract negotiation, … Nor will it give you much experience with middleware, console programming, mobile gaming, contract negotiation, …

Books Official textbook: “” Official textbook: “” Other useful books: Other useful books: The OpenGL Programming Guide The OpenGL Programming Guide Mathematics for 3D Game Programming & Computer Graphics Mathematics for 3D Game Programming & Computer Graphics AI Game Development – Synthetic Creatures with Learning and Reactive Behaviors AI Game Development – Synthetic Creatures with Learning and Reactive Behaviors Core Techniques & Algorithms in Game Programming Core Techniques & Algorithms in Game Programming “ Game Programming Gems ” and the sequels and offshoots have many useful things “ Game Programming Gems ” and the sequels and offshoots have many useful things 3D Game Engine Design 3D Game Engine Design

Online Resources Google – Use it Google – Use it

16 Academic Honesty If you use an external resource cite it clearly! If you use an external resource cite it clearly! Don ’ t do things that would be considered dishonest... if in doubt ask. Don ’ t do things that would be considered dishonest... if in doubt ask. Cheating earns you: Cheating earns you: An ‘ F ’ in the class and An ‘ F ’ in the class and Getting reported to the University Getting reported to the University No exceptions. No exceptions.

What I assume you know Java J2se Java J2se I assume you are competent with at least one user interface toolkit eg: FLTK, MFC, Glut, Gtk, … I assume you are competent with at least one user interface toolkit eg: FLTK, MFC, Glut, Gtk, … Make sure it ’ s supported on Windows Make sure it ’ s supported on Windows

Grading Midterm and final Midterm and final A Homework A Homework Project Project

Project The project is to create a game The project is to create a game This is a competition This is a competition Best project will win Best project will win A good grade A good grade A prize !!! A prize !!! Respect and admiration of your peers Respect and admiration of your peers

Working in Groups Working in groups is not easy, and it is an acquired skill Working in groups is not easy, and it is an acquired skill I want you to form groups by next Thursday I want you to form groups by next Thursday There will be some group evaluation exercises through the semester There will be some group evaluation exercises through the semester Warning !!! Warning !!!

Timeline Something due roughly every 2 weeks throughout the semester Something due roughly every 2 weeks throughout the semester First stage: Teams & Design First stage: Teams & Design

Tools The only requirement is that your project run on Windows The only requirement is that your project run on Windows We strongly prefer OpenGL We strongly prefer OpenGL The lectures will assume OpenGL, and we know nothing about DirectX The lectures will assume OpenGL, and we know nothing about DirectX Choose any UI toolkit: Natural options are FLTK, MFC, Glut, … Choose any UI toolkit: Natural options are FLTK, MFC, Glut, … We are most familiar with FLTK, but it has some (non-debilitating) issues for real-time interactive programming We are most familiar with FLTK, but it has some (non-debilitating) issues for real-time interactive programming

More Tools Models and art will be an issue Models and art will be an issue Building models by hand might be the most efficient option Building models by hand might be the most efficient option You are free to use any available tools, provided you acknowledge it You are free to use any available tools, provided you acknowledge it Open source modelers Open source modelers Blender, Wings 3D etc. Blender, Wings 3D etc. Don ’ t be scared to write small tools if you think it will make your project easier Don ’ t be scared to write small tools if you think it will make your project easier You are not judged on art You are not judged on art

First Stage Due Tue Jan 31 st Due Tue Jan 31 st First stage, 1 st part: Design a game, put it on paper First stage, 1 st part: Design a game, put it on paper Group members Group members Outline of game objectives Outline of game objectives Sketches of potential looks Sketches of potential looks Task distribution Task distribution You can even borrow something from someone else You can even borrow something from someone else