240 likes | 371 Views
CSE 381 – Advanced Game Programming Introduction. Pong by Atari, released to public 1975. Who am I?. Richard McKenna E-mail: richard@cs.stonybrook.edu Work phone: 631-632-9564 Office Location: CS Room 1436 Office hours: Mondays 12pm-2pm Wednesdays 11am-1pm and by appointment
E N D
CSE 381 – Advanced Game ProgrammingIntroduction Pong by Atari, released to public 1975
Who am I? Richard McKenna E-mail:richard@cs.stonybrook.edu Work phone: 631-632-9564 Office Location: CS Room 1436 Office hours: Mondays 12pm-2pm Wednesdays 11am-1pm and by appointment Personal Link:http://www.cs.stonybrook.edu/~richard
Course Web Page • Home page: • http://www.cs.stonybrook.edu/~cse381 • announcements • syllabus • schedule • Blackboard (http://blackboard.stonybrook.edu) • message boards • grades
What is this course about? • This course explores the concepts and technologies behind making 3D, networked games. This will include the examination of game engine creation as well as the use of middleware to build graphically sophisticated game systems. • Prerequisite: CSE 380 or CSE 328
Course Topics • Using 3D Graphics • Lighting Techniques • Meshes & Materials • Texturing • Skeletal Animation • Shading • Game Engine Creation • Game Engine Scripting Languages • 3D World Collision detection algorithms • Peer-to-Peer Networked Gaming • Client/Server Networked Gaming • Special Effects in Games • Creating Worlds • MMORPG Architecture (conceptually only)
Course Goals • At the end of the course you should have the following knowledge and skills: • Fluency in the vocabulary of graphical and networked game programming • An understanding of the technologies underlying modern graphical game systems. • Skill in the use of middleware to build graphically powerful game systems. • The ability to piece together various established game technologies such that they may form a cohesive unit.
What will not be covered? • Windows Programming • Game Timing • Game Input Programming • Game Sound & Music Programming • Game Design & Gameplay issues
Lab Facilities • CS Windows Lab • http://www.cs.stonybrook.edu/facilities/windowslab • CS 2114, CS 2120, CS 2126, & CS 2129 • all registered students have accounts • Room combo • soon to follow
Course Textbook Game Coding Complete, 4th Editionby Mike McShaffry & David GrahamPublished by CengageISBN 978-1133776574 http://www.mcshaffry.com/GameCode/
Good Reference Course Textbooks • Game Engine Architecture • by Jason Gregory • Published by A K Peters, 2009 • ISBN 978-1568814131 Real-Time Collision Detection by Christer Ericson Published by Morgan Kaufmann, 2005 ISBN 978-1558607323
Good Reference Course Textbooks • Best of Game Programming Gems • by Mark DeLoura • Published by Cengage • ISBN 978-1584505716 3D Graphics for Game Programming by JungHyun Han Published by Chapman & Hall ISBN 978-1558607323
Your First Assignment • Game Coding Complete, 4th Editionby Mike McShaffry & David Graham Read Chapter 1 for Wednesday Note Reading Assignments on class schedule page
How are grades computed? • Midterm Exam: 20% • Final Exam 20% • Team 1 Project Assignments: 30% • Team 2 Project Assignments: 30% _____ 100%
AN IMPORTANT NOTE ON ACADEMIC DISHONESTY • All work you submit for homework, projects, or exams MUST be your own work. • If you cheat or aid someone in cheating, you will automatically fail this course and be brought up on charges of academic dishonesty without warning. • NO EXCEPTIONS WILL BE MADE!
Game Technologies • Games have become amazingly complex • Use many different technologies seamlessly
My Criteria for Choosing Game Technologies • Is it high quality? • Can it do all the things I want to do? • Can it do them well, i.e. efficiently ? • Is it easy to use? • Is it widely used? • important for distribution & usage • reading file formats • Is it well supported/documented • tutorials and communities are important • Is it free/affordable?
What types of tools might we need to build an FPS? • Game Engine • optimize commonly used functions (like drawing world) • bring everything together (place things in world) • IDE • for writing engine & game code • Terrain modeler • Shape modeler • Animator • Texture Editor • Building/Interior modeler (maybe)
We’re programmers • So we care about 2 tools: • Game Engine • optimize commonly used functions (like drawing world) • bring everything together (place things in world) • Author’s code base + your code • IDE • for writing engine & game code
Our Tools • C++ • C# • DirectX & HLSL • Visual Studio 2012 • The Gimp • Blender3D • And of course, SVN!!!
Unity3D • For Team Project #2
For Visual Studio • To get your own copy: • Go to DreamSpark and login (first Register if you don't have an account of course) • http://it.stonybrook.edu/software/dreamspark-premium • Click on "To order new software click here" link • From the "Search by product titles" combo box, select "Visual Studio Professional Edition and it to your cart • Check out your order • Download and install.
Programmers Dilemma • We write programmed solutions that give us less work • Who gets the work? • designers, artists, etc. • Tools continue to become more capable • look at Maya • used to be the work of programmers
C/C++ • C++ is almost the industry standard • Why would programmers still use C? • Why not Java or C#?
Wednesday • We talk big picture • We setup the code • Your HW: • Read Ch.1 • Make an account to ask questions:http://www.mcshaffry.com/GameCode/