Pogamut brief introduction
Pogamut is a Java middleware that enables controlling virtual agents in multiple environments provided by game engines. Currently Unreal Tournament 2004 (UT2004), UnrealEngine2RuntimeDemo (UE2), Unreal Development Kit (UDK) and DEFCON game are supported. Pogamut provides a Java API for spawning and controlling virtual agents and GUI (NetBeans plugin) that simplifies debugging of the agents.
The main objective was to simplify the "physical" part of agent creation. Most actions in the environment (even the complicated ones, like pathfinding and gathering information in agent's memory) can be performed by one or two commands. This enables user to concentrate his efforts on the interesting parts.
How to cite PogamutPlease refer to this paper when citing the Pogamut in an academic publication:
Gemrot, J., Kadlec, R., Bida, M., Burkert, O., Pibil, R., Havlicek, J., Zemcak, L., Simlovic, J., Vansa, R., Stolba, M., Plch, T., Brom C.: Pogamut 3 Can Assist Developers in Building AI (Not Only) for Their Videogame Agents. In: Agents for Games and Simulations, LNCS 5920, Springer, 2009, pp. 1-15. (PDF)
If you are using only GameBots part of our project, you can cite this paper in your references:
Bida, M., Cerny, M., Gemrot, J., Brom, C.: Evolution of GameBots project. In: Herrlich, M., Malaka, R., Masuch, M. (eds.) ICEC 2012. LNCS, vol. 7522, pp. 397--400. Springer, Heidelberg, 2012. (PDF)
What will you find on these pages
These pages serve as a community portal for Pogamut 3 platform. Information about recent releases and other relevant events can be found in News. Latest version of Pogamut 3 can be downloaded in Download section. More information about the platform as well as a number of tutorials can be found in Documentation section. Community section holds links to related projects and projects based on the Pogamut platform as well as a link to community forum (register here) and Pogamut development wiki page. Publications section contains all published papers about Pogamut platform. Links section provides a number of interesting links. And Screenshots page shows screenshots of Pogamut 3 platform and Unreal Tournament content. You may also report bugs through Pogamut Mantis.
Pogamut 3 developer wiki page contains many useful information for developers interested in Pogamut 3 platform or users that want to develop a project on top of Pogamut platform. Page holds list of all projects developed on Pogamut platform as well as proposals of new projects and development guidelines.
Pogamut promo video
The intended use of Pogamut platform is twofold. Firstly, Pogamut can be used to teach the students about the problematics of virtual agent development. Secondly, researchers or enthusiasts can use Pogamut for research or evaluation purposes. Pogamut allows user to fast code his virtual character in a virtual world and solves a number of low level problems such as a) connecting to the environment, b) exporting information about the virtual world or c) providing a basic path finding. Perhaps the best idea about Pogamut use cases can be provided by a list of projects that exploited Pogamut in some way. The list can be found below with a brief overview of the projects.
To get a basic feel about how does the Pogamut platform look like refer to the images below.
Pogamut architecture. The information from the environment UT2004 are exported through TCP/IP by GameBots2004 text protocol. These text messages are processed by Java library - Gavialib, so the Pogamut agent can work with Java objects. Pogamut agent can be debugged remotely through JMX protocol through Pogamut NetBeans plugin.
Pogamut 3 NetBeans plugin. On the left side you can see a server with a list of connected bots. On the right side you can see a visualization of navigation grid of the actual map.
Below are some videos of simple working bots created with Pogamut 3 platform in UnrealEngine2RuntimeDemo:
The Pogamut (PogamutCore and Netbeans Plugin) is distributed under GNU GPL v3 license.
Note that the GameBots2004 goes under the different license as it is written in UnrealScript.
Note that providing a Pogamut under a different license can be discussed especially in cases where you need to couple Pogamut jar files with another open-source project that has incompatible license with GPLv3.
Also please note that if you want to contribute to the Pogamut code than we retain the rights to relicense the Pogamut if needed.
AcknowledgementExtensions to Pogamut that allowed us development of educational high-schools projects, and innovations concerning education of undergraduate students were financially supported by the project CZ.2.17/3.1.00/31162 financed by the European Social Fund (2009 - 2011). Project page
Prague and EU: we invest into your future!
Research on action selection and planning using Pogamut is supported by P103/10/1287 (GACR, 2010 - 2012) and by a student grant GA UK No. 0449/2010/A-INF/MFF (2010 - 2012).
In past, the research on Pogamut was supported by GA UK 1053/2007/A-INF/MFF (2007-8), GA UK 351/2006/A-INF/MFF (2006-8), the Ministry of Education of the Czech Republic (grant MSM0021620838) (2008-9) and by the Program "Information Society" under project 1ET100300517 (2006-9).