Для реализации некоторых ситуаций, связанных с внутренним временем игры, неплохо было бы иметь некий таймер, он же — глобальный счётчик "тактов" игры. Например, чтобы узнать, как давно в локации побывал персонаж нужно вычесть текущее показание этого счётчика с показанием счётчика на момент пребывания персонажа в локации. Или запрограммировать какое-либо событие на столько-то "тактов" от текущего момента (нет, это не real-time), например, отправление поезда через 20 тактов от покупки билета.
Так вот вопрос — что лучше брать в качестве "такта"? Логично, что в этом качестве может выступать любое действие игрока. Но разные действия, по идее, могут занимать разное число тактов: покупка билета займёт больше времени чем осмотр площади перед кассой и уж тем более — чем смена обоймы в пистолете. Хотя на это можно и забить. А есть ли ещё варианты? Но без скатывания к real-time.
Неактивен
За такт обычно берётся всё-таки одно действие, потому что именно это — единица движения сюжетной сцены (во как завернул). Проще говоря, в бою перезарядить пистолет так же важно, как потратить день на перемещение между Москвой и Воронежем в поездке Париж — Владивосток. То есть, если мы введём какой-то масштаб времени и будем учитывать, что путь Москва—Воронеж требует 5 тактов, а перезарядка пистолета — одного такта, то у нас будет четыре лишних скучных такта, в которых игрок будет ехать в Воронеж. И каждый такт ему придётся нажимать на кнопку «ждать».
Да, это нереалистично. Но зато игрок не скучает в нарочито растянутых сюжетных моментах. Например, когда надо дёрнуть за рычаг, подождать, пока включится питание, дёрнуть за второй рычаг, подождать, пока включится панель управления, набрать комбинацию... Это реалистично, это даёт понятие времени. Но в этой последовательности есть два такта, в которых игроку нечего делать. Если у него нет ничего, чтобы себя занять (например, предметов в котомке), то он просто будет тыкать в кнопку «ждать». Зачем? Это так важно — дать явно понять, что действие совершается дольше обычного? Это можно написать.
Покупка билета занимает больше времени, чем осмотр площади перед кассой. Если так хочется, можно ввести внутриигровое время во внутриигровых минутах и часах. Но их связь с тактами будет очень и очень нетривиальной. Опять же — сколько часов занимает переход на локацию? Если это — соседние комнаты, то между ними минута ходьбы. А если это — соседние города? Я считаю, что такой таймер нельзя привязывать к тактам, он должен находиться полностью внутри игры.
Неактивен
А как тогда это объяснить игроку? Почему у меня поезд отходит сразу же, как только я куплю билет, а мой друг Петя купил билет и ещё успел побродить по перрону? Всё равно придётся вводить какое-то внутриигровое отражение.
Неактивен