Introduction to Computer Games and Graphical System
description
Transcript of Introduction to Computer Games and Graphical System
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