Contents
This page contains materials for labs of the Human-like Artificial Agents (NAIL068) course (lectures webpage here) that is taught during summer semester of 2019/20 at Charles University in Prague, Czech Republic. The course is lead mainly by Cyril Brom and Jakub Gemrot. Labs are backed up by Jakub Gemrot (gemrot@gamedev.cuni.cz) and Petr Mácha (Bohemia Interactive Simulations, petr.macha@bisimulations.com).
Labs are containing two tracks Pogamut 3 (Unreal Tournament 2004; up-to a few agent scenarios) and NOTA (always many agent scenarios).
History: 2021, 2020, 2019, 2018, <= 2017
News
Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ
Dates
Pogamut Track (1st half of labs)
- Runs 15.2.-24.3.2022
- It will have slides/video format only
- Plus, Jakub Gemrot will be available for consultations every Wednesday 21-23:00 at Discord, feel free to ping him
NOTA Track
- Runs 29.3.2022-May 2022 (2nd half of labs)
- Format:
- Discord call sessions with slides 1-2x a week (based on number of people attending, Tuesday/Thursday)
- All sessions will be recorded (with permision of people present on the call)
- All sessions are interactive similarly to in-person labs (= Petr Mácha speaking/listening, students speaking/listening)
- Consulatation
- Sessions via Discord or live in person (based on students preference) in regular time (Friday’s afternoons)
- Add hoc consulation hours can be individually set up anytime via Discord – just write personal message to Petr Mácha)
- Discord call sessions with slides 1-2x a week (based on number of people attending, Tuesday/Thursday)
How to pass the labs – Homeworks
There will be two tracks of homeworks: Pogamut 3 (Unreal Tournament 2004) and NOTA. You have to do the BASE variants of ALL homeworks in BOTH tracks.
There will be 6 Pogamut 3 homeworks and 4 NOTA homeworks.
Moreover, there will be ADVANCED parts of homeworks. Successfully delivering advanced parts of homeworks will ease the final exam for you. In each track, you can score up-to 40 points. Those points contribute to the overall track score.
How to pass the course – The Final Exam
There will be two tracks of the final exams: Pogamut 3 (Unreal Tournament 2004) and NOTA. You have to successfully pass at least ONE of them to finish the course.
The final exam will be about creating one complex behavior or solve one complex scenario using techniques and tools you will learn throughout the labs.
In each track, you can receive 0-90 points for solving the final exam.
The final score of the track is then made of the sum of “final exam points” and “homework points”, so in theory, you can ean up-to 130 points in a given track.
You will receive the grade according to the higher of track scores, which forms your final score.
Final_score = MAX{Pogamut_3_track_score, NOTA_track_score} translates to the grades as follows.
Final Scoring | Final Grade |
[0-55) | Fail |
[55-70) | C |
[70-85) | B |
[85-130] | A |
Pogamut 3 Track
Follows the list of Pogamut 3 Track labs including their details and points you can gather by doing advanced part of homeworks.
Lab No. |
Date | Topic | Homework (project stubs) |
Max Advanced Points |
Advanced Points Deadline |
Slides / Video / Resources | Tournament Submission Deadline |
Tournament Results |
1. | 15.2.2022 (Tue) 17.2.2022 (Thu) |
First Pogamut 3 Steps | SearchBot | – | – | PDF, YT, GB2004, EMPTY BOT |
– | – |
2. | 22.2.2022 (Tue) 24.2.2022 (Thu) |
Movement | WolfBots | 5 | 6.3.2021 (Sun) 23:59 (CET) |
PDF, YT | 6.3.2022 (Sun) 23:59 (CET) |
CSV |
3. | 1.3.2022 (Tue) 3.3.2022 (Thu) |
Item picking | ItemPickerSquad | 5 | 13.3.2022 (Sun) 23:59 (CET) |
PDF, YT (2021) | – | – |
4. | 8.3.2022 (Tue) 10.3.2022 (Thu) |
Combat | DuelistBot | 5 | 20.3.2022 (Sun) 23:59 (CET) |
PDF, YT (2020) | – | – |
5. | 15.3.2022 (Tue) 17.3.2022 (Thu) |
Spatial Awareness | AdvDuelistBot | 10 | 27.3.2022 (Sun) 23:59 (CET) |
PDF, YT (2020) | 27.3.2022 (Sun) 23:59 (CET) |
XLS ZIP |
6. | 22.3.2022 (Tue) 24.3.2022 (Thu) |
Team Deathmatch | Deathmatch Team | 15 | 3.5.2022 (Sun) 23:59 (CET) |
PDF, YT (2020) | 3.5.2022 (Sun) 23:59 (CET) |
XLS ZIP |
GameBots 2004
- WARNING: There is new GameBots2004 version, that is fixing LevelGeometry stuff, download it now!
- Do not forget also to update Pogamut Java libraries!
Tournament 3 – Team Deathmatch
- Table-tournament, all teams fight all other teams
- 4v4
- Three maps: DM-Rankin-FE, DM-Roughinery-FPS, DM-DE-Ironic-FE
- Advanced points: 16/12/8/4 awarded to the 1st / 2nd / 3rd / 4th place
Tournament 2 – Deathmatch
- Table-tournament, all bots fight all other bots
- One map: DM-Roughinery-FPS
- Advanced points: 12/9/6/3 awarded to the 1st / 2nd / 3rd / 4th place
Tournament 1 – Wolves & Sheep
- The best wolves duo (the most sheeps / the fastest) wins!
- One map: DM-TagMap
- Advanced points: 8/6/4/2 awarded to the 1st / 2nd / 3rd / 4th place
Tips & Tricks
UT2004 on Windows 10 – Broken CD-Key
If UT2004 gives you an error that your CD Key appears to be invalid, then try to follow this advice.
Basically, it sometimes happen that registry entry containing CD Key that is required by UT2004 to be present in order to run, is misplaced. Personally, I had to find mine (look for UT2004
registry key, it should have an entry "CDKey"="xxxxx-xxxxx-xxxxx-xxxx"
) and move it to correct place, which on Windows 10 is HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Unreal Technology\Installed Apps\UT2004
Once moved, game runs as usual.
UT2004 won’t run my GB2004
Sometimes it help to delete UT2004\System\UT2004.ini
file. Check it out. UT is able to regenerate it.
You need to use old Java 1.8 JDK, you can obtain one here from the Oracle Archives. Once installed, you need to added into the Eclipse via Menu -> Window -> Preferences -> Java -> Installed JREs -> Add button.
Full HD of Java apps on Windows 10
If you have problems with >FullHD resolutions on Windows 10, read this tip. You have to create a .manifest file for javaw.exe within your JDK or JRE folder.
Adding native bots into UT2004
By Marius Anagnoste
I found an easy way to add bots to the servers so students can test their bots against the UT2004 bots.
- To do so, in the server .bat file, add parameters like:
?difficulty=7?numbots=1?
adminname=user?adminpassword= pass?minplayers=2 - Difficulty is between 1 and 7, with 7 being the Godlike bot.
Adminname
andadminpassword
are for players to login as admins. Change them as desired. - Start up the server and the game, and while spectacting, bring up your game console with
~
or whatever other key (depending on keyboard) and login with:adminlogin user pass
- And then, to use server commands, prefix them with admin:
admin addbots 1
- To remove bots:
admin killbots
Nota Track
Information sources | |
Seminar schedule and consultation hours & places | this page |
Latest news/updates & streamed lessons | Gamedev Matfyz on Discord, room #msc-nail082-hlaa |
Registration for e-mail announcements & personal consultation scheduling | petr.macha@bis.im |
Course knowledge sources |
|
How to get help? | Fast hints
1) Trello (for technical issues) (!) ONLY Personal consultation (call via Discord/Skype or meeting in person) Assignments solutions sent via e-mail have no response time guaranteed. |
Follows the list of NOTA Track labs including their details and points you can gather by doing advanced parts of the track homeworks.
Lab No. |
Date (weekday) time |
Topic | Video | Assignment | Assignment points Advanced |
||
1 | 29. 03. 2022 (Tue) 17:30 | P1: NOTA Intro (Discord: #msc-nail068-hlaa-labs) | recording | intro | – | ||
1 | 31. 03. 2022 (Thu) 17:20 | P2: NOTA Intro (Discord: #msc-nail068-hlaa-labs) | recording | – | |||
01. 04. 2022 (Fri) 14:00 | On-line/In person consultation time (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
spec. | 07. 04. 2022 (Thu) 17:20 | Lua Language Intro Petr Mácha + Martin Sochor (BISimulations) | recording | lua practice | – | ||
08. 04. 2022 (Fri) 14:00 | On-line/In person consultation time (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
2 | 12. 04. 2022 (Wed) 17:30 | P1: Basics of development (Discord: #msc-nail068-hlaa-labs) | recording | sandsail | 5 | ||
2 | CANCELLED | ||||||
18. 04. 2022 (Mon) 18:00 | On-line/In person consultation time (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
3 | 19. 04. 2022 (Tue) 17:30 | P1: Making own primitives I – Sensors (Discord: #msc-nail068-hlaa-labs) | recording | – | – | ||
3 | 21. 04. 2022 (Thu) 19:00 | P2: Making own primitives I – Sensors (Discord: #msc-nail068-hlaa-labs) | recording | – | – | ||
22. 04. 2022 (Fri) 16:00 | On-line/In person consultation time (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
4 | 03. 05. 2022 (Tue) 17:30 | Control nodes, Debugging (Discord: #msc-nail068-hlaa-labs) | recording | ctp2 | 5 | ||
4 | 05. 05. 2022 (Thu) 17:20 | Control nodes, Debugging (Discord: #msc-nail068-hlaa-labs) | recording | ||||
5 | 10. 05. 2022 (Tue) 17:30 | Making own primitives II – Leaf Nodes & Trees (Discord: #msc-nail068-hlaa-labs) | recording | ttdr | 20 | ||
5 | 12. 05. 2022 (Thu) 17:20 | Making own primitives II – Leaf Nodes & Trees (Discord: #msc-nail068-hlaa-labs) | recording | ||||
6 | 17. 05. 2022 (Tue) 17:30 | Subtrees + Aggregation (Discord: #msc-nail068-hlaa-labs) | recording | swampdota | 100 | ||
6 | 19. 05. 2022 (Thu) 17:20 | Subtrees + Aggregation (Discord: #msc-nail068-hlaa-labs) | recording | ||||
Personal arrangements | On-line/In person consultation time (Discord: #msc-nail068-hlaa-labs) | – | reclamation | training | |||
16. 06. 2022 (Thu) 14:00 | Exam (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
24. 06. 2022 (Fri) 14:00 | Exam (Discord: #msc-nail068-hlaa-labs) | – | – | – |