[erlang-questions] game engines?

Miles Fidelman <>
Tue Sep 20 14:12:58 CEST 2016

Thanks Richard.  Now that's what I'm talking about!


On 9/20/16 6:14 AM, Richard Carlsson wrote:
> 2016-09-19 17:55 GMT+02:00 Miles Fidelman < 
> <mailto:>>
>     I'm actually thinking about military simulation - where the model
>     is essentially:
>     - every simulator (e.g., a flight sim, or a tank) is running on
>     its own machine, complete with local world model and image
>     generation (necessary to keep up with jitter-free image generation
>     during high-g turns - you don't want pilots to puke all over the
>     simulators)
>     - there's a lot of dead reckoning going on locally - the only
>     things that cross the network are deltas and events, generally
>     sent by multicast
>     - everything is synchronized by GPS time-stamp
>     I discovered Erlang when I realized that we (the company I worked
>     for) took a very different approach for simulating "virtual
>     forces" (think non-player characters) - when we simulated 1000
>     tanks, on one machine, each tank would be an object, and we had 4
>     threads winding their way through every object, 20 time a second. 
>     Turns out that the main loops are real spaghetti code that breaks
>     every time a new property gets added to an object.
>     I started wondering why we didn't just have a process per
>     simulated object - essentially the way we treated the
>     person-in-the-loop simulators.  The answer, of course, being
>     context switching overhead.
>     Then, I discovered Erlang.  And I started thinking - why not just
>     have a process per object.
> Back in the day, there was the Sim94 troop simulation project, which 
> was pretty successful - and way before Erlang got multicore support:
> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=
> This related master's thesis might also be of interest (oops, turns 
> out I was the examiner):
> https://www.scribd.com/document/184935294/Design-Patterns-for-Simulations-in-Erlang
> I also found this newer work while searching, but I haven't read it 
> myself:
> https://www.researchgate.net/publication/233985869_Parallel_Discrete_Event_Simulation_with_Erlang
> Finally, I found this, which made me double-check that I wasn't 
> answering a post from 2012 :-) 
> http://erlang.org/pipermail/erlang-questions/2012-March/065136.html
>     /Richard

In theory, there is no difference between theory and practice.
In practice, there is.  .... Yogi Berra

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160920/f5b90725/attachment.html>

More information about the erlang-questions mailing list