introduction to computer games and graphical system lecture #1: lecture #1: introduction, overview...

21
Introduction to Computer Introduction to Computer Games and Graphical System Games and Graphical System Lecture #1: Lecture #1: Introduction, Overview Introduction, Overview Xu.Zhu Xu.Zhu SIT, Shanghai, China SIT, Shanghai, China Email: [email protected] Email: [email protected]

Upload: samson-mcgee

Post on 24-Dec-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Introduction to Computer Introduction to Computer Games and Graphical System Games and Graphical System

Lecture #1: Lecture #1: Introduction, Overview Introduction, Overview

Xu.ZhuXu.Zhu SIT, Shanghai, ChinaSIT, Shanghai, China

Email: [email protected]: [email protected]

22

TodayToday

Introduction and Course OverviewIntroduction and Course Overview

33

Reasons to participateReasons to participate More fun for me and youMore fun for me and you

You learn moreYou learn more

Pass the quizzes in classPass the quizzes in class

How to participateHow to participate Ask questionsAsk questions

Make comments Make comments

Class ParticipationClass Participation

Course OutlineCourse Outline 1 Brief introduction to games1 Brief introduction to games Give a brief introduction to the definition of game , Give a brief introduction to the definition of game ,

main components , game categories , basic process on main components , game categories , basic process on developing a game , some game's demo.developing a game , some game's demo.

2 Java environment configuration and review the basic 2 Java environment configuration and review the basic programming method programming method

Give a reason on why java . Introduce jdk of SUN Give a reason on why java . Introduce jdk of SUN and review basic programming method , OO analysis and and review basic programming method , OO analysis and OO design , quick view on coding tips and let knows how OO design , quick view on coding tips and let knows how an applet works.an applet works.

3 Basic graphic function on Java3 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 Conception of animation and list some public tools

for animation. How to control animation in java .for animation. How to control animation in java .

Course OutlineCourse Outline

5 Interaction and sound 5 Interaction and sound Conception of interaction and how to handle the mouse and Conception of interaction and how to handle the mouse and

keyboard event. Creating / playing, physics of sound. Sound type keyboard event. Creating / playing, physics of sound. Sound type supported by java.supported by java.

6 Game design6 Game design How to control character animation in java. Show the How to control character animation in java. Show the

conception of collision?? and how to implementation with some little conception of collision?? and how to implementation with some little demo. demo.

7 Game AI and conception of 2.5d7 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.

8 2.5d game design8 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 OutlineCourse Outline

9 Networking: Playing together9 Networking: Playing together Protocols for gaming, architectures, how to connect Protocols for gaming, architectures, how to connect

2 pc in java.2 pc in java.

10 Conception of 3d game 10 Conception of 3d game Brief introduction to the 3d game conception and Brief introduction to the 3d game conception and

tell the difference between 2.5d and 3d games. 3d game tell the difference between 2.5d and 3d games. 3d game software system. Game Play Layer, Engine Layer, System software system. Game Play Layer, Engine Layer, System Layer.Layer.

11 Java opengl engine 11 Java opengl engine List common java opengl engine. Analysis difference List common java opengl engine. Analysis difference

between engines. Show how to use this engine build java between engines. Show how to use this engine build java 3d games. “Standard” lighting and shading, Modeling 3d games. “Standard” lighting and shading, Modeling techniques, Vectors, matrices, geometric reasoning, techniques, Vectors, matrices, geometric reasoning, transformations, shading, texture and other Maps.transformations, shading, texture and other Maps.

Course OutlineCourse Outline

12 3d model design12 3d model design Brief introduce to 3dsMax/Maya/SoftimageBrief introduce to 3dsMax/Maya/Softimage 13 Create simple 3d game13 Create simple 3d game Show how to combine engine, model to Show how to combine engine, model to

create a simple 3d game.create a simple 3d game.

14 3d game design and review the whole course14 3d game design and review the whole course Continue create 3d game. At the last of the Continue create 3d game. At the last of the

class , give a fully review on the whole course.class , give a fully review on the whole course.

The Interactive Entertainment The Interactive Entertainment IndustryIndustry

Hardware makers produce gaming Hardware makers produce gaming hardwarehardware eg Sony, Nintendo, Microsoft, …eg Sony, Nintendo, Microsoft, …

Game Developers create gamesGame Developers create games eg Electronic Arts (EA), Epic, ID, thousands of otherseg Electronic Arts (EA), Epic, ID, thousands of others

Publishers publish gamesPublishers publish games eg Sony, Nintendo, EA, …eg Sony, Nintendo, EA, …

The model is similar to books or The model is similar to books or moviesmovies One group creates it, another distributes it, and another One group creates it, another distributes it, and another

supplies the underlying infrastructuresupplies the underlying infrastructure

Flavors of Game DeveloperFlavors of Game Developer

Game Designers Game Designers decide on the format and behavior of the decide on the format and behavior of the gamegame

ArtistsArtists design models, textures, animations and otherwise design models, textures, animations and otherwise are responsible for the look of the gameare responsible for the look of the game

Level DesignersLevel Designers create the spaces in which the game takes create the spaces in which the game takes placeplace

Audio DesignersAudio Designers are responsible for all the sounds used in are responsible for all the sounds used in the gamethe game

ProgrammersProgrammers write code, to put it all together, and tools, to write code, to put it all together, and tools, to make everyone else’s job simplermake everyone else’s job simpler

And others: Production, management, marketing, quality And others: Production, management, marketing, quality assuranceassurance

DisclaimerDisclaimer

Game development requires more than Game development requires more than graphics, AI and networkinggraphics, AI and networking Design, Art, Software engineering, Design, Art, Software engineering,

Production, Audio, …Production, Audio, … This course won’t formally cover any of This course won’t formally cover any of

that stuffthat stuff Nor will it give you much experience with Nor will it give you much experience with

middleware, console programming, mobile middleware, console programming, mobile gaming, contract negotiation, …gaming, contract negotiation, …

BooksBooks

Official textbook: “”Official textbook: “”

Other useful books:Other useful books: The OpenGL Programming GuideThe OpenGL Programming Guide Mathematics for 3D Game Programming & Computer Mathematics for 3D Game Programming & Computer

Graphics Graphics AI Game Development – Synthetic Creatures with AI Game Development – Synthetic Creatures with

Learning and Reactive Behaviors Learning and Reactive Behaviors Core Techniques & Algorithms in Game ProgrammingCore Techniques & Algorithms in Game Programming ““Game Programming Gems” and the sequels and Game Programming Gems” and the sequels and

offshoots have many useful thingsoffshoots have many useful things 3D Game Engine Design3D Game Engine Design

Online ResourcesOnline Resources

Google – Use itGoogle – Use it www.gamasutra.comwww.gamasutra.com www.gamedev.netwww.gamedev.net www.flipcode.net/www.flipcode.net/

1616

Academic HonestyAcademic Honesty If you use an external resource cite it If you use an external resource cite it

clearly!clearly! Don’t do things that would be Don’t do things that would be

considered dishonest... if in doubt considered dishonest... if in doubt ask.ask.

Cheating earns you:Cheating earns you: An ‘F’ in the class andAn ‘F’ in the class and Getting reported to the UniversityGetting reported to the University No exceptions.No exceptions.

What I assume you knowWhat I assume you know

Java J2seJava J2se I assume you are competent with at I assume you are competent with at

least one user interface toolkit eg: least one user interface toolkit eg: FLTK, MFC, Glut, Gtk, …FLTK, MFC, Glut, Gtk, … Make sure it’s supported on WindowsMake sure it’s supported on Windows

GradingGrading

Midterm and finalMidterm and final A HomeworkA Homework ProjectProject

ProjectProject

The project is to create a gameThe project is to create a game This is a competitionThis is a competition

Best project will winBest project will winA good gradeA good gradeA prize !!!A prize !!!Respect and admiration of your Respect and admiration of your peerspeers

Working in GroupsWorking in Groups

Working in groups is not easy, and it Working in groups is not easy, and it is an acquired skillis an acquired skill

I want you to form groups by next I want you to form groups by next ThursdayThursday

There will be some group evaluation There will be some group evaluation exercises through the semesterexercises through the semester

Warning !!!Warning !!!

TimelineTimeline

Something due roughly every 2 Something due roughly every 2 weeks throughout the semesterweeks throughout the semester

First stage: Teams & DesignFirst stage: Teams & Design

ToolsTools

The only requirement is that your The only requirement is that your project run on Windowsproject run on Windows

We strongly prefer OpenGLWe strongly prefer OpenGL The lectures will assume OpenGL, and we know nothing The lectures will assume OpenGL, and we know nothing

about DirectXabout DirectX

Choose any UI toolkit: Natural Choose any UI toolkit: Natural options are FLTK, MFC, Glut, …options are FLTK, MFC, Glut, … We are most familiar with FLTK, but it has some (non-We are most familiar with FLTK, but it has some (non-

debilitating) issues for real-time interactive programmingdebilitating) issues for real-time interactive programming

More ToolsMore Tools

Models and art will be an issueModels and art will be an issue Building models by hand might be the most efficient optionBuilding models by hand might be the most efficient option You are free to use any available tools, provided you You are free to use any available tools, provided you

acknowledge itacknowledge it Open source modelersOpen source modelers

Blender , Wings 3D etc.Blender , Wings 3D etc.

Don’t be scared to write small tools if Don’t be scared to write small tools if you think it will make your project you think it will make your project easiereasier

You are not judged on artYou are not judged on art

First StageFirst Stage

Due Tue Jan 31Due Tue Jan 31stst

First stage, 1First stage, 1stst part: Design a game, put part: Design a game, put it on paperit on paper Group membersGroup members Outline of game objectivesOutline of game objectives Sketches of potential looksSketches of potential looks Task distributionTask distribution You can even borrow something from You can even borrow something from

someone elsesomeone else