Erlang is a interpreted, compiled, object oriented, concurrent programming language running on the BEAM.
The language is based on the idea of creating multiple lightweight disjoint processes that communicate with each other via message passing
and that get managed by the interpreter.
The language is currently not recommended to be used to create game clients with a GUI, yet is favorable for creating game servers.
As many Programming Language Overview|programming language running on the BEAM,
Erlang is suited for long running reliable services.
This is exactly whats needed from game servers.
The adoption of Erlang in a technology stack for a game production depends hence on two other factors:
Does your team have the expertise to adopt the language and can you invest the additional time needed to port the core game logic needed onto the server?
That said, Erlang has no special libraries currently to support any kind of game development.
While the creation of HTTP clients and servers is directly supported in the language,
it is generally only recommended for people who already have experience with the web.
But if you are experienced, you can create reliable scaling servers quicker than in any other language.
"If Java is 'write once, run anywhere', then Erlang is 'write once, run forever'."
- Joe Armstrong
To run Erlang programs one needs the associated VM.
The BEAM currently supports building from scratch and a pre-build Windows, MacOS and Linux installer.
This means that it is currently not possible to ship games to Mobile or Console with Erlang.
If you want to host a game server with Erlang, consider using a Linux machine.
coming soon