Pogamut 3 Pilsen Workshop 2017

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

Workshop History

Workshop 2 (20.3.2017)

Lesson 2 - CTF FTW Mayhem (PDF)

  • Tricks how to encode smart shooting
  • BOT 05 - SmartShooterBot
  • BOT 06 - RunCoverBot
      • implement item collector that is preferring travelling unseen!
      • run at DM-1on1-Albatross
      • finish implementation of CoverMapView and provide item collecting behavior
  • BOT 07 - FlagStealerBot
  • BOT 08 - DifferentPathsBot
  • BOT 09 - TeamCommBot
    • The assignment is actually to learn from the code!
    • Start CTF game
    • Start TCServer
    • Start bots
    • Read logs
    • Read code to learn how it is designed!
  • BOT 10 - Automated CTF Matches
    • This actually is not a bot but a project that shows you how you can automate evaluation of your bots!
    • But it actually contains simple CTFBot it uses for the show case…
  • BOT 11 - CTFBot!
    • Now wrap it all together and create CTF UBER-BOTS TEAM!
    • You're on your own here ;-)

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!

Pogamut 3 platform installation

Installers:

  • Pogamut UT2004 3.7.0. Get them at Pogamut download page
  • Date: 22.2.2015
  • For Pogamut UT2004 Installer you have to have UT2004 installed somewhere.
  • Both installers will install: Maven 3.0.4, NetBeans plugins, Pogamut Example archetypes. Note that you need NetBeans 7.4, otherwise Pogamut archetypes won't be accessible from NetBeans context menu (New Project → Maven → Project From Archetype → Local Archetypes Catalog).
  • Before you launch the bot, you need to start Unreal server:
    • For UT2004, go to directory Unreal Anthology/UT2004/System and there launch startGamebotsDMServer.bat. To observe the bot in the environment launch startUT2004low.bat from the same directory.

Alternatively

  • If you have UT2004 installed, you can follow guidelines of tutorial Pogamut 3 quickstart tutorial found at Pogamut Documentation page. However, we recommend to use installers above.

FAQ

Q: Which version of Pogamut are we using?
A: 3.7.0, always check your pom.xml after you download bot templates or materialize Maven archetypes to check whether you're using correct version.


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 do I create PogamutUT2004 Bot project in NetNeans from archetype?
A: Its easy. Simply click New Project, from categories choose Maven. From projects choose Maven project. Click on Next. Click on Add… button and the NetBeans will ask you about archetype details. That is :

Full list of available archetypes can be found here. (always use repository above)

Also be sure that NetBeans is using Maven 3.0.4! Obtain Maven from here: Maven 3.0.4. After unpacking, go to NetBeans→Tools→Options→Miscellaneous→sheet Maven→set Maven home directory.


Q: I have a problem with imports - the NetBeans help doesn't work. :-/
A: Two solutions, either add PogamutUT2004.jar and PogamutCore.jar to libraries to your project (the help should be working), or add imports to your class manually. Some useful imports:

import cz.cuni.amis.pogamut.base3d.worldview.object.*; //for Location, Velocity..
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.*; //GB commands
import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.*; //GB messages

Q: I am a student and want to use Pogamut, but I don't have UT2004.
A: Unfortunately school cannot provide you with UT2004 - however you are free to use Pogamut in SW1 laboratory (when it is free) and there is one Pogamut computer in MS lab (far end against the entrance) where we can create an account for you. Second solution is to use UnrealEngine2RuntimeDemo exclusively, which is free for educational purposes and which is installed with Pogamut Emohawk installer.


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: I'm trying to setup @EventListener or @ObjectClassEventListener in POSH actions (or senses) and they are not working, why?
A: These listeners works only in XxxContext classes. You have to declare them there and then access them from actions or senses.


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_2016-17_summer_semester.txt · Last modified: 2017/03/19 23:34 by jakub.gemrot