{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/deep-reinforcement-learning-for-general-video","title":"Deep Reinforcement Learning for General Video Game AI","arxiv_id":"1806.02448","date":"2018-06-06","proceeding":null,"authors":["Ruben Rodriguez Torrado","Philip Bontrager","Julian Togelius","Jialin Liu","Diego Perez-Liebana"],"abstract":"The General Video Game AI (GVGAI) competition and its associated software\nframework provides a way of benchmarking AI algorithms on a large number of\ngames written in a domain-specific description language. While the competition\nhas seen plenty of interest, it has so far focused on online planning,\nproviding a forward model that allows the use of algorithms such as Monte Carlo\nTree Search.\n  In this paper, we describe how we interface GVGAI to the OpenAI Gym\nenvironment, a widely used way of connecting agents to reinforcement learning\nproblems. Using this interface, we characterize how widely used implementations\nof several deep reinforcement learning algorithms fare on a number of GVGAI\ngames. We further analyze the results to provide a first indication of the\nrelative difficulty of these games relative to each other, and relative to\nthose in the Arcade Learning Environment under similar conditions.","url_abs":"http://arxiv.org/abs/1806.02448v1","url_pdf":"http://arxiv.org/pdf/1806.02448v1.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"deep-reinforcement-learning-for-general-video","repo_url":"https://github.com/rubenrtorrado/GVGAI_GYM","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"deep-reinforcement-learning-for-general-video","repo_url":"https://github.com/Bam4d/GVGAI_GYM","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"Apache-2.0"}}],"tasks":[{"task_slug":"atari-games","task_name":"Atari Games"},{"task_slug":"benchmarking","task_name":"Benchmarking"},{"task_slug":"deep-reinforcement-learning","task_name":"Deep Reinforcement Learning"},{"task_slug":"openai-gym","task_name":"OpenAI Gym"},{"task_slug":"reinforcement-learning","task_name":"Reinforcement Learning"},{"task_slug":"reinforcement-learning-1","task_name":"Reinforcement Learning (RL)"},{"task_slug":"reinforcement-learning-2","task_name":"reinforcement-learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1806.02448","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1806.02448"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Bam4d/GVGAI_GYM","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/rubenrtorrado/GVGAI_GYM","reach":{"status":"ok","spdx":"Apache-2.0"}}],"summary":{"unverified":10},"by_repo_kind":{"official":{"samples":4,"ran":0,"repositories":1},"listed":{"samples":6,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"067f83e182cbf257","entry":"IntKeyValuePairEnd","repo":"Bam4d/GVGAI_GYM","repo_kind":"listed","path":"python/gvgai/gvgai/client/serialization/IntKeyValuePair.py","file_url":"https://github.com/Bam4d/GVGAI_GYM/blob/HEAD/python/gvgai/gvgai/client/serialization/IntKeyValuePair.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"067f83e182cbf257"}},{"code_sha256_prefix":"4bf20859652f3890","entry":"ObservationEnd","repo":"Bam4d/GVGAI_GYM","repo_kind":"listed","path":"python/gvgai/gvgai/client/serialization/Observation.py","file_url":"https://github.com/Bam4d/GVGAI_GYM/blob/HEAD/python/gvgai/gvgai/client/serialization/Observation.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4bf20859652f3890"}},{"code_sha256_prefix":"6f0cb6ad3500b95b","entry":"StateStartImageArrayVector","repo":"Bam4d/GVGAI_GYM","repo_kind":"listed","path":"python/gvgai/gvgai/client/serialization/State.py","file_url":"https://github.com/Bam4d/GVGAI_GYM/blob/HEAD/python/gvgai/gvgai/client/serialization/State.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"6f0cb6ad3500b95b"}},{"code_sha256_prefix":"9a14c9e2c53a77f1","entry":"StateStartTileArrayVector","repo":"Bam4d/GVGAI_GYM","repo_kind":"listed","path":"python/gvgai/gvgai/client/serialization/State.py","file_url":"https://github.com/Bam4d/GVGAI_GYM/blob/HEAD/python/gvgai/gvgai/client/serialization/State.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"9a14c9e2c53a77f1"}},{"code_sha256_prefix":"e693dd7cd39ced2b","entry":"StateStartWorldDimensionVector","repo":"Bam4d/GVGAI_GYM","repo_kind":"listed","path":"python/gvgai/gvgai/client/serialization/State.py","file_url":"https://github.com/Bam4d/GVGAI_GYM/blob/HEAD/python/gvgai/gvgai/client/serialization/State.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e693dd7cd39ced2b"}},{"code_sha256_prefix":"e1d5f00ef0272e71","entry":"Vector2dEnd","repo":"Bam4d/GVGAI_GYM","repo_kind":"listed","path":"python/gvgai/gvgai/client/serialization/Vector2d.py","file_url":"https://github.com/Bam4d/GVGAI_GYM/blob/HEAD/python/gvgai/gvgai/client/serialization/Vector2d.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"e1d5f00ef0272e71"}},{"code_sha256_prefix":"606ee3293f860d2f","entry":"compare","repo":"rubenrtorrado/GVGAI_GYM","repo_kind":"official","path":"gym_gvgai/envs/gvgai/check_build.py","file_url":"https://github.com/rubenrtorrado/GVGAI_GYM/blob/HEAD/gym_gvgai/envs/gvgai/check_build.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"606ee3293f860d2f"}},{"code_sha256_prefix":"a2ce8f3431500582","entry":"dirHash","repo":"rubenrtorrado/GVGAI_GYM","repo_kind":"official","path":"gym_gvgai/envs/gvgai/check_build.py","file_url":"https://github.com/rubenrtorrado/GVGAI_GYM/blob/HEAD/gym_gvgai/envs/gvgai/check_build.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"a2ce8f3431500582"}},{"code_sha256_prefix":"5ab6d28b05916db8","entry":"fileHash","repo":"rubenrtorrado/GVGAI_GYM","repo_kind":"official","path":"gym_gvgai/envs/gvgai/check_build.py","file_url":"https://github.com/rubenrtorrado/GVGAI_GYM/blob/HEAD/gym_gvgai/envs/gvgai/check_build.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5ab6d28b05916db8"}},{"code_sha256_prefix":"b9479826c3f56102","entry":"get_src","repo":"rubenrtorrado/GVGAI_GYM","repo_kind":"official","path":"build.py","file_url":"https://github.com/rubenrtorrado/GVGAI_GYM/blob/HEAD/build.py","link_basis":"plan_row","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b9479826c3f56102"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}