Здравствуйте. У меня возникла проблема с таймером (или не с ним).
Мне нужно организовать запись и воспроизведение действий пользователя в игре tower defence.
Как реализовал. Есть один таймер, который генерирует событие. В обработчике этого события происходит обновление всех объектов (башни, крипы, летящие пули).
Сохраняя определенное действие пользователя (построил/продал башню, пустил следующую волну и т.д.) я указываю в какой tick таймера это произошло, типа:

Код AS3:
{tick : 2342, action : 'sold_tower'};
Проигрывая игру, все действия воспроизводятся по этому таймеру, по которому и записывались.
Игра так же интерактивная, но записанные действия воспроизводятся без участия юзера.
Тут и начинается проблема: не всегда результат воспроизведения совпадает с "оригиналом". Если просто включить проигрывание и ничего не делать - результат нужный. Но если, например, сделать окно флеш плеера не активным, или запустить 2 окна параллельно - создать другие условия - результат воспроизведения расходится с оригинальным. Не проверял, но почти уверен, что запуск на компе с другой конфигурацией даст тот же эффект.
Для удачного результата может хватить того, что в какой-то момент времени в воспроизводимой игре 1 башня не выстрелила в крипа, в которого выстрелила в оригинале.
Рандома в игре нет.
Читал, что Timer не точен, но тут вопрос: если все изменения происходят четко по тику таймера, то одинаковые ситуации должны быть и при 33 тика в секунду и при 54, например.
Подскажите, плиз, как можно решить эту проблему. Может нужно использовать не таймер, а что-то другое?
Спасибо.