I have read the Elastic Racetrack article but do not grasp the concept. The problem is that I do not understand how it may server as an argument for using ticks as an internal timing mechanism. Can anyone provide a brief explanation?
Currently I need to produce a concurrency library for an engine core, and while I believe that using ‘ticks’ is a decent alternative to the integrated Timers package, I do not understand the core argument which seems to center around the aforementioned theory. The angle I see it from is that Flash does not offer (guarantee) exact timing, by using ticks, events are handled every tick, and multiple ticks may even be processed, thus acting as a sort of soft real time system.
The current requirements that an engine handles from my point of view is as follow:
-Manage resources
-Provide 2D rendering capabilities (camera, scene, lighting, render)
-Provide Physics (Collision and Particle)
-Input and animation
-Gluing it all together
So far I have set the core engine package as the simple logical tools necessary:
-common: Common interfaces and services such as ticks for internal time management, math calculations, etc.
-concurrency: Offers basic concurrency services such as threads for executing in virtual parallel
-debug: Debug facilities for tracking performance (logging\profiling)
-resource\Manager: Handles engine resources (loading, registering, unloading) audio, visual and XML\Cross Component files as well as entities and concurrency
Another ‘cap’ or logical level is built on-top of these tools, namely:
-AI: More of a library offering AI tools such as search algorithms and state machines
-Physics: Collision, particle and other
-Rendering: Extrapolates and draws Scene using registered resources and world information (Camera, lighting)
-Utilities: Misc. utilities for dealing with particular engine facets
In an attempt to make the engine as configurable as possible, I am researching and attempting to apply two methodologies, event programming and programming to interfaces (among other things).
If anyone is willing to tolerate questions (more about particulars in Flash theory and internals), or has any comments (feel free to send questions though I do not believe I am in any place to answer them), add me at nelsonbassett13@hotmail.com.