[erlang-questions] Let's start a project for a (MMO-)Game in Erlang... (inspired by "Erlang: Who uses it for games?")

Joe Armstrong <>
Mon Aug 23 11:32:04 CEST 2010

I like the idea of an MMO-game infrastructure in Erlang - I think to
do this we need to make
a highly modular architecture with pluggable components. If these talk
through pure socket
based message passing it should be relatively easy to scale the thing.

This seems to be a question of packaging and identifying the components.

The key components for a game seem to be graphics/sound/windows part
of the problem
this is an area where Erlang is traditionally weak. The
massive/communication/database/security part is an area where Erlang
is traditionally strong.

Graphics in games seems to be exclusively written in C++ which make
Erlang programmers recoil
in horror. But C++ graphics components can be controlled from
scripting languages, lua has been pretty successful here.

I was looking at http://love2d.org/ it looks pretty neat. It's a
combination of lua + SDL + OpenGL
at a first glance controlling this through lua sockets from an Erlang
node seems possible.

Another possibility would be to rip out the SDL/OpenGL part of wings
(http://www.wings3d.com/) and make something like love with erlang
replacing lua.

I think to get anywhere we really need to package things so they run
cross-platform "out of the box".
The love2d packing is excellent. Basically a file X.love ( a renamed
zip archive) must contain
a top-level file main.lua. That's it. The command "love X" runs the
application on all platforms I've so far tested.

I think to attract sufficient interest we need to package Erlang games
applications in a similar manner. The only application I've seen that
does this is wings.

Wings has two beautiful sub-components:

    - the SDL/OpenGL stuff
    - the way the wings application is built into a stand-alone application

Unfortunately these are hard-wired into wings in such a way that that
graphics and bundling cannot
be used outside the wings framework. It would be really nice to
refactor this code into three components, ie the SDL/OpenGL part, the
bundle part and the application itself.

Adding communication to wings (or to love) would enable all kind of
fun things ...

If there is sufficient interest this might be the way to go.

Alternatively scrap everything and start with SDL and a minimal OpenGL
interface and do
as much as possible in erlang.


On Fri, Jul 9, 2010 at 7:55 PM, Boris Mühmer
<> wrote:
> It looks like some people are interested in Erlang game programming.
> On the other hand getting started in Erlang and OTP isn't too easy.
> Especially for people with a strong C/C++/C#/Java/etc background.
> Inspired by the "Erlang: Who uses it for games?" thread I thought about
> starting a community project to implement a MMO game in Erlang/OTP.
> The goal would be to collect some "best-practices" for different tasks.
> Actually I am more interested in the server side than how to implement
> a top-notch-state-of-the-art client. Also I think Erlang is more suited
> for the server side. But I am also interested in how to interface the
> "server-side erlang" using a (C/C++, Java, Python) cross-plattform
> client (using wxWidget or Qt as a base and OpenGL for graphics).
> What I would like to see are reponses from other people who may also
> be interested in such a project. Not only beginners with Erlang/OTP,
> but also (or especially) experienced people to guide and support the
> others. And most of all, to have some fun practising Erlang.
> Well, what do You think about it?
> Best regards,
> Boris
> ________________________________________________________________
> erlang-questions (at) erlang.org mailing list.
> See http://www.erlang.org/faq.html
> To unsubscribe; mailto:

More information about the erlang-questions mailing list