I have been thinking on maybe making an multiplayer tech demo thing for myself and I can clearly see how input driven things like player movement or clicking something may work as it is just action and reaction. However, I am having problems figuring out how to efficiently do things that need to be updated on their own very often.
For example minecraft has a tick mechanism that seems to determine how often to check if crops should grow and when to move water or even how long it takes to smelt something in a furnace. Forgive the typical minecraft reference.
In a large scale game how does the server know when things should be updated without having to run through each area to check for ticking entity things every second and update them if needed then send the data to the clients. If that where so then would it not cause the entire server to dedicate a large amount of resources just to updating these things every second. Assuming an Asynchronous server this would not necessarily cause the players to become unresponsive but mean that it could take longer to perform all the updates before the next tick.
For me this is slightly perplexing, just how to do physics in say a dropping sand block in minecraft (you would think I could come up with better examples huh).
My question is how would a typical game handle things like this? Do they just do a regular global update loop kind of thing and just try and make it fast enough to hopefully not be noticeable?
I am just trying to get a feel for how this kind of thing is done or some inventive solutions to it.
Thanks a heap for listening and hopefully answering everyone.
This post has been edited by Nekroze: 21 June 2013 - 01:16 PM