#C++ Sneek game

  • 1 Topics Covered
  • 2 History
  • 3 List of Tutorials
  • 4 Other Series
  • Topics Covered

    C++ Language - Procedural Basics

    • Basic variables (int,bool,float), const specifier, auto
    • Type casting (c-style (type) cast)
    • Basic arithmetic operations (+, -, /, *, %, precedence (), assignment += etc.,++/-- )
    • Conditionals (if...else, switch...case)
    • Boolean logic operations (||, &&, !)
    • Comparisons (>, <, ==, <=, >=, !=)
    • Loops (while, for, do...while, range-based for)
    • Writing functions / function parameters / return values / overloading functions
    • References & / pass by reference-vs-pass by value
    • Arrays []
    • struct (and its difference from class)
    • enum class
    • namespace / using
    • Forward declaration of classes to break circular #include cycles
    • Uniform initialization of classes / structs with {}

    C++ Language - Object Oriented Basics

    • Creating objects, calling member functions
    • Creating classes, data members, and member functions
    • public / private member access / encapsulation and data hiding
    • const/non-mutating member functions
    • Writing constructors / initializing embedded objects
    • Default (automatic) constructor / = default;
    • Delegating constructors
    • static member variables / static constexpr member variables
    • Nested classes
    • Forward declaration to break circular dependencies
    • Implementing operators for classes

    C++ Language - Standard Library

    • Rng <random> std::mt19973 / uniform_distributions
    • Utility functions std::min / std::max / std::swap
    • Math functions std::abs / std::sqrt
    • Measuring time <chrono> std::chrono::steady_clock / duration
    • Assertions <assert.h>

    Chili Framework

    • Gfx: putpixel/screenwidth/height
    • Color: getting/setting RGB color components
    • Mouse/kbd: input (polled and event-driven)
    • Sound: loading and playing sounds

    Game Programming Concepts

    • Game loop / frame based animation
    • Grid coordinate systems and mappings
    • Variable (measured) time step and fixed time step
    • Basic rectangle collision detection and handling

    General Programming Techniques

    • Recursion
    • Managing a partially-filled array
    • Mapping a 2D array onto a 1D array

    Graphics Concepts

    • Compiled sprite
    • Drawing filled rectangles and filled circles
    • Drawing beveled graphics
    • Pulsating color animation effect

    Math / Physics Concepts

    • Position / velocity / acceleration
    • Rebounding off of a vertical/horizontal surface
    • Basic vector math (vector add/sub/scale/length/normalize)

    Other Skills

    • Basic visual studio IDE usage & navigation
    • Visual studio debugger
    • Git + MSVC
    • Basic understanding of compiler, linker, .h/.cpp files, .lib/.obj files
    • Using regex find/replace in visual studio