Course Project

  • Brief and rubric and starter code for the check-in.
  • Example Pong game

    Use this example game’s repo as a template for your project’s directory structure. It includes the source code for the Pong game, a test file, the documentation, and the CMakeLists.txt file. The CMakeLists.txt file defines three targets: game, tests, and doxygen_docs. These targets automatically download their dependencies (see below) and build their outputs in the root directory.

    Open VS Code in the root directory, and use CMake to build, and launch, the all target.

    • Executables: The generated executables can be found in the bin directory. These are built by the game and tests targets. The raylib, raylib-cpp and doctest libraries (dependencies) are automatically downloaded.

    • Documentation: You can view this documentation by opening the doxygen\html\index.html file in a browser. The doxygen_docs target uses doxygen to extract and produce the HTML documentation from the source code comments and architecture.md. doxygen needs to be manually installed as shown in Lab 0.

    Note: the Pong game does not showcase good object-oriented design.

  • Raylib and Raylib-Cpp Libraries
  • Project Documentation

    When documenting your own project use the documentation for the Pong game as a guide in terms of the style, structure, and level of detail, that is expected. Doxygen comments are easily generated using this extension which is part of the VS Code profile that you should have installed.

  • How to publish a project release on GitHub

Deadlines

All deliverables need to be available on GitHub at the time of each deadline.

  • 1st release due: Friday, 4th September at 7:50
  • 2nd release due: Tuesday, 15th September at 7:50
  • 3rd release due: Friday, 25th September at 7:50
  • Final release due: Friday, 9th October at 17:00

Back to top

Copyright © 2026. School of Electrical and Information Engineering. University of the Witwatersrand.