Pogamut 3 Pilsen Workshop 2020

We welcome you our student/s :-) or anybody who has ventured up to this point while gathering info about the Pogamut 3 platform, welcome!

This page contains materials for the practice lessons of the Pogamut workshop performed online for Pilsen ZČU university in 2020. The workshop are/were (mainly) backed up by Ondřej Rohlík and Jakub Gemrot.

Contacts

Ondřej Rohlík

Jakub Gemrot: gemrot@gamedev.cuni.cz

Pogamut 3 Installation

We will be using Pogamut 3 platform during the workshop to control bots in Unreal Tournament 2004. In order to be able to use Pogamut 3 bots, follow the steps:

  1. Make sure you have UT2004 in latest version 3369 by downloading and installing the Patch + Megaupdate
    • Note that if you have installed Unreal Anthology, you have both Patch 3369 and the MagePack
  2. Patch your installation of UT2004 with Gamebots2004, download Gamebots2004 and blend the contents of the zip with your UT2004 installation
  3. That's all! Pogamut 3 libraries will be automatically downloaded by Maven once you try to build any of bot templates for the first time

Workshops

Workshop 1 (20.4.2020)

ZOOM.US

Slides 1 - Pogamut Gentle Introduction (PDF)

Slides 2 - Pogamut Low-level API (PDF)

  • Running around UT2004 environment
  • Sensors - self, players
  • Effectors - move, jump, dodge
  • BOT 03 - Rocket Dodger Bot

Workshop 2 (21.4.2020)

ZOOM.US

Slides 3 - Navigation & Communication (PDF)

  • How to navigate within UT2004 environment
  • What items can we pickup and use?
  • How to communicate between bots?
  • BOT 04 - ItemPickerSquad

Workshop 3 (22.4.2020)

ZOOM.US

Slides 4 - Weapons, Shooting, Behavior Oriented Design (PDF)

  • BOD
    • Some crucial parts of theory behind behavior design
    • Two examples: Scripting (plain old Java), OOP (using classes as respective behaviors)
  • Handling your weapons effectively
  • BOT 05 - Smart shooting

Slide 5 - Spatial Awareness, CTF (PDF)

  • Spatial awareness and cover paths
  • BOT 06.1 + 06.2 - Cover-path Item Picking
    • EnviroAwareBot - a bot that you can manually control, otherwise is hiding you
    • CoverPathBot - a bot that will try to run for items in cover; example of custom view of the environment
  • CTF rules and Pogamut support
  • BOT 07 - Flag stealer
  • Reasoning about different paths between flag bases
  • BOT 08 - Finding different paths
  • Automating execution of CTF matches
  • PROJECT 09 - Auto-CTF Match
    • Referential implementation that runs CTF match from Java including starting UT2004 dedicated server on concrete CTF maps and running bots as external processes via execution of their one-jars
  • CTF Bot Advanced Stub
  • BOT 10 - CTF Bot Stub
    • Your CTF bot starting point, includes a lot of features and example code
      • Shares info about items, players and flags within the team
      • Event listeners
      • Various reasoning routines including raycasting routines
      • NavMesh / Path drawing

FAQ

Q: Which version of Pogamut are we using?
A: 3.8.1-SNAPSHOT, always check your pom.xml after you download bot templates.


Q: I am missing help on all methods, attributes and classes (Javadoc is not working). :-/
A: In NetBeans open your project and right click the Dependencies folder, click Download Javadoc, NetBeans should now download Javadoc and the help should be working. If it is not, click also Download Sources and after it is done (watch lower right progress bar) restart NetBeans. Sometimes NetBeans refuse to show help - it can be usually resolved by trying to Download Javadoc several times.


Q: How to disable master server authentication in UT2004?
A: In UT2004/System/UT2004.ini find [IpDrv.MasterServerUplink] and set the following:

[IpDrv.MasterServerUplink]
DoUplink=False
UplinkToGamespy=False
SendStats=False

Q: How can I tell what version of Unreal Tournament 2004 I am running (v. 3369 required)?
A: Just start Unreal Tournament 2004 GUI, open the Join Game tab and the news page will have the number in the upper right corner.

lectures/pilsen_pogamut_2019-20_summer_semester.txt · Last modified: 2020/04/22 14:09 by jakub.gemrot