You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/artificialintelligence/README.md
+36-8Lines changed: 36 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -31,12 +31,43 @@ Upon completion of the Advanced AI for Games, students should be able to:
31
31
-**Integrate** advanced AI seamlessly into game systems for cohesive environments;
32
32
-**Consider** societal impact and consequences of AI applications in gaming;
33
33
34
-
## Schedule for Spring 2024
35
-
36
34
!!! warning
37
-
35
+
38
36
This is a work in progress, and the schedule is subject to change. Every change will be communicated in class. Use the github repo as the source of truth for the schedule and materials. The materials provided in canvas are just a copy for archiving purposes and might be outdated.
Copy file name to clipboardExpand all lines: docs/artificialintelligence/assignments/flocking/README.md
+13-1Lines changed: 13 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,19 @@
1
-
# Flocking agents behavior assignment
1
+
# Flocking agents behavior formal assignment
2
2
3
3
You are in charge of implementing some functions to make some AI agents flock together in a game. After finishing it, you will be one step further to render it in a game engine, and start making reactive NPCs and enemies. You will learn all the basic concepts needed to code and customize your own AI behaviors.
4
4
5
+
You can code this assignment in any language and/or game engine you want. But I already crafted some boilerplates to maximize your efficiency.
6
+
7
+
- (Preferred) Formal and automatically tested: [This current repo](https://github.com/InfiniBrains/Awesome-GameDev-Resources/tree/main/docs/artificialintelligence/assignments/flocking)
8
+
- (Funnier) Interactive with SDL2: [MoBaGEn](https://github.com/InfiniBrains/mobagen/tree/master/examples/flocking/behaviours)
9
+
- (Hard-core) C++ with CMake: [SDL2-CPM-CMake-Example](https://github.com/InfiniBrains/SDL2-CPM-CMake-Example)
10
+
- I don't recommend using Game Engines for this specific assignment. Historically, students fail on the implementation of the double buffering and the math operations. But if you are confident, go ahead.
11
+
12
+
!!! danger "Notes on imprecision"
13
+
14
+
The automated tests of the formal assignment might differ somehow because of floating point imprecison, so don't worry much. If you cannot make it pass 100% of the tests, explain how you tried to solve it and what you think is wrong. I will evaluate your code based on your explanation.
15
+
If you find an issue on my formal description or on the tests, send a PR and I will give you extra points.
16
+
5
17
## What is flocking?
6
18
7
19
Flocking is a behavior that is observed in birds, fish and other animals that move in groups. It is a very simple behavior that can be implemented with a few lines of code. The idea is that each agent will try to move towards the center of mass of the group (cohesion), and will try to align its velocity with the average velocity of the group (AKA alignment). In addition, each agent will try to avoid collisions with other agents (AKA avoidance).
0 commit comments