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 three tracks Pogamut 3 (Unreal Tournament 2004; single agent scenarios), Unity, and NOTA (always many agent scenarios).
History: 2022, 2021, 2020, 2019, 2018, <= 2017
News
Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ
Dates
Pogamut Track (1st half of the 1st half of labs)
- Runs 15.2.-8.3.2023
- IRL in SW2
Unity Track (2nd half of the 1st half of labs)
- Runs 22.3.-29.3.2023
- IRL in SW2
NOTA Track (2nd hald of labs)
- Runs 5.4.2023-May 2023
- Format: [TBD]
- 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 4 Pogamut 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 labs
You need to do all the homeworks for both Pogamut 3 and NOTA.
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 |
Materials | Tournament Submission Deadline |
Tournament Results |
1. | 15.2.2023 (Wed) | First Pogamut 3 Steps | SearchBot | – | – | PDF Bot Lab Bot HW Old recording (contains some irrelevant org. info) |
– | – |
2. | 22.2.2023 (Wed) | Movement | WolfBots | 10 | 6.3.2023 (Mon) 23:59 (CET) |
PDF Bot Recording (2021) |
6.3.2023 (Mon) 23:59 (CET) |
CSV |
3. | 1.3.2022 (Wed) | Item picking | ItemPickerSquad | 10 | 13.3.2023 (Mon) 23:59 (CET) |
PDF Bot Recording (2021) |
– | – |
4. | 8.3.2022 (Tue) 10.3.2022 (Thu) |
Combat | DuelistBot | 20 | 20.3.2023 (Mon) 23:59 (CET) |
PDF BOT Recording (2020) |
27.3.2022 (Mon) 23:59 (CET) |
XLS |
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
- Results: CSV
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
- Results: XLS
- There are multiple people on 2-6th place!
- Total points to distribute is 18, so I give 4 extra points to all of you
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_MACHINESOFTWAREWow6432NodeUnreal TechnologyInstalled AppsUT2004
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.
Pogamut Bot is not starting, some Guice (initialization) related error
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
Unity Track
Follows the list of Unity Track labs including their details.
Lab No. |
Date | Topic | Materials |
5. | 15.3.2023 (Wed) | Cancelled | – |
6. | 22.3.2023 (Wed) | Steerings in Unity | Unity Steerings Project |
7. | 29.3.2023 (Wed) | FSM-based AI in Unity | Unity-Behaviours-Project |
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). I’m ready to schedule multiple extra consultation sessions if needed. Assignments solutions sent via e-mail have no response time guaranteed. |
Lab No. | Date (weekday) time |
Topic | Video | Assignment | Assignment points Advanced |
||
1 | 04. 04. 2023 (Tue) 17:30 | P1: NOTA Intro (Discord: #msc-nail068-hlaa-labs) | recording | intro | – | ||
06. 04. 2023 (Thu) 18:00 | P2: NOTA Intro + On-line consultation time (Discord: #msc-nail068-hlaa-labs) | – | intro | – | |||
2 | 11. 04. 2023 (Tue) 17:30 | Basics of development (Discord: #msc-nail068-hlaa-labs) | recording | sandsail | 5 | ||
11. 04. 2023 (Tue) 19:00 | On-line consultation time (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
spec. | 12. 04. 2023 (Wed) 19:00 | Lua Language Intro Petr Mácha + Martin Sochor (BISimulations) (Discord: #msc-nail068-hlaa-labs) | recording | Lua practice | optional | ||
3 | 02. 05. 2023 (Tue) 17:20 | Making own primitives I – Sensors (Discord: #msc-nail068-hlaa-labs) | recording | – | – | ||
03. 05. 2023 (Wed) 19:00 | On-line consultation time (Discord: #msc-nail068-hlaa-labs) | – | – | – | |||
4 | 10. 05. 2023 (Wed) 20:00 | Control nodes, Debugging (Discord: #msc-nail068-hlaa-labs) | recording | ctp2 | 5 | ||
12. 05. 2023 (Fri) 19:00 | On-line consultation time (Discord: #msc-nail068-hlaa-labs) | ||||||
17. 05. 2023 (Wed) 19:00 | On-line consultation time (Discord: #msc-nail068-hlaa-labs) | ||||||
5 | 18. 05. 2023 (Thu) 18:00 | Making own primitives II – Leaf Nodes & Trees (Discord: #msc-nail068-hlaa-labs) | recording | ttdr | 20 | ||
spec. | 23. 05. 2023 (Tue) 17:30 | Subtrees + Aggregation (Discord: #msc-nail068-hlaa-labs) | recording | reclamation | optional | ||
spec. | 24. 05. 2023 (Wed) 19:00 | On-line/In person consultation time (Discord: #msc-nail068-hlaa-labs) | – | ||||
MM. DD. 2023 () 14:00 | Exam (Discord: #msc-nail068-hlaa-labs) | – | swampdota | 100 | |||
MM. DD. 2023 () 14:00 | Exam (Discord: #msc-nail068-hlaa-labs) | – | swampdota | 100 |