AN OVERVIEW OF GAME DEVELOPMENT

Slides:



Advertisements
Similar presentations
Using 2D sprite with OpenGL 2003 team Koguyue. Overview Motivation and basic concepts Advantages with using OpenGL Basic requirements of implementation.
Advertisements

TCP/IP MODEL Maninder Kaur
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
1 Interactive Fiction CIS 487/587 Bruce R. Maxim UM-Dearborn.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Network synchronization of Online Games Li, Zetan.
TCP/IP Protocol Suite 1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Chapter 17 Introduction to the Application.
School of Computer Science and Software Engineering A Networked Virtual Environment Communications Model using Priority Updating Monash University Yang-Wai.
Level 2 Mobile and Games Programming Modules Cathy French K233.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics? Ed Angel Professor of Computer Science, Electrical and Computer.
1 Advanced Scene Management System. 2 A tree-based or graph-based representation is good for 3D data management A tree-based or graph-based representation.
Ch 1 Intro to Graphics page 1CS 367 First Day Agenda Best course you have ever had (survey) Info Cards Name, , Nickname C / C++ experience, EOS experience.
3D Rendering – A beginners guide Phil Carlisle – University of Bolton.
By Steven Taylor.  Basically a video game engine is a software system designed for the creation and development of video games.  There are many game.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Hidden Surface Removal
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Things you need to know George Georgiev Telerik Corporation
1 CP586 © Peter Lo 2003 Multimedia Communication Introduction to Multimedia and Development Tools.
Using C++ and OpenGL George Georgiev Telerik Corporation
TRANSPORT LAYER T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
CSE 381 – Advanced Game Programming 3D Game Architecture.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Computers in the real world Objectives Understand what is meant by memory Difference between RAM and ROM Look at how memory affects the performance of.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Invitation to Computer Science 5th Edition
Artificial Intelligence
Games are Up for DVFS Yan Gu Samarjit Chakraborty Wei Tsang Ooi Department of Computer Science National University of Singapore.
Outline Overview Video Format Conversion Connection with An authentication Streaming media Transferring media.
CHAPTER TEN AUTHORING.
Computer Graphics I, Fall : What is Computer Graphics?
CSP Implementing a network 1 Implementing a network Lecturer: Smilen Dimitrov Cross-sensorial processing – MED7.
Fundamentals of Information Systems, Third Edition2 Principles and Learning Objectives Artificial intelligence systems form a broad and diverse set of.
Application of Artificial Intelligence to Chess Playing Jason Cook Capstone Project.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Using BSP for CD Ref: BSP in deBerg et al ’ s book (url)url.
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
2 COEN Computer Graphics I Evening’s Goals n Discuss application bottleneck determination n Discuss various optimizations for making programs execute.
Real-time Graphics for VR Chapter 23. What is it about? In this part of the course we will look at how to render images given the constrains of VR: –we.
The InetAddress Class A class for storing and managing internet addresses (both as IP numbers and as names). The are no constructors but “class factory”
What is Computer Graphics?. 2 Objectives In this lecture, we explore what computer graphics is about We will give a historical introduction.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 What is Computer Graphics?
Networking Basics CCNA 1 Chapter 11.
CSCE 552 Spring D Models By Jijun Tang. Triangles Fundamental primitive of pipelines  Everything else constructed from them  (except lines and.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
3D Engine II December 17, computer graphics -dpi.
A SEMINAR ON 1 CONTENT 2  The Stream Programming Model  The Stream Programming Model-II  Advantage of Stream Processor  Imagine’s.
Introduction to Game Programming Pertemuan 11 Matakuliah: T0944-Game Design and Programming Tahun: 2010.
Decision Support and Business Intelligence Systems (9 th Ed., Prentice Hall) Chapter 12: Artificial Intelligence and Expert Systems.
Networking Project. Game Networking Game Networking Topology Star (client/server) Topology – All devices are connected to a central hub (server) – Nodes.
What is Computer Graphics?
The Transport Layer Implementation Services Functions Protocols
Week 2 - Monday CS361.
Computer Graphics - Introduction -
Unity Networking.
Process-to-Process Delivery, TCP and UDP protocols
What is Computer Graphics?
What is Computer Graphics?
CSc 8820 Advanced Graphics Algorithms
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
Transport Layer Unit 5.
Introduction to Computer Graphics with WebGL
CPEG514 Advanced Computer Networkst
Chapter I Introduction
Game Engines Non-game specific technology Game: Engine
What is Computer Graphics?
Introduction to spagetti and meatballs
Computer Networks Protocols
Presentation transcript:

AN OVERVIEW OF GAME DEVELOPMENT By Nmoye Ifeanyi Lawrence

GAME DEVELOPMENT COURSE OUTLINE Game Development – the basics Introduction to Game Engines and Game Design

Game Development – the basics Game Development is the process of making a game. It begins with an idea and then the development. A Design document should be made before development commences. The Design document contains all the information about the game including story line, game play, weapons, level design, graphical user interface (GUI) animation type, special effects, sound effects, cut scene drama and so on.

Game Development – the basics Basic Skills Required for Game Development Adequate Knowledge of at least one programming language especially c/c++. Proficiency in Mathematics and Physics. Good Skills in the Usage of a 2D image Editing Software such as PhotoShop.

Game Development – the basics Basic Skills Required for Game Programming Good Skills in the Usage of a 3D modeling software such as Maya and 3D Studio Max. Good Animation Skills. Good Skills in the Usage of a Sound Editing Software such as Fruity Loops Studio

Introduction to Game Engines and Game Design Game Engines are programs used for the development of games. The Game Engine is made up of the following parts:- The Graphics Engine Game Mathematics and Physics. Game Input Animation Engine The Sound Engine Game Networking Artificial Intelligence Scene Management Data Structures Memory Management

Introduction to Game Engines and Game Design When developing a game, you have a choice to either use an already made game engine or develop the game engine from scratch. If you choose to use an already made game engine, then, you can either download free ones or use commercial ones after paying a license fee. The Common free ones are as follows:- Irrlicht engine Crystal Space Ogre3d Allegro The Commercial ones are as follows:- Unreal Engine Cipher Game Engine - $100 license fee C4 Game Engine Infinity Engine

GRAPHICS ENGINE The Knowledge of a graphics API is required when making a game engine. The two most popular graphics libraries are OpenGL and DirectX (Direct3D). What does a graphics library help us to do? With a graphics library, we can render points, lines, triangles and other polygons in 3D space from any point of view with any color, with or without perspective projection. Every 3D polygon rendering boils down to rendering triangles. Even Polygons are resolved into triangles before rendering in hardware. These graphics API uses the hardware to render these triangles doing all the necessary perspective transformations.

GRAPHICS ENGINE While 2D games use a sequence of pictures to represent animated characters and environment, 3D games is quite different using a group of triangles to form a 3D model and rendering from any point of view by applying some matrix transformation and then drawing the resultant 2D triangle obtained from the 3D transformation and render it as pixels on the screen.

GRAPHICS ENGINE

GAME NETWORKING Networking Protocols When networking a game, you have to choose between using connection oriented Transmission Control Protocol (TCP) or connectionless User Datagram Protocol (UDP) depending on the game speed.

GAME NETWORKING TCP TCP is connection oriented and sends data reliably and in the right order to the destination address. Advantages Reliable. Large Buffer Size. Disadvantages Not as fast as UDP in most cases.

GAME NETWORKING UDP UDP is connectionless and sends data to the destination address. The data transferred may or may not arrive at the destination address and in the right order. Hence it is an unreliable protocol. Advantages Fast. Disadvantages Not Reliable. Maximum Buffer Size of 4096 bytes.

GAME NETWORKING If you are working with slow paced games like Ludo, Chess etc where the response from players takes a reasonable amount of time, you should be better off with TCP, although, you can also use reliable UDP. On the other hand, when working with fast paced games like first person shooters and car races where the game states are always changing, you would have to use UDP for the purpose of faster transmission. UDP BETTER TCP BETTER

GAME NETWORKING Network Architecture There are two common network architecture used in games. They are:- Peer to Peer Architecture Client-Server Architecture

GAME NETWORKING Peer to Peer Architecture In this Architecture, all the computers in the network are connected to one another. Each player on each computer sends messages of his or her current game state to other computers. The problem with this architecture is that it is not scalable. In other words, as the number of players connected to the network increases, the bandwidth is quickly consumed and as such a limited number of players can play on this architecture. Also, client players can easily cheat as they are in control of their characters by using some third party software that will send fake information to other computers.

GAME NETWORKING Client-Server Architecture Here, all the computers in the network are connected to a central computer called the server. Each player is a client and connects to the server to join the game. The players send input states to the server. All player actions are simulated in the server and duplicated in the client computers. In other words, all the clients send inputs to the server and the server send all the player states to all clients, thereby saving bandwidth. Thus, this architecture is scalable and prevents client side cheating. The problem of latency comes into play here because it takes time for a player’s input to get to the server and time for the server to simulate the player’s new game state and send it back to the player. This is eliminated however by various techniques most notably client side prediction.

ARTIFICIAL INTELLIGENCE Locomotion Steering Decision Making

ARTIFICIAL INTELLIGENCE Locomotion This involves physical motion:- how to walk how to run how to jump how to climb

ARTIFICIAL INTELLIGENCE Steering This deals with how an AI agent moves from one point to another. They include:- Terminator AI Pattern based AI Potential Functions Path Planning

ARTIFICIAL INTELLIGENCE Decision Making Finite State Machine Rule-Based AI Neural Networks Genetic Algorithm

GAME MATHEMATICS AND PHYSICS A solid mathematical foundation is required for a 3D game programmer. Physics deals with collision detection and response in the game. Also, knowledge of Newtonian physics is required for proper collision response.

GAME INPUT Game are meant to be interactive and as such input devices are an essential component of computer games.

GAME SOUND Sound is an essential component of a game. Higher satisfaction is gained from playing a game with sound incorporated in it than one with no sound. Common Sound Libraries include:- FMOD sound library Irrklang sound engine.

ANIMATION 2D animation involves drawing a sequence of pictures in the right order.

SCENE MANAGEMENT DATA STRUCTURES 3D games environments can get really complex and have thousands of triangles to render and the frame rate of the game quickly comes down. In such a situation, you do not render all the triangles at once but render only the ones that the player can see. The process of determining the triangles that can be seen by the player is known as CULLING. Certain Spatial Data Structures are used to organize the triangle meshes in the 3d environment to speed up culling as trying to test if each triangle is visible before rendering would worsen the frame rate as the case may be. These data structures are also used for collision detection, artificial intelligence and other parts of a game that needs optimization for speed. The most popular ones are as follows:- - Bounding Volume Hierarchy (BVH) - Uniform Spatial Subdivision - Octrees - Quad trees - K-d trees - Binary Space Partitioning (BSP) trees

SCENE MANAGEMENT DATA STRUCTURES View Frustum Culling This is used to test if an object is in the field of view of the player’s camera before rendering it in order not to render unnecessary geometry.

CONCLUSION I think with this, you should know the basics of what game development entails. Goodluck!