Course Project
- Brief and rubric and starter code for the check-in.
-
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.txtfile. TheCMakeLists.txtfile defines three targets:game,tests, anddoxygen_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
alltarget.-
Executables: The generated executables can be found in the
bindirectory. These are built by thegameandteststargets. The raylib, raylib-cpp and doctest libraries (dependencies) are automatically downloaded. -
Documentation: You can view this documentation by opening the
doxygen\html\index.htmlfile in a browser. Thedoxygen_docstarget uses doxygen to extract and produce the HTML documentation from the source code comments andarchitecture.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
- This is the YouTube tutorial for developing the example Pong game. Importantly, this tutorial demonstrates how to use
rayliband notraylib-cpp. However, it provides a good foundation for understandingraylib-cpp, asraylib-cppis simply a wrapper forraylibfunctionality. I have adapted the Pong code to useraylib-cpp. As already mentioned, the OO design here is very poor. - Devin AI’s wiki of the raylib codebase.
- The raylib-cpp repo has many examples illustrating its use.
- This is the YouTube tutorial for developing the example Pong game. Importantly, this tutorial demonstrates how to use
-
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