PAGI World

A sample task in PAGI World
A sample task in PAGI World

NOTE: This page serves as an archive for the development of PAGI World at the RAIR Lab. For more recent information about later developments of PAGI World, go here. PAGI World is no longer maintained by the RAIR Lab or the AMHR Lab.

PAGI World (“pay-guy”), which stands for Psychometric Artificial General Intelligence World, is a simulation environment written in Unity 2D which allows AI and AGI researchers to test out their ideas on a wide variety of tasks, and to create their own tasks, in a real-time environment with realistic physics. PAGI World is designed to be a platform which many researchers can use to compare competing approaches to AI and AGI. With that goal in mind, there are many features which make PAGI World unique:

  • Written in Unity 2D, so that updates to Unity 2D’s physics engine will be incorporated into PAGI World as they come out
  • Many real-world elements have been created that don’t exist in other simulation environments, such as: Water/Fluid Dynamics, Sticky objects, Friction, Vision, etc.
  • Can be run on any major operating system—Windows, Mac OS, most Linux distros, iOS, Android, and more
  • Uses TCP/IP communication, so that AI agents can be written in virtually any programming language
  • Has an easy-to-use GUI Task Builder, so that researchers can create their own PAI or PAGI tasks—or just their own environments for their AI agents to play in—without writing a single line of code.

For a more detailed overview of the project, see: (journal publication coming soon)

The subreddit for this project is located here.

DOWNLOADS

  • PAGI World Documentation (last updated 4/15/2015)
  • Link to GitHub project, which contains source code and the newest versions
  • Link to PAGI World tasks and scripts
  • Versions:
    • NOTE: Individual updates will no longer be posted on this site. Please go to the GitHub page to see what the latest changes are (you will be able to see when the files were last uploaded). You can either go to the above link to download the version with the latest date, or you can automatically get the latest version here: (Mac, Windows, Linux)
    • 3/27/2015 – Version 0.1.4
      • Bug fixes in this version:
        • Bug with MDN and MPN commands fixed, where they wouldn’t respond to calls
        • When resetting PAGI guy’s position from the control panel, his hands now reset as well
        • You can now print text in the PAGI World console using “print,” (see documentation)
        • console now allows you to output to a log file
        • you can now select text in the console (for copy-pasting)
        • The “ESC” key will now close any open menus (useful for when you’re trapped in a textbox)
        • Bug where tcp code was cutting off commands and processing incomplete ones is now fixed. It now makes sure that the commands end in \n before processing. Make sure that your commands end in \n!!!
        • When connection is reset, it forgets all previously connected client IPs
        • Resizing window will no longer mess up the sizes of the menu boxes
        • Buttons for resetting states and reflexes added to control panel
    • 3/19 – Version 0.1.3
      • Bug fixes in this version:
        • fixed peripheral vision bugs
        • changed peripheral vision so it’s farther apart, see documentation
        • you can now enable markers to see where the peripheral and visual sensors are
    • 3/16 – Version 0.1.2
      • Bug fixes in this version:
        • dropItem now uses the name of the item to create. Documentation has been updated. This means that you can create any item that exists and is named.
        • bug where he could jump using trigger boxes is fixed
        • grips/releases in trigger boxes now work properly
        • the option to disable notifications of reflex firings
        • option to reset position of main guy
        • there should be the option to see his x,y coordinates
        • option to modify gravity
        • added ice and lava blocks
        • added the ability to “findObj” in visual field (see documentation)
    • 3/12 – Version 0.1.1
      • Bug fixes in this version:
        • tactile sensors no longer give wrong sized response
        • closed client connections are no longer removed
        • all objects are now named
        • fixed bugs with the reflex and state systems
        • version number now available on the message screen when first starting up
  • Helper libraries for AI side:
    • pyPAGI – python sample code to get you started quick (github project)
    • LISP code – some sample code if you want to write your AI in LISP.