Pages: [1]
  Print  
Author Topic: Quagents research project  (Read 18811 times)
GrosBedo
Member


Cakes 20
Posts: 710


« on: May 04, 2013, 05:07:14 PM »

A new research project using both ioquake3 and OpenArena assets:

Quote
Quagents: An Intelligent Agent Testbed


Welcome to the TRAC home of the Quagents project. The goal of the project is the development of an immersive, interactive testbed for intelligent agents in realistic environments. This one part of a broader effort to develop collaborative assistants for team activities in virtual environments.

This project is supported by the National Science Foundation, Award No. IIS-1016486. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Quagents website:
http://www.cs.rochester.edu/trac/quagents

Quote
Quagents loads the majority of its assets (including textures, video, sound, in-game models, icons, menu graphics, maps, botfiles, and so on) from pk3 files. A pk3 file is identical to a zip file. pk3 file are loaded in reverse alphabetical order, never overriding files. So, if there are two files of the same name in pak0.pk3 and pak1.pk3, the file in pak1.pk3 will be used. Outside of this collision handling, it does not matter which pk3 file some asset resides in. For organizational purposes, we maintain many different pk3 files, but the game would run just fine if we combined them all into a larger pk3 file.

Most of our art assets come from OpenArena (​http://www.openarena.ws/). The OpenArena pk3 files are located at: trunk/openarena_assets, and are copied over into the proper directory as part of the compilation process (make relocate). The OpenArena pakfiles are:

oa_pak0.pk3 : contains the majority of icons, special effect textures, sounds, sprites, non-player models, and virtual machine code for OpenArena. We override this virtual machine code with our own in quagents_vm.pk3.
oa_pak1-maps.pk3 : contains levelshots (screenshots for loading screens) and maps for running OpenArena on.
oa_pak2-players.pk3 : contains models and textures of the OpenArena player characters.
oa_pak2-players-mature.pk3 : contains models and textures of the less modest OpenArena player characters.
oa_pak4-textures.pk3 : contains brush textures for maps, environment objects, and skyboxes.
oa_pak5-TA.pk3 : contains team arena assets. Currently we do not compile Team Arena (the "missionpack"). You can change the makefile if you would like access to the extra features the missionpack provides.
oa_pak6-misc.pk3 :
http://www.cs.rochester.edu/trac/quagents/wiki/pk3%20files
Logged
CGB01
Half-Nub


Cakes 2
Posts: 63



« Reply #1 on: May 04, 2013, 05:56:36 PM »

Quote
A new research project using both ioquake3 and OpenArena assets

A new research project?  Most of the wiki pages are nearly 2 years old.  Also I failed to see the "purpose" of this project?  AI development?  Hmm, I was doing that back in the early '90s and they sure are not specific about anything around their wiki pages.

This could have been a fun project but it looks like it fizzeled away into nothingness some time ago.  Sad

Logged
GrosBedo
Member


Cakes 20
Posts: 710


« Reply #2 on: May 05, 2013, 08:07:45 AM »

New in the sense that I have never heard any reference to it anywhere (included on ioquake3, I have also posted there).

Also the project is not that old, the main wiki page was last edited 1 year ago (quite recent for a research project). You cannot just say that a project is old and dead because of the oldest pages, else you would say that OpenArena is dead since the oldest posts in this forum are from more than 5 years ago.

Indeed their wiki page is full of technical details, but the descriptions about the project are very vague.

I think their project is to make a pseudo-realtime virtual platform for the development of agents.

Basically, you have ioquake3 to manage the whole virtual world, and then they've developped an API so that you can code your bot in any language and connect it to the server, and make the bot do whatever you want. There are examples in several languages, Python and Java included.

The API provides images (screenshot of the game or even depth maps!) and actuators.

Also it seems the project is quite finished and polished, they couldn't finish a few things but they are merely addons and the software seems to actually completely work.

This is a very interesting project for anyone interested in Artificial Intelligence and particularly in the agents theory, it's quite a nice sandbox for developping complex agents (you just have to focus on making your agent, the infrastructure is already done for you).
« Last Edit: May 05, 2013, 08:12:19 AM by GrosBedo » Logged
grey matter
Member


Cakes 8
Posts: 381

>9k


« Reply #3 on: May 06, 2013, 11:42:52 AM »

Is the server binary still compatible with regular clients? I.e. could you use server+agents as a regular online server?
Logged

This space is for rent.
GrosBedo
Member


Cakes 20
Posts: 710


« Reply #4 on: May 06, 2013, 11:56:58 AM »

Is the server binary still compatible with regular clients? I.e. could you use server+agents as a regular online server?

That's a very good question and I don't have the answer since I'm not part of that project, but reading from their wiki it seems they tried to cleanly add their additions while keeping compatibility just like regular ioquake3 servers.

But indeed if it can be used as a regular online server, it would allow developpers to make bots to fight not only other bots but also players. That would be genius!
Logged
GrosBedo
Member


Cakes 20
Posts: 710


« Reply #5 on: May 11, 2013, 07:36:37 AM »

Highly interesting stuff:

Quote
Capture The Flag

The Capture The Flag? scenario represents a data collection and processing experiment. The goal of this experiment is to collect data on how players play capture the flag, with the intent of formulating a model of capture the flag behaviors. This process contains many interesting research questions, which will be elaborated on in a following section.

Quagents Implementation

Capture the Flag is implemented in Quagents using server modifications to automatically periodically log location data for all players. This data is timestamped and tagged with player ids. Quagents does not (currently) provide any analysis tools for this data, so it is left to the researcher to use the data as they see fit.

Future Work

A possible future research project for the Quagents system would be to try and learn a model for capture the flag using the logfile data, and implement this model into Quagent players. It would be interesting to examine the implications of any such model - how does it generalize? could the Quagent players act more effectively than human players? how would effective a hybrid team of Quagents and Players be? There is an opportunity for interesting collaboration research using this approach.

http://www.cs.rochester.edu/trac/quagents/wiki/Capture%20the%20Flag

For sure this would be a very interesting research project!
Logged
Suicizer
Member
Member
*

Cakes 2
Posts: 402


WWW
« Reply #6 on: August 29, 2013, 04:30:04 PM »

Highly interesting stuff:

Quote
Capture The Flag

The Capture The Flag? scenario represents a data collection and processing experiment. The goal of this experiment is to collect data on how players play capture the flag, with the intent of formulating a model of capture the flag behaviors. This process contains many interesting research questions, which will be elaborated on in a following section.

Quagents Implementation

Capture the Flag is implemented in Quagents using server modifications to automatically periodically log location data for all players. This data is timestamped and tagged with player ids. Quagents does not (currently) provide any analysis tools for this data, so it is left to the researcher to use the data as they see fit.

Future Work

A possible future research project for the Quagents system would be to try and learn a model for capture the flag using the logfile data, and implement this model into Quagent players. It would be interesting to examine the implications of any such model - how does it generalize? could the Quagent players act more effectively than human players? how would effective a hybrid team of Quagents and Players be? There is an opportunity for interesting collaboration research using this approach.

http://www.cs.rochester.edu/trac/quagents/wiki/Capture%20the%20Flag

For sure this would be a very interesting research project!

Have they ever thought of letting players drop waypoints during their quest to the opponent's flag? It's an easy and effective way to act like a player as the player drops the waypoints.
Logged

I'm good at everything but can't do anything...
GrosBedo
Member


Cakes 20
Posts: 710


« Reply #7 on: December 06, 2015, 05:49:41 AM »

@Suicizer: I think the goal of the project was mainly to design an API in Q3 to be able to interface your own bots easily, and without access to the whole server's infos, only your own bot/player infos. Then, this API was meant to be used by devs to make smart, learning bots that could mimic human players gameplay, but I think they never went very far in this direction (they just designed a few example bots, the most interesting I think are the CTF bots since they need to work in cooperation and thus to design a strategy).
Logged
Pages: [1]
  Print  
 
Jump to: