Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Introduction to Computer Games and Graphical System Lecture #1: Introduction, Overview Xu.Zhu SIT, Shanghai, China Email: [email protected] Today Introduction and Course Overview 2 Class Participation Reasons to participate More fun for me and you You learn more Pass the quizzes in class How to participate Ask questions Make comments 3 Course Outline 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. 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. 3 Basic graphic function on Java How to paint words and graphics in java with jdk. 4 How to build up an animation Conception of animation and list some public tools for animation. How to control animation in java . Course Outline 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. 6 Game design 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 Creating characters, path planning, generating motion. Instructation to 2.5d game with some demo. 8 2.5d game design Difference between 2d and 2.5d and key point of 2.5d. Key elements of 2.5d games and the implementation of 2.5d. Course Outline 9 Networking: Playing together Protocols for gaming, architectures, how to connect 2 pc in java. 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. 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. Course Outline 12 3d model design Brief introduce to 3dsMax/Maya/Softimage 13 Create simple 3d game Show how to combine engine, model to create a simple 3d game. 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. The Interactive Entertainment Industry Hardware makers produce gaming hardware Game Developers create games eg Electronic Arts (EA), Epic, ID, thousands of others Publishers publish games eg Sony, Nintendo, Microsoft, … eg Sony, Nintendo, EA, … The model is similar to books or movies 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 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 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 And others: Production, management, marketing, quality assurance Disclaimer Game development requires more than graphics, AI and networking Design, Art, Software engineering, Production, Audio, … 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, … Books Official textbook: “” Other useful books: The OpenGL Programming Guide Mathematics for 3D Game Programming & Computer Graphics AI Game Development – Synthetic Creatures with Learning and Reactive Behaviors Core Techniques & Algorithms in Game Programming “Game Programming Gems” and the sequels and offshoots have many useful things 3D Game Engine Design Online Resources Google – Use it www.gamasutra.com www.gamedev.net www.flipcode.net/ Academic Honesty If you use an external resource cite it clearly! Don’t do things that would be considered dishonest... if in doubt ask. Cheating earns you: An ‘F’ in the class and Getting reported to the University No exceptions. 16 What I assume you know Java J2se I assume you are competent with at least one user interface toolkit eg: FLTK, MFC, Glut, Gtk, … Make sure it’s supported on Windows Grading Midterm and final A Homework Project Project The project is to create a game This is a competition Best project will win A good grade A prize !!! Respect and admiration of your peers Working in Groups Working in groups is not easy, and it is an acquired skill I want you to form groups by next Thursday There will be some group evaluation exercises through the semester Warning !!! Timeline Something due roughly every 2 weeks throughout the semester First stage: Teams & Design Tools The only requirement is that your project run on Windows We strongly prefer OpenGL The lectures will assume OpenGL, and we know nothing about DirectX 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 More Tools Models and art will be an issue Building models by hand might be the most efficient option You are free to use any available tools, provided you acknowledge it Open source modelers Blender , Wings 3D etc. Don’t be scared to write small tools if you think it will make your project easier You are not judged on art First Stage Due Tue Jan 31st First stage, 1st part: Design a game, put it on paper Group members Outline of game objectives Sketches of potential looks Task distribution You can even borrow something from someone else