Game Programming Syllabus for B.Tech Final Year

AvinashAvuthu2 50 views 19 slides Jul 18, 2024
Slide 1
Slide 1 of 19
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19

About This Presentation

Game Programming Syllabus


Slide Content

Game Programming A. Avinash, Ph.D., Assistant Professor School of Computer Science and Engineering (SCOPE) Vellore Institute of Technology (VIT), Chennai

Course Objectives To provide an introduction to technologies and techniques currently used in the game industry To understand game design and development To understand the processes, mechanics, issues in game design, and game engine development To understand modelling, techniques, handling situations, and logic To build and then integrate technologies such as multimedia, artificial intelligence, and physics modeling.

Course Outcomes Design , develop, test, evaluate, debug, and modify code to meet design specifications for games . Design unique gaming environments, levels and characters by choosing appropriate game strategies and patterns based on an analysis of past and present trends. Create and document the games by applying programming concepts using various tools to meet requirements of the current marketplace.

Text Books Game Engine Architecture, 3rd Edition, Jason Gregory, A K Peters, 2019. Palmer G. Physics for game programmers. Berkeley: Apress ; 2005 Artificial Intelligence and Games, Georgios N. Yannakakis and Julian Togelius , January 26 , 2018, Springer.

Module:1 Introduction to Game Programming & Game engine architecture Overview of Game Programming: Game programming involves creating the code that brings video games to life. It encompasses a variety of tasks including game logic, physics, graphics, AI, and user interface. Game programmers often use specialized tools and engines, such as Unity or Unreal Engine, to develop games. Structure of a Typical Game Team: A typical game development team includes: Producers: Manage the project, timelines, and budget. Designers: Create the game's concept, story, characters, and levels. Artists: Produce visual assets like characters, environments, and animations. Programmers: Write the code that runs the game. Sound Designers: Create music, sound effects, and voiceovers. Testers: Play the game to find bugs and ensure quality.

Module:1 Introduction to Game Programming & Game engine architecture Game Engine History and Real-Time Game Architecture: Game engines are software frameworks designed for game development. Early game engines, like id Tech, provided basic tools for rendering graphics and handling input. Modern engines, like Unity and Unreal Engine, offer comprehensive tools for physics, AI, networking, and more. Engine Support: Subsystem Start-Up and Shut-Down: Game engines have various subsystems (e.g., graphics, physics, audio) that need to be properly initialized and shut down. This ensures that resources are allocated and released correctly, preventing memory leaks and crashes. Memory Management: Effective memory management is crucial in game development to ensure smooth performance and avoid crashes. This includes allocating, using, and freeing memory correctly. Containers and Strings: Containers are data structures used to store and manage collections of objects, such as arrays, lists, and maps. Strings are used to manage text data. Both need to be managed efficiently to ensure performance. Example: A game might use a vector container to manage a list of active enemies and a string to display messages on the screen.

Module:2 Basics of 2D & 3D Graphics and Mathematics in Gaming & Rendering engine 2D Graphics Sprites : Sprites are 2D images or animations integrated into a larger scene. They are often used for characters, objects, and other elements in a game. Each sprite has properties like position, size, and rotation. Tiled Images : Tiled images use smaller, repeating images (tiles) to create larger scenes or backgrounds. This method is efficient for memory usage and performance. Backgrounds : Backgrounds are static or dynamic images that set the scene's backdrop.

Module:2 Basics of 2D & 3D Graphics and Mathematics in Gaming & Rendering engine 3D Graphics 3D Graphics Pipeline : This pipeline consists of several stages that convert 3D models into a 2D screen image. 3D Math : 3D math involves vectors, matrices, and transformations to manipulate 3D objects. Coordinates and Coordinate Systems : These systems define positions in 3D space using axes (usually x, y, and z). Common systems include world coordinates (global position), local coordinates (relative to an object), and screen coordinates (2D projection).

Module:2 Basics of 2D & 3D Graphics and Mathematics in Gaming & Rendering engine Quaternion Mathematics : Quaternions are used to represent rotations in 3D space, avoiding issues like gimbal lock that can occur with Euler angles. Transformations & Geometry : Transformations involve moving, scaling, or rotating objects in 3D space. Geometry refers to the mathematical representation of shapes. Rendering Pipeline: The rendering pipeline is the process through which 3D models are converted into a final 2D image on the screen.

Module:3 Lighting and Texturing Effects in game environment Ray Tracing: It is a rendering technique that simulates the way light interacts with objects to create realistic images, calculating reflections, refractions, and shadows. Lighting in Computer Graphics: To create depth, mood, and realism. It involves simulating different types of light sources and their interactions with objects. Types of Light Sources Point Light: Emits light in all directions from a single point. Directional Light: Emits parallel rays of light, as if from an infinitely distant source (e.g., the sun). Spotlight: Emits light in a specific direction within a cone. Ambient Light: General, directionless light that illuminates all objects equally.

Module:3 Lighting and Texturing Effects in game environment Light Models Lambert Diffuse: A simple model for diffuse reflection, where light is scattered equally in all directions from a surface. Phong Reflection Model: Includes ambient, diffuse, and specular reflection components, providing a more realistic rendering by simulating shiny surfaces. Bump Mapping: It is a technique to simulate small-scale bumpiness on a surface by perturbing the surface normals , giving the illusion of depth and texture without altering the geometry. Lighting Techniques Point Lights: Light sources that emit light uniformly in all directions from a single point. Bloom: A post-processing effect that simulates the way bright light spreads in a camera lens, creating a glowing effect.

Module:3 Lighting and Texturing Effects in game environment Shadows in Games Real-Time Shadows: Calculated on-the-fly during gameplay, adapting to changes in the scene. Preprocessed Shadows: Calculated and baked into textures before gameplay, saving computation time but lacking dynamic interaction. Types of Shadows Hard Shadows: Have sharp edges, typically from direct light sources. Soft Shadows: Have blurry edges, typically from diffused light sources or larger light areas.

Module:3 Lighting and Texturing Effects in game environment Texture Mapping Techniques Diffuse Mapping: Applying an image to a surface to give it color and texture. Specular Mapping: Defining which parts of a surface are shiny. Normal Mapping: Similar to bump mapping, but uses normal vectors to add detail to a surface. Displacement Mapping: Alters the geometry of a surface based on a texture map. Special Effects Blurring: A technique to reduce image clarity for effects like depth of field or motion blur. Particle Systems: Used to simulate fuzzy phenomena like smoke, fire, or rain by generating and animating many small particles. Weapon Effects: Visual effects used to enhance the realism and impact of weapon usage in games.

Module:4 Game Physics Basic Newtonian Mechanics - Forces: Gravitational Force, Friction Centripetal Force - Energy : Kinetic Energy Potential Energy - Basic Kinematics: The Relationship Between Force , Acceleration Velocity and Location - Rigid Body Motion and Collision

Module:5 Artificial Intelligence in Game for move prediction and optimization Games for Artificial Intelligence: Google's DeepMind developed AlphaGo Game AI Panorama: The panorama of game AI encompasses the wide range of techniques and approaches used to create intelligent behavior in games. AI Methods Tree Search: Involve exploring the possible moves in a game tree to determine the best move. Techniques like Minimax and Monte Carlo Tree Search (MCTS) evaluate possible future game states to make decisions. Evolutionary Computation : It is used in optimization problems and game strategy development. Supervised Learning : In a card game like poker, a supervised learning model could be trained on historical game data to predict the probability of winning with a given hand. Reinforcement Learning : The AI agent in " Dota 2" developed by OpenAI used reinforcement learning to learn complex strategies and teamwork, ultimately defeating professional human players.

Module:6 Virtual and Augmented Reality Immersive Reality Application Areas 1. Entertainment: Immersive reality in entertainment includes virtual reality (VR) and augmented reality (AR) experiences in gaming, movies, and theme parks. 2. Education: Educational applications of immersive reality offer interactive and engaging learning experiences. 3. Training: Training applications utilize immersive reality to provide realistic simulations for skill development. 4. Medical: In the medical field, immersive reality is used for both training and treatment. 5. Industrial: Industrial applications include design, maintenance, and troubleshooting. 6. Military: The military uses immersive reality for training and simulation purposes.

Module:6 Virtual and Augmented Reality VR: Position and Motion Trackers 1. Magnetic Trackers: These trackers use magnetic fields to determine the position and orientation of objects. 2. Mechanical Trackers: Mechanical trackers use physical linkages connected to the tracked object. For instance, an exoskeleton glove with joint sensors can provide accurate tracking of hand movements in a VR environment. 3. Ultrasonic Trackers: Ultrasonic trackers use sound waves to determine the position of objects. 4. Navigation and Manipulation Interfaces: These interfaces include devices like joysticks, gloves, and treadmills that allow users to navigate and interact with the virtual environment.

Module:6 Virtual and Augmented Reality AR: 1. Selection of AR Platform: Choosing the right AR platform involves considering factors like hardware compatibility, software development tools, and user experience. 2. Integrating Hardware and Software: Successful AR applications require the integration of both hardware (cameras, sensors) and software (image processing, 3D rendering). 3.Optical & Inertial Calibration: Calibration ensures that the AR system accurately tracks the user's movements and aligns virtual objects with the real world. 4.Tracking: Tracking involves continuously monitoring the position and orientation of the user and objects in the environment. 5.AR Computer Vision: AR computer vision techniques include object recognition, environment mapping, and gesture recognition.

Module:7 Game Design & Management Game Design: It is the process of creating the content and rules of a game, involving the conceptualization of gameplay, storyline, characters, and mechanics. It includes determining how players interact with the game and how the game responds to those interactions. Differing Game Types, Modes, and Perspectives: Games can vary widely in genre (e.g., action, strategy, role-playing), modes (e.g., single-player, multiplayer), and perspectives (e.g., first-person, third-person, isometric). Scripting, Audio Engineering, Sound and Music, level design; Game project management, Game design documentation, Rapid prototyping and game testing
Tags