Pogamut 3 Pilsen Workshop 2019

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 at Pilsen ZČU university in 2019. 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

Workshop History

BOTS FROM WORKSHOPS

Workshop 2 (22.3.2019)

Lesson 2.1 - Behavior Oriented Design (PDF)

  • Some crucial parts of theory behind behavior design
  • Two examples: Scripting (plain old Java), OOP (using classes as respective behaviors)

Lesson 2.2 - Tricks, Spatial Awareness, CTF (PDF)

  • Handling your weapons effectively
  • BOT 07 - Smart shooting
  • Spatial awareness and cover paths
  • BOT 08.1 + 08.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 09 - Flag stealer
  • Reasoning about different paths between flag bases
  • BOT 10 - Finding different paths
  • Team Communication and its support in Pogamut 3
  • BOT 11 - TeamComm Example Bot
    • Referential implementation of communication between Pogamut 3 bots via TeamComm server
  • Automating execution of CTF matches
  • PROJECT 12 - 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 13 - 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

Workshop 1 (15.3.2019)

Lesson 1.1 - Pogamut Gentle Introduction (PDF)

Lesson 1.2 - Pogamut Low-level API (PDF)

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

Lesson 1.3 - Navigation & Combat (PDF)

  • How to navigate within UT2004 environment
  • What items can we pickup and use?
  • What weapons are there to shoot with?
  • BOT 04 - Navigation Bot
  • BOT 05 - Collector bot
    • Extend Navigation bot to be able to collect items according to their distance/value ratio
  • BOT 06 - Hunter bot
    • Extend collector bot with combat sub-behavior!

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_2018-19_summer_semester.txt · Last modified: 2019/04/05 12:06 by jakub.gemrot