Last active
December 4, 2023 04:29
-
-
Save mmj-the-fighter/a7887c4e0924d12f483d4471abc45440 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Copyright © 2010 - 2021 Manoj M J | |
//All Rights Reserved | |
[Game Development] | |
[Foundations] | |
[TOC] | |
Introduction | |
Platforms | |
Programming | |
Mathematics | |
Computer Graphics | |
Multimedia | |
Computational Geometry | |
Game Physics | |
Artificial Intelligence | |
Multiplayer Game Programming | |
Game Programming | |
Game Engine Programming | |
Digital Content Creation Tools | |
Game Design | |
References | |
Introduction | |
The spirit | |
Milestones in the history of game development | |
Genres | |
Action | |
Adventure | |
Strategy | |
Sports | |
Simulation | |
Text based games | |
Sound based games | |
2D games | |
3D games | |
2.5D games | |
Console games | |
PC games | |
Mobile games | |
Browser games | |
Multiplayer LAN games | |
Online games | |
Multiplayer Online games | |
Augumented reality games | |
Virtual reality games | |
Platforms | |
Computer Organization and Architecture | |
Graphics Hardware | |
I/O Devices | |
Operating Systems | |
Application Programming Interfaces | |
Tools | |
Libraries | |
Frameworks | |
Software Development Kits | |
The Graphics Stack | |
Windowing System | |
SceneGraph API | |
Low level Graphics API | |
Graphics Driver | |
Graphics Processing Unit | |
PCs | |
Consoles | |
Mobiles | |
Programming | |
Machine Code | |
Assembly Language | |
Low Level Languages | |
High Level Languages | |
Paradigms | |
Declarative | |
Functional | |
Imperative | |
Procedural | |
Object Oriented | |
Generic | |
Logic | |
Concurrent | |
Structured Programming | |
Sequence | |
Selection | |
Iteration | |
Functions | |
Argument Passing | |
Call by value | |
Call by reference | |
Recursive Calls | |
Object Oriented Programming | |
Encapsulation | |
Information hiding | |
Data abstraction | |
Abstract Data Type | |
Inheritance | |
C++ Virtual base classes | |
Polymorphism | |
C++ Virtual functions and Function overriding | |
C++ Function overloading | |
C++ Operator overloading | |
Runtime type identification | |
C++ RTTI | |
Genericity | |
C++ Templates | |
C++ Template meta programming | |
Concurrency | |
Threads | |
Tasks | |
Synchronization | |
Parallelism | |
Persistance | |
Serialization of objects | |
Remote Procedure Call | |
Garbage collection | |
Smart Pointers | |
Data structures and Algorithms | |
Arrays | |
Linked Lists | |
Stacks | |
Queues | |
Sets and Multisets | |
Trees | |
Binary Trees | |
Binary Search Trees | |
Balancing Trees | |
Multiway Trees | |
Maps and Dictionaries | |
Hashmap | |
Red-Black Tree | |
Heaps | |
Priority Queue | |
Tries | |
Graphs | |
Searching | |
Shortest paths | |
Algorithm Analysis | |
Time and Space Complexity | |
Algorithm Design Strategies | |
Divide and Conquer | |
Greedy Method | |
Dynamic Programming | |
Backtracking | |
Branch and Bound | |
Randomized Algorithms | |
Well known algorithms | |
Sorting | |
Searching | |
Graph Algorithms | |
Standard Template Library | |
Object Oriented Design | |
Universal Modelling Language | |
Design Patterns | |
Best Practices | |
Efficiency | |
Assembly code | |
Optimization | |
Tools | |
Compilers | |
Build Scripts | |
Text Editors | |
IDEs | |
Version Control Systems | |
Libraries | |
Statically linked | |
Dynamically linked | |
Toolkits | |
Frameworks | |
Engines | |
SDKs | |
Mathematics | |
Algebra | |
Solution of Equations | |
Trigonometry | |
Cartesian Geometry | |
Calculus | |
Differentiation | |
Intergration | |
Partial Differentiation | |
Solving ODE | |
Solving PDE | |
Multiple Integrals | |
Vector Calculus | |
Linear Algebra | |
Vectors | |
Matrices | |
Rays and Lines | |
Planes | |
Curves and Surfaces | |
Homogenous coordinates | |
Transformations | |
Modelling Transformations | |
Translation | |
Rotation | |
Scaling | |
Reflection | |
Shearing | |
View Transformation | |
Transforming Normals | |
Projection | |
Parallel Projection | |
Perspective Projection | |
Viewport Transformation | |
Concatenation of transformations | |
Picking in 3D | |
Texturing | |
Lighting and Shading | |
Complex Numbers | |
Quaternions | |
Tensors | |
Jacobians | |
Numerical Methods | |
Error Approximation | |
Interpolation | |
Curve Fitting | |
Numerical differentiation and integration | |
Random Number generation | |
IEEE floating point representation and rounding error | |
Computer Graphics | |
Window | |
Pixel and Framebuffer | |
Double buffering | |
2D Graphics Primitives | |
Point | |
Line | |
Rectangle | |
Polygon | |
Circle | |
Ellipse | |
Curve | |
Text | |
Image | |
Fractal | |
2D Transformations | |
2D Viewing | |
2D Clipping | |
Alpha | |
Transparency | |
Compositing | |
Filling | |
Stroking | |
Antialiasing | |
Gamma Correction | |
Transitions | |
Tiling | |
Sprites | |
Layering | |
Scrolling | |
2D Particle Effects | |
Triangular mesh | |
Vertices, Indices, Normals and Texture coordinates | |
Curved Surfaces | |
Materials | |
Textures | |
Rendering Pipeline | |
Tesselation and Geometry Shaders | |
Vertex and Fragment Shaders | |
Modeling Transformations | |
Viewing Transformation | |
Lighting | |
Different types of lights | |
Lighting models | |
Projection Transformations | |
Clipping | |
Perspective division | |
Backface culling | |
Viewport Transformation | |
Rasterization | |
Texture Sampling | |
Per Fragment operations | |
Stenciling | |
Depth test | |
Blending | |
Anti aliasing | |
Gamma correction | |
Ray tracing | |
Special Effects | |
Skybox | |
Fog | |
Transparency | |
Motion Blur | |
Reflection and Refraction | |
Shadows | |
Toon shading | |
Animation | |
Frame animation and Character animation | |
Morphing | |
Skinning | |
Animation Blending | |
Forward and Inverse Kinematics | |
Rendering Optimizations | |
View Frustum Culling | |
Space partitioning | |
Quadtree | |
Octree | |
BSP tree | |
Portals | |
Occlusion Culling | |
Level Of Detail Selection | |
Light mapping | |
Immediate mode Graphics APIs | |
OpenGL | |
DirectX | |
Vulkan | |
Multimedia | |
Compression | |
Filtering | |
Text | |
Fonts | |
Raster and Vector | |
Alignment | |
Zooming | |
Clipping | |
Image | |
Image processing | |
Computer vision | |
Audio | |
3D Sound | |
Sound effects | |
Video | |
Anti Aliasing | |
Computational Geometry | |
Primitives | |
Intersection Tests | |
Collision Detection | |
Narrow phase | |
Broad phase | |
Game Physics | |
Mechanics, Statics, Dynamics, Kinematics and Kinetics | |
Force | |
Laws of Motion | |
Physics Simulation | |
Euler Integration | |
Verlet Integration | |
Projectiles | |
Particle Systems | |
Rigidbody | |
Springs and Dampers | |
Contacts, Joints and Constraints | |
Cloth Simulation | |
Vehicle Dynamics | |
Fluid Dynamics | |
Physics Engines | |
Artificial Intelligence | |
Mini Max Search | |
State Machines | |
Behavior Trees | |
Steering Behaviors | |
Path Finding Algorithms | |
A* | |
Navigation Mesh | |
Neural Networks | |
Fuzzy Logic | |
Genetic Programming | |
Machine Learning | |
Multiplayer Game Programming | |
Data Communication | |
Computer Networks | |
Client Server Computing | |
Socket Programming | |
TCP/IP | |
UDP | |
Web technologies | |
Encryption | |
Database Management Systems | |
Multiplayer Games on LANs | |
Multiplayer Games on Internet | |
Massively Multiplayer Online Games Architecture | |
Game Programming | |
Game Main Loop | |
Multithreading | |
GameObject | |
Scene Graph System | |
Game Engine Programming ( Architecture, Design, Programming) | |
Performance measurement: Frames per second and other statistics | |
Camera Systems | |
First Person Camera | |
Third Person Camera | |
Animating Camera through a path | |
Digital Content Creation Tools | |
Features of a Text Editor Package | |
Features of a Font Editor Package | |
Features of a Vector Paint Package | |
Output primitives | |
Lines | |
Rectangles | |
Circles / Elipses | |
Splines | |
Features of an Image Editor Package | |
Common tasks in 2D game art creation | |
Creating Textures | |
Creating Backgrounds | |
Creating Tiles | |
Creating Sprites | |
Creating Icons | |
Creating User Interfaces | |
Creating Texture maps | |
Features of a Sprite Animation Builder Package | |
Features of a Modelling, Rendering and Animation Package | |
Common tasks in 3D game art creation | |
Creating Models | |
Animating Models | |
Rendering Models | |
Features of a Game Level Editor Package | |
Common tasks in Game Level creation | |
Features of a Sound Editor Package | |
Features of a Video Editor Package | |
Game Design | |
Psychology of the audience | |
References | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment