next up previous
Next: About this document ...

Department of Computer Science, Clemson University
CpSc 416/616 - 2D Game Engine Construction with C++
Brian Malloy
Syllabus
August 19, 2007



  1. Introduction

  2. Drawing a surface with SDL

  3. Drawing with blits

  4. Colorkeys and transparency

  5. Loading image formats

  6. Sprite animation

  7. Sprite Clipping

  8. Parallax Scrolling

  9. Explosions

  10. Artificial Intelligence, min-max trees, A* trees

  11. The game shell

  12. Processing input: Mouse, keyboard, joystick

  13. Adding sound

  14. Collisions, collision detection

  15. Game time and timers

  16. Adding Text

  17. Game scripting with SDL

  18. Using arrays to store game data: monsters

  19. Using linked lists to store game inventories

  20. Determining the winner & loser

  21. The high score list

  22. Pausing the game

  23. Networked gaming

  1. Basics (100 slides, 1-2 classes): I/O, data types, iteration: for, while; control structures: if/else and switch; short-circuit evaluation, functions, The 3 parameter transmission modes, C-strings, command-line parameters, intro to files.

  2. The C++ Class (100 slides, 6-8 classes): Constructors: default, conversion and copy. Class instantiation, constructor initialization vs assignment, when are constructors called, which one! destructors and when they are required. Also, the class members that are supplied by default, those that you should supply. Shallow vs deep copy, orthodox canonical class form, functions that C++ silently writes, overloading functions, overloading operators, overloadly assignment, the output operator and others. friend functions (functions that are members of a class vs part of a class), nomenclature and programming style, overloading a class for binary arithmetic, make files, dynamic vs static storage, Writing a string class. Deep copy vs shallow copy. Dynamic memory allocation. Comparing C string with 1#1 strings. iterators, the stack class, the template stack class, exceptions, the linked list class,

  3. The standard library: (43 slides, 2-4 classes) vector and list. Standard library iterators for vector and list. Using standard library algorithms on vector and list (algo.h). Maps.

  4. Inheritance: (43 slides, 2-4 classes) What are the kinds of inheritance, what are the kinds of functions that can be involved in inheritance (virtual, purely virtual, non-virtual), public inheritance vs private inheritance, when should inheritance be used, what are the problems with inheritance, casting down the inheritance hierarchy, the 4 kinds of cast in C++, passing parameters to a base class.

  5. Design Patterns




next up previous
Next: About this document ...
Brian Malloy 2007-08-19