Labs for Human-like Artificial Agents (Summer 2019/20)

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

History: 20192018<= 2017


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
    1. You will receive the assignment package containing instructions
      1. How to setup the assignment
      2. Assignment descriptions telling you what behavior(s) you should develop
      3. Scoring scheme
    2. I will be available online via Skype (jakub.gemrot) and Discord (PM me!) for any questions
    3. You are free to use whatever materials you want to finish the assignment
    4. The deadline for submitting the solution is always 16:00 (CET) of the same (exam) day

NOTA Exam


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 PDF
2. 2.3.2020 (Mon) Movement WolfBots 5 8.3.2020 (Sun) PDF 15.3.2020 (Sun)
8:00 (CET)
CSV
3. 9.3.2019 (Mon) Item picking ItemPickerSquad 5 15.3.2020 (Sun) PDF   –
4. 16.3.2019 (Mon) Combat DuelistBot 5 22.3.2020 (Sun)
no deadline
PDF, YT  –
5. 23.3.2019 (Mon) Spatial Awareness AdvDuelistBot 10 31.3.2020 (Sun)
no deadline
PDF, YT  12.4.2020 (Sun)
8:00 (CET)
XLS
6. 30.3.2019 (Mon) Team Deathmatch Deathmatch Team 15 5.4.2020 (Sun)
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!

Lab 05 – 23.3.2020

  • Spatial awareness
  • Homework: Pimp your Duelist bot with spatial awareness!

Lab 04 – 16.3.2020

  • Deathmatch, finally!
  • Homework: Implement a Duelist bot

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

Lab 02 – 2.3.2020

  • Mastering low-level movement
  • Homework: Implement wolf-duo

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)
2) Discord (for hints, personal or course issues)
3) Personal consultation (call via Discord/Skype or meeting in person)

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


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 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

 


https://gamedev.cuni.cz/wp-content/uploads/2018/10/logolink_OP_VVV_hor_barva_eng.jpg