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

Game Programming Architecture
 Game Programming Architecture


         The main layers are :
  1. Game Logic
  2. Game View
  3. Game Application Layer
  4. 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 Logic
Game Logic

  • 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:

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

Game View for Human
Game View for Human

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.

Game View for AI
Game View for AI

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.


Game Application Layer
Game Application Layer
The main Layers are :

  • Devices

  1. Input : 
  2. Files
  3. RAM
  4. Time
  • Operating System
  1. Language
  2. DLL
  3. Threads
  4. Network
  • Game Lifetime
  1. Core Lib
  2. Main Loop
  3. 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.