[erlang-questions] game engines?

Richard Carlsson <>
Tue Sep 20 12:14:19 CEST 2016


2016-09-19 17:55 GMT+02:00 Miles Fidelman <>

> 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=10.1.1.52.6023

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20160920/c3241ed5/attachment.html>


More information about the erlang-questions mailing list