Skip to content
This repository has been archived by the owner on May 6, 2024. It is now read-only.

Ideas for NLE, Fall/Winter 2021 edition #278

Open
heiner opened this issue Oct 12, 2021 · 1 comment
Open

Ideas for NLE, Fall/Winter 2021 edition #278

heiner opened this issue Oct 12, 2021 · 1 comment
Labels
breaking change Introduces a breaking change in API

Comments

@heiner
Copy link
Contributor

heiner commented Oct 12, 2021

Ideas for the next NLE

This issue is for collecting ideas for the "next major version" of NLE. I'd like to collect wild ideas, too, if only to dismiss them as unrealistic.

Let's jump right in.

Some random ideas

  • Given how we didn't ever finish the menu observations (Add menu_strs observations. #207), the "full game" is currently only available via tty_chars and friends. Perhaps we can make a virtue of necessity and just embrace that? In the strongest sense this might mean: Remove glyphs, chars, colors, message, inv_*, screen_descriptions, and perhaps a couple of the others. (Note that this change is going into the opposite direction than feature requests like Added pixel-based observations using "pixel" observation_keys #279.)
  • blstats would probably have to stay as it's used in defining tasks.
  • However, many of our original tasks were somewhat ad hoc and are perhaps no longer that useful. This includes staircase, staircasepet, oracle, gold, eat, and scout. If we go the "maximal disruption" route, we could consider removing these tasks.
  • If we were to remove these tasks, we could potentially provide a purely C++-backed versions of "score" and "ascension" (with reward +1 for ascending, -1 for dying, and perhaps 0 for escaping? :D). Given that by some calculations, 90% of the time running NLE is spend in Python layers, this might give us another 10x speed increase. The cost is a less configurable environment. However, if we keep, say, blstats around, wrappers a la the current task definitions would still be possible.

Independently of the above, there is the "breaking changes" label where we gather some changes we've queued up for after the competition.

@heiner heiner added the breaking change Introduces a breaking change in API label Oct 13, 2021
@cdmatters
Copy link
Contributor

cdmatters commented Jan 26, 2022

Perf Ideas

feel free to edit

  • remove one memcopy per step for about all but tty_* observations (glyphs, colors, ... , inv_*, ...,screen_descriptions) - NB observation keys is only glyphs its already 2kB memcopy per step.
  • move reward fn to C++
  • add mechanism to set time OR randomise the start time. This has important experimental/reproducibility value.

@heiner heiner mentioned this issue May 6, 2024
5 tasks
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
breaking change Introduces a breaking change in API
Projects
None yet
Development

No branches or pull requests

2 participants