|
3 | 3 | 1. Read about Privacy and FERPA compliance [here](../../../blog/posts/FerpaCompliance/FerpaCompliance.md) |
4 | 4 | 2. This one, for in class coding assignments. https://github.com/InfiniBrains/Awesome-GameDev-Resources |
5 | 5 | 3. MoBaGEn, for interactive assignments. https://github.com/InfiniBrains/mobagen |
6 | | -4. Install CLion (has CMake embedded) or see [#development-tools](#development-tools) |
| 6 | +4. Install `CLion` :simple-clion: (has `CMake` :simple-cmake: embedded) or see [#development-tools](#development-tools) |
7 | 7 |
|
8 | 8 | ## Types of coding assignments |
9 | 9 |
|
10 | 10 | There are two types of coding assignments: |
11 | 11 |
|
12 | | -1. Algorithm: [Beecrowd](https://www.beecrowd.com.br/) - This is an automatic grading system, and I am still creating assignments for it. I will try my best to make it work through it. If it does not work, you could just submit the code on canvas and I will grade it manually. Those should solved using C++; |
| 12 | +1. Algorithm: [Beecrowd](https://www.beecrowd.com.br/) - This is an automatic grading system, and I am still creating assignments for it. I will try my best to make it work through it. If it does not work, you could just submit the code on canvas and I will grade it manually. Those should solved using C++ :simple-cplusplus:; |
13 | 13 | 2. Interactive: For the interactive assignments you can choose whatever Game Engine you like, but I recommend you to use the framework I created for you: [MoBaGEn](https://github.com/InfiniBrains/mobagen). If you use a Game Engine or custom solution for that, you will have to create all debug interfaces to showcase and debug AI wich includes, but it is not limited to: |
14 | 14 |
|
15 | 15 | - Draw vectors to show forces applied by the AI; |
@@ -40,31 +40,31 @@ In all interactive assignmets, you will have to record a 5 minute video explaing |
40 | 40 |
|
41 | 41 | ## Development tools |
42 | 42 |
|
43 | | -I will be using `CMake` for the classes, but you can use whatever you want. Please [read this](../../intro/02-tooling/README.md) to understand the `C++` toolset. |
| 43 | +I will be using `CMake` :simple-cmake: for the classes, but you can use whatever you want. Please [read this](../../intro/02-tooling/README.md) to understand the `C++` :simple-cplusplus: toolset. |
44 | 44 |
|
45 | | -In this class, I am going to use `CLion` as the IDE, because it has nice support for `CMake` and automated tests. |
| 45 | +In this class, I am going to use `CLion` :simple-clion: as the `IDE`, because it has nice support for `CMake` :simple-cmake: and automated tests. |
46 | 46 |
|
47 | 47 | - Download it [here](https://www.jetbrains.com/clion/). |
48 | 48 | - If you are a student, you can get a free license [here](https://www.jetbrains.com/community/education/#students). |
49 | 49 |
|
50 | | -If you want to use `Visual Studio`, be assured that you have the `C++ Desktop Development` workload installed, more info [this](https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160). And then go to `Individual Components` and install `CMake Tools for Windows`. |
| 50 | +If you want to use `Visual Studio` :simple-visualstudio:, be assured that you have the `C++ Desktop Development` :simple-cplusplus: workload installed, more info [this](https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160). And then go to `Individual Components` and install `CMake Tools for Windows` :simple-cmake:. |
51 | 51 |
|
52 | 52 | !!! note |
53 | 53 |
|
54 | | - If you use `Visual Studio`, you won't be able to use the automated testing system that comes with the assignments. |
| 54 | + If you use `Visual Studio` :simple-visualstudio:, you won't be able to use the automated testing system that comes with the assignments. |
55 | 55 |
|
56 | | -[OPINION]: If you want to use a lightweight environment, don't use Visual Studio Code for C++ development. Period. It is not a good IDE for that. It is preferred to code via sublime, notepad, vim, or any other text editor and then compile your code via terminal, and debug via gdb, than using VS Code for C++ development. |
| 56 | +[OPINION]: If you want to use a lightweight environment, don't use VS Code for C++ development. Period. It is not a good IDE for that. It is preferred to code via sublime, notepad, vim, or any other text editor and then compile your code via terminal, and debug via gdb, than using VS Code for C++ development. |
57 | 57 |
|
58 | 58 | ### Openning the Repos |
59 | 59 |
|
60 | 60 | 1. (Fork and) clone the repos; |
61 | | -2. Open `CLion` or yor preferred `IDE` with `CMake` support; |
| 61 | +2. Open `CLion` :simple-clion: or yor preferred `IDE` with `CMake` :simple-cmake: support; |
62 | 62 | 3. Open the `CMakeLists.txt` as project from the root of the repo; |
63 | 63 | 4. Wait for the setup to finish (it will download the dependencies automatically, such as `SDL`); |
64 | 64 |
|
65 | 65 | For the interactive assignments, use this [repo](https://github.com/InfiniBrains/mobagen) and the assignments are located in the `examples` folder. |
66 | 66 |
|
67 | | -For the algorithmic assignments, use this [repo](https://github.com/InfiniBrains/Awesome-GameDev-Resources) and the assignments are located in the `courses/artificialintelligence/assignments` folder. I created some automated tests to help you debug your code and ensure 100% of correctness. To run them, follow the steps (only available though `CLion` or terminal, not `Visual Studio`): |
| 67 | +For the algorithmic assignments, use this [repo](https://github.com/InfiniBrains/Awesome-GameDev-Resources) and the assignments are located in the `courses/artificialintelligence/assignments` folder. I created some automated tests to help you debug your code and ensure 100% of correctness. To run them, follow the steps (only available though `CLion` :simple-clion: or terminal, not `Visual Studio` :simple-visualstudio:): |
68 | 68 |
|
69 | 69 | 1. Go to the executable drop down selection (top right, near the green `run` :material-play: or `debug` :material-bug: button) and select the assignment you want to run. It will be something like `ai-XXX` where `XXX` is the name of the assignment; |
70 | 70 | 2. If you want to test your assignment against the automated inputs/outputs, select the `ai-XXX-test` build target. Here you should use the `build` :fontawesome-solid-hammer: button, not the `run` :material-play: or `debug` :material-bug: button. It will run the tests and show the results in the `Console` :material-console: tab; |
|
0 commit comments