ELF

ELF is an Extensive, Lightweight and Flexible platform for game research, in particular for real-time strategy (RTS) games. On the C++-side, ELF hosts multiple games in parallel with C++ threading. On the Python side, ELF returns one batch of game state at a time, making it very...

ELF screenshot 1

Cost / License

  • Free
  • Open Source

Platforms

  • Linux
-
No reviews
0likes
0comments
0news articles

Features

Suggest and vote on features

ELF News & Activities

Highlights All activities

Recent activities

No activities found.

ELF information

  • Developed by

    Unknown
  • Licensing

    Open Source and Free product.
  • Written in

  • Alternatives

    3 alternatives listed
  • Supported Languages

    • English

GitHub repository

  •  2,094 Stars
  •  285 Forks
  •  47 Open Issues
  •   Updated  (Archived)
View on GitHub

Popular alternatives

View all
ELF was added to AlternativeTo by Bruno Pio on and this page was last updated .
No comments or reviews, maybe you want to be first?
Post comment/review

What is ELF?

ELF is an Extensive, Lightweight and Flexible platform for game research, in particular for real-time strategy (RTS) games. On the C++-side, ELF hosts multiple games in parallel with C++ threading. On the Python side, ELF returns one batch of game state at a time, making it very friendly for modern RL. In comparison, other platforms (e.g., OpenAI Gym) wraps one single game instance with one Python interface. This makes concurrent game execution a bit complicated, which is a requirement of many modern reinforcement learning algorithms.

Besides, ELF now also provides a Python version for running concurrent game environments, by Python multiprocessing with ZeroMQ inter-process communication. See ./ex_elfpy.py for a simple example.

For research on RTS games, ELF comes with an fast RTS engine, and three concrete environments: MiniRTS, Capture the Flag and Tower Defense. MiniRTS has all the key dynamics of a real-time strategy game, including gathering resources, building facilities and troops, scouting the unknown territories outside the perceivable regions, and defend/attack the enemy. User can access its internal representation and can freely change the game setting.

Official Links