Labs for Human-like Artificial Agents (Summer 2020/21)


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 ( and Petr Mácha (Bohemia Interactive Simulations,

Labs are containing two tracks Pogamut 3 (Unreal Tournament 2004; up-to a few agent scenarios) and NOTA (always many agent scenarios).

History: 202020192018<= 2017


Follow the appropriate channel at Gamedev Discord!


Pogamut Track (1st half of labs)

  • Runs 9.3.-13.4.2021
  • Videos and slides will be post to the webpage
  • On Tuesdays, 17:20, open online consultations will be conducted

NOTA Track

  • Runs 20.4.-4.6.2021
  • Regular online labs on Tuesdays, 17:20 (see more below)
  • There will be ad-hoc consultations during Friday evening (Petr will share details with you)

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.

Date Topic Homework
(project stubs)
Slides Tournament
1. 9.3.2021 (Tue) First Pogamut 3 Steps SearchBot PDF
2. 16.3.2021 (Tue) Movement WolfBots 5 22.3.2021 (Mon)
23:59 (CET)
PDF, YT 23.3.2021 (TUE)
23:59 (CET)
3. 23.3.2021 (Tue) Item picking ItemPickerSquad 5 29.3.2021 (Mon)
23:59 (CET)
PDF , YT  –
4. 30.3.2019 (Tue) Combat DuelistBot 5 5.4.2021 (Mon)
23:59 (CET)
PDF (2021), YT (2020)  –
5. 6.4.2021 (Tue) Spatial Awareness AdvDuelistBot 10 19.4.2021 (Mon)
23:59 (CET)
PDF (2021), YT (2020)  12.4.2021 (Mon)
23:59 (CET)
6. 13.4.2021 (Tue) Team Deathmatch Deathmatch Team 15 3.5.2021 (Mon)
23:59 (CET)
PDF (2021), YT (2020) 3.5.2021 (Mon)
23:59 (CET)
1, 2, 3

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
  • RESULTS, Maps: 123

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
  • Deadline for bot submission: 23.3.2021, 23:59 (CET)

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.

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 and adminpassword 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
Course knowledge sources
How to get help? Fast hints

1) Trello (for technical issues)
2) Discord (for hints, personal or course issues)
3) Personal consultation (call via Discord/Skype or meeting in person)

(!) 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.

     Date (weekday) time
     Topic Video Assignment Assignment
spec. 07. 04. 2021 (Wed) 10:40 Lua Language Intro  recording lua practice
09. 04. 2021 (Fri) 17:20 On-line Lua consultation (Discord: #msc-nail068-hlaa-labs)
13. 04. 2021 (Tue) 17:20 On-line consultation (Discord: #msc-nail068-hlaa-labs)  –  –
15. 04. 2021 (Thu) 17:20 On-line consultation (Discord: #msc-nail068-hlaa-labs)
1 20. 04. 2021 (Tue) 17:20 NOTA Intro (Discord: #msc-nail068-hlaa-labs) recording intro  –
23. 04. 2021 (Fri) 17:20 On-line consultation (Discord: #msc-nail068-hlaa-labs)  –  –  –
2 27. 04. 2021 (Tue) 17:20 Basics of development (Discord: #msc-nail068-hlaa-labs)  recording sandsail 5
30. 04. 2021 (Fri) 17:20 On-line consultation (Discord: #msc-nail068-hlaa-labs)
3 04. 05. 2021 (Tue) 17:20 Making own primitives I – Sensors (Discord: #msc-nail068-hlaa-labs)  recording
07. 05. 2021 (Fri) 18:00 On-line consultation (Discord: #msc-nail068-hlaa-labs)
4 11. 05. 2021 (Tue) 17:20 Control nodes, Debugging (Discord: #msc-nail068-hlaa-labs)  recording ctp2 5
14. 05. 2021 (Fri) 18:30 On-line consultation (Discord: #msc-nail068-hlaa-labs)
5 18. 05. 2021 (Tue) 17:20 Making own primitives II – Leaf Nodes & Trees (Discord: #msc-nail068-hlaa-labs) recording ttdr 20
21. 05. 2021 (Fri) 18:30 On-line consultation (Discord: #msc-nail068-hlaa-labs)
6 25. 05. 2021 (Tue) 17:20 Subtrees + Aggregation (Discord: #msc-nail068-hlaa-labs) recording  –
28. 05. 2021 (Fri) 18:30 On-line consultation (Discord: #msc-nail068-hlaa-labs)
08. 06. 2021 (Tue) 17:20 Exam task revealed (Discord: #msc-nail068-hlaa-labs) recording swampdota
11. 06. 2021 (Fri) 17:20 On-line consultation – CANCELLED
16. 06. 2021 (Wed) 17:20 On-line consultation (Discord: #msc-nail068-hlaa-labs)
To be decided (Doodle) Exam (Discord: #msc-nail068-hlaa-labs) 100