On Feb 22, 6:00 pm, Cedric Greevey <cgree...@gmail.com> wrote:
> On Wed, Feb 22, 2012 at 11:40 AM, Timothy Baldridge
>
> <tbaldri...@gmail.com> wrote:
> >> On the other hand, Lisp letting you update things on the fly is also
> >> of obvious value to an MMORPG, which tends to involve adding and
> >> tweaking stuff from time to time but you really don't want to take the
> >> game servers down, ever, if you can avoid it.
>
> > That's also a major feature of Erlang. On-the-fly code updating is
> > actually one of its strengths.
>
> >http://en.wikipedia.org/wiki/Erlang_(programming_language)#Hot_code_l...
>
> > That being said, the syntax of Erlang is so insanely bad, I can't
> > bring myself to touch it.
>
> Sounds like what we need is a Lisp with the actor model. Ideally,
> Clojure with a distributed version of agents, maybe built on top of
> agents and Java's RMI.
>
> Then again, what you said about Erlang's syntax lots of people say
> about Lisp's. ;)

Thanks everyone for the interesting replies and pointers to other
resources.

I find pretty intriguing that erlang and the actors came up in this
thread since we already do write game backend in erlang and we
reported reported regularly about our experience at conferences [1],
[2], [3].
Indeed the actor pattern is a very effective way of modeling game
servers and the erlang OTP framework offers out of the box with tools
and constructs that simplify dealing with the complexity of a
multitude of concurrently evolving states.

Still, the topic of this thesis is not really focused on game servers
but about improving how games are configured, balancing the values
that drive the evolution and progresse in virtual words is a very
interesting and complex task, configurations appears as naked data but
they actively drive the execution of many aspects of games, in some
way you might think about configuration as a form of execution plan
game logic, this is why having configuration in a form that can be
interpreted both as data and code is of special interest.
Another interesting aspect is that in our erlang game server we take
XML configurations files and generate code (each XML file is compiled
into an erlang module) so our servers effectively are configured by
code, not data, this also make it easier to upgrade configurations on
a running system thanks to the erlang hot code reload facilities,
changin configuration actually mean running a newer version of the
configuration code.

I'm looking forward to your comments and ideas on the topic.

[1] http://www.slideshare.net/wooga/from-0-to-1000000-daily-users-with-erlang
[2] http://www.erlang-factory.com/conference/London2011/speakers/PaoloNegri
[3] http://www.erlang-factory.com/conference/SFBay2011/speakers/PaoloNegri

Thanks.

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to