От: | yumi | ||
Дата: | 28.05.09 05:36 | ||
Оценка: | 67 (9) |
Well, briefly — Erlang was used for:
1. keeping state of player's armies in DB
2. server side functionality of all actions a player does in the "console" — creating & joining game, customizing army, chat, ranks
3. managing Amazon EC2 instances of battle servers written in Common Lisp
4. web server — feeding clients with swf, images, music, ...
We didn't have a need to use Erlang's distributed stuff yet.
Battle server is written completely in Common Lisp (no C library used). We use SBCL (www.sbcl.org) which proved to be an absolutely fantastic development *and* production tool (we had just one minor hassle with garbage collector conservatism). It is used for all the actual game computation:
1. keeping correct state of world (collision detection, ...)
2. pathfinding
3. AI
For the AI, we have created our own visual language/compiler for describing AI based on graph representation, and that language is compiled using CL to quite performant native code. We are using library I wrote some time ago for matching graph patterns describing the the AI behaviour (http://common-lisp.net/project/patg)