[erlang-questions] game engines?
Miles Fidelman
mfidelman@REDACTED
Tue Sep 20 14:12:58 CEST 2016
Thanks Richard. Now that's what I'm talking about!
Miles
On 9/20/16 6:14 AM, Richard Carlsson wrote:
> 2016-09-19 17:55 GMT+02:00 Miles Fidelman <mfidelman@REDACTED
> <mailto:mfidelman@REDACTED>>
>
> 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
>
--
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.htm>
More information about the erlang-questions
mailing list