Как сделать лидерборд в гонках

Лидерборд — это таблица, ранжирующая участников заезда по какому-либо критерию, например, по позиции на маршруте. Фактически, это логика гонок, которая определяет, кто побеждает, а кто проигрывает. Правильная реализация лидерборда — не такая уж простая задача, как может показаться, потому что она зависит от того, как игра хранит трассу, и во многом пересекается с кодом ИИ-оппонентов.

Если отталкиваться от методологии, которую я описал в статье Как сделать ИИ для гонок, то задача упрощается – можно использовать следующий подход, который показался мне весьма надежным и лишенным логических изъянов.

(далее…)