Presentation is loading. Please wait.

Presentation is loading. Please wait.

AN OVERVIEW OF GAME DEVELOPMENT

Similar presentations


Presentation on theme: "AN OVERVIEW OF GAME DEVELOPMENT"— Presentation transcript:

1 AN OVERVIEW OF GAME DEVELOPMENT
By Nmoye Ifeanyi Lawrence

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

3 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.

4 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.

5 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

6 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

7 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

8 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.

9 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.

10 GRAPHICS ENGINE

11 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.

12 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.

13 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.

14 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

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

16 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.

17 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.

18 ARTIFICIAL INTELLIGENCE
Locomotion Steering Decision Making

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

20 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

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

22 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.

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

24 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.

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

26 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

27 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.

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


Download ppt "AN OVERVIEW OF GAME DEVELOPMENT"

Similar presentations


Ads by Google