Game Programming Notes 2020
In the Game Programming Notes 2020, the covered all the basic topic with explanation. And also the implementation by using python and java on the platform DirectX and Flash.
|
Game Programming Notes 2020 |
Unit 1 : Game Programming
What is Game Programming ?
Game programming refers as the software engineering for developing the video game in 2D or 3D. The most popular Software Development Kits(SDK) is DirectX from Microsoft. It provides APIs useful for
creating game software, albeit only on devices that run Microsoft operating systems. There are many more: SDKs for physics, SDKs for rendering 3D graphics, SDKs for
audio, networking, even AI.
What is in a Game ?
- Game Architecture : In the game programming the architecture of the program are based on their hardware and software.There are as many ways to assemble the subsystems of a game as there are game
programmers.
The main layers are :
- Game Logic
- Game View
- Game Application Layer
- Operating System / Hardware
Game Logic :
What is Game Logic ?
The game logic is the heart and soul of the game. It defines how the game state can be changed by external stimulus. Such as human player pressing a game key or an AI process taking action.
- Game state & Data Structure : To design the game, the data structure are used like.Array, Linked List, Hash Table, Trees, B-Trees, Graphs, Stacks and Queues.
- Physics : In game the physics is used as the time of collision and Basic Physics.
- Events : When the game logic makes changes in the game states, such as creating or moving an actor, a number of game system will respond.
- Process Manager : The process manager is handle everything from button animation to streaming audio and video.
- Command Interpreter : A game logic needs to respond to external commands. For a human playing a racing game, these commands will send input to the game logic's representation of the car, acceleration, breaking and steering and AI process using a command based interface, can communicate to the game logic with exactly the same commands.
Game View :
What is Game View?
The game view's job is to present the game, accept input and translate the input into commands for the game logic. A game view is a collection of systems that communicates with the game logic to
present the game to a particular kind of observer. This observer can be a human
being with a controller of some kind, like a keyboard or a plastic drum set, but it
can also be an AI agent, whose view of the game state will determine the AI process’s
next course of action.
The game view are basically defined in two ways:
- Human View : The Game View for a human have more work to do. like audio, display, input, process, and many options have to control. It respond to game events and figure out how to draw the scene, send output to the
speakers, translate controller input into game commands, and more.
The main area of the Human view are:
- Display : 3D scenes, User Interface, Video.
- Audio : SFX, Music, Speech.
- Options : In the games some user-configurable options like sound effects volume, whether
your controls are Y-inverted or not, and whether you like to run your game in 4:3 or
in 16:9 widescreen.
- Process Manager : In the game programming the handling or controlling of the input / output.
- User Interface Presentation :The User interface presentation means that the
user interface needs to be baked fresh every time, especially since every health meter
and HUD are different for every game. Whenever any task is worked the system gives the hint of that task to the user.
2. AI View : The game view for AI, The stimulus interpreter receives the same events that all other game views receive:
object movement, collisions, and so on. It’s up to the AI programmer to determine
how the AI will react to each event the AI agent receives.
The main are for the game view for AI :
- Decision Making
- Options
- Process Manager
- Stimulus Interpreter
Game Application Layer:
What is Game Application Layer?
In the game programming the contents of application layer are further divided into different areas that deals with devices, the operating system and game lifetime.
The main Layers are :
- Language
- DLL
- Threads
- Network
- Core Lib
- Main Loop
- Init & Shutdown
Operating System / Hardware : In the game programming the operating system is the main for development of game platform where the SDK can be install easily and run.
0 Comments
Please Comment for any further query :