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).
Permalink to this page: http://bit.ly/mff-uk-hlaa-labs-2020
News
Follow the appropriate channel at Gamedev Discord!
https://discord.gg/c49DHBJ
Dates
Labs (two parallels): Mondays, 9:00 and 10:40, SW2 (we start 24.2.2020)
Pogamut Exams
- Wednesday 24.6.2020, online
- Sign-up via Doodle
- All who signs up will receive the assignment 9:00 (CET) and will have time to submit the solution till 16:00 (CET) the very same day
- Thursday 23.7.2020, online
- Sign-up via Doodle
- All who signs up will receive the assignment 9:00 (CET) and will have time to submit the solution till 16:00 (CET) the very same day
- Both exams will have the same format
- You will receive the assignment package containing instructions
- How to setup the assignment
- Assignment descriptions telling you what behavior(s) you should develop
- Scoring scheme
- I will be available online via Skype (jakub.gemrot) and Discord (PM me!) for any questions
- You are free to use whatever materials you want to finish the assignment
- The deadline for submitting the solution is always 16:00 (CET) of the same (exam) day
- You will receive the assignment package containing instructions
NOTA Exam
- If you plan to take the exam, fill this Doodle!
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 5 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.
COVID-19 UPDATE: there are no deadlines for advanced points for homeworks 4, 5 and 6.
Lab No. |
Date | Topic | Homework (project stubs) |
Max Advanced Points |
Advanced Points Deadline |
Slides | Tournament Submission Deadline |
Tournament Results |
1. | 24.2.2020 (Mon) | First Pogamut 3 Steps | SearchBot | – | – | – | – | |
2. | 2.3.2020 (Mon) | Movement | WolfBots | 5 | 8.3.2020 (Sun) | 15.3.2020 (Sun) 8:00 (CET) |
CSV | |
3. | 9.3.2019 (Mon) | Item picking | ItemPickerSquad | 5 | 15.3.2020 (Sun) | – | – | |
4. | 16.3.2019 (Mon) | Combat | DuelistBot | 5 | no deadline |
PDF, YT | – | – |
5. | 23.3.2019 (Mon) | Spatial Awareness | AdvDuelistBot | 10 | PDF, YT | 12.4.2020 (Sun) 8:00 (CET) |
XLS | |
6. | 30.3.2019 (Mon) | Team Deathmatch | Deathmatch Team | 15 | no deadline |
PDF, YT | 31.5.2020 (Sun) 8:00 (CET) |
XLS |
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!
Lab 06 – 30.3.2020
- Team Behaviors
- Homework: Implement a team of 4 bots for TDM!
- To start solving the homeworking, download TeamBot project
Lab 05 – 23.3.2020
- Spatial awareness
- Homework: Pimp your Duelist bot with spatial awareness!
- To start solving the homework, download AdvDuelistBot project
Lab 04 – 16.3.2020
- Deathmatch, finally!
- Homework: Implement a Duelist bot
- To start solving the homework, download DuelistBot project
Lab 03 – 9.3.2020
- Picking item up in a team
- First team-oriented assignment where your bots need to use TeamComm server (“instant messaging” for UT2004 bots) as they will be running in separate JVMs!
- Homework: Implement item-picking squad of 3 bots
- To start solving the homework, download ItemPickerSquad project
Lab 02 – 2.3.2020
- Mastering low-level movement
- Homework: Implement wolf-duo
- To start solving the homework, download Wolves&Sheep project
Lab 01 – 24.2.2020
- First Pogamut 3 steps, try to locate and have some (shooting) chat with another bot within the environment
- To start playing with the bots, download EmptyBot project
- Homework: to implement the SearchBot, check its javadoc entry within the SearchBot.java file for the description
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 (XLS)
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)
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: 15.3.2020, 8:00 (CET)
- RESULTS (CSV)
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) Assignments deliveries after 11. 5. 2020 (!) 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 |
||
spec. | 31. 03. 2020 (Tue) 13:00 | Lua Language Intro | lua practice | – | |||
spec. | 03. 04. 2020 (Fri) 15:00 | Lua Language Intro (repetition) | lua practice | – | |||
10. 04. 2020 (Fri) 15:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
17. 04. 2020 (Fri) 15:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
1 | 20. 04. 2020 (Mon) 17:20 | NOTA Intro (Zoom: https://matfyz.zoom.us/j/94645667027) | intro | – | |||
20.04. 2020 (Mon) 18:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
24. 04. 2020 (Fri) 15:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
2 | 27. 04. 2020 (Mon) 17:20 | Basics of development (Zoom: https://matfyz.zoom.us/j/94645667027) | sandsail | 5 | |||
27. 04. 2020 (Mon) 18:50 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
3 | 07. 05. 2020 (Thu) 17:20 | Making own primitives I – sensors | – | – | |||
07. 05. 2020 (Thu) 19:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
4 | 11. 05. 2020 (Mon) 17:20 | Control nodes, Debugging (#msc-nail068-hlaa-seminar-consultations) | full | ctp2 | 5 | ||
11. 05. 2020 (Mon) 19:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
15. 05. 2020 (Fri) 15:00 | On-line/personal consultation | ||||||
5 | 18. 05. 2020 (Mon) 17:20 | Making own primitives II – nodes (#msc-nail068-hlaa-seminar-consultations) | 1, 2, 3 | ttdr | 20 | ||
18. 05. 2020 (Mon) 19:00 | On-line consultation (#msc-nail068-hlaa-seminar-consultations) | ||||||
5+ | 22. 05. 2020 (Fri) 15:00 | On-line group consultation + practice | full | ||||
6 | 25. 05. 2020 (Mon) 17:20 | Aggregation | 1, 2 | ||||
6+ | 29. 05. 2020 (Fri) 15:30 | On-line group consultation + practice | full | ||||
6+2 | 01. 06. 2020 (Mon) 17:20 | On-line group consultation + practice | |||||
(05. 06. 2020 (Fri) 15:00) | Personal consultation slot, currently not scheduled, yet | ||||||
6+3 | 08. 06. 2020 (Mon) 17:20 | On-line group consultation + practice | |||||
~end of first week in June | Exam task revealed | swampdota | (exam task) |
Lab 07 – 6.4.2020
- We will play with NOTA a bit
- We’ve set up development environment according to the following GDrive doc
- Homework – setup development environment for you at home
- Videos
Tips & Tricks
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