LevDoom provides a unique platform for developing and testing deep reinforcement learning agents through diverse, visual modification-based scenarios. With a robust structure consisting of varying difficulty levels, researchers can effectively assess the generalization capabilities of their models while pushing the boundaries of what's possible in pixel-based learning.
LevDoom is a cutting-edge benchmark designed to enhance the generalization capabilities of deep reinforcement learning agents through visual modifications that increase difficulty levels. Built upon the ViZDoom platform, LevDoom offers a unique approach to training and testing agents in the fast-paced realm of First-Person Shooter (FPS) games.
Key Features:
- Diverse Scenarios: LevDoom includes four dynamic scenarios, each with five escalating difficulty levels. The scenarios challenge agents to adapt and overcome variations in gameplay conditions, fostering robust learning.
Scenario | Success Metric | Enemies | Weapon | Items | Max Steps | Actions | Stochasticity |
---|---|---|---|---|---|---|---|
Defend the Center | Frames Alive | ✓ | ✓ | ✗ | 2100 | 6 | Enemy behaviour |
Health Gathering | Frames Alive | ✗ | ✗ | ✓ | 2100 | 6 | Health kit spawn locations |
Seek and Slay | Kill Count | ✓ | ✓ | ✗ | 1250 | 12 | Enemy and agent spawn locations |
Dodge Projectiles | Frames Alive | ✓ | ✗ | ✗ | 2100 | 6 | Enemy behaviour |
- Generalization Difficulty: LevDoom heightens the challenge of generalization through specific modifications. With eight distinct types of environmental adjustments, such as entity size and obstacle placement, users can tailor scenarios to push agents beyond their limits.
Modification | Description |
---|---|
Textures | Varies the appearance of walls, ceilings, and floors |
Obstacles | Adds impassable obstructions to impede agent movement |
Entity Size | Alters the size of enemies and obtainable items |
Entity Type | Changes the type of enemies and obtainable items |
Entity Rendering | Modifies the visual rendering of enemies and items |
Entity Speed | Increases the speed of enemies |
Agent Height | Adjusts the agent's vertical viewpoint |
- Flexible Environment Creation: Utilizing the Gymnasium interface, creating environments is straightforward. Users can easily specify scenarios and difficulty levels. For example:
import levdoom
env = levdoom.make('DefendTheCenterLevel0-v0')
- Real-World Application: LevDoom is grounded in relevant research, with further details available in the accompanying paper presented at CoG2022. Users can reproduce results outlined in the research to validate their own findings.
Getting Started:
To dive into the LevDoom environment and begin your experimentation, consult the examples directory, which showcases practical implementations of various scenarios.
Citation:
When utilizing LevDoom in your research, be sure to cite it appropriately:
@inproceedings{tomilin2022levdoom,
title = {LevDoom: A Benchmark for Generalization on Level Difficulty in Reinforcement Learning},
author = {Tristan Tomilin and Tianhong Dai and Meng Fang and Mykola Pechenizkiy},
booktitle = {In Proceedings of the IEEE Conference on Games},
year = {2022}
}
Unlock the potential of reinforcement learning with LevDoom, the innovative benchmark that challenges agents in a visually dynamic gaming landscape!