Разработка дополнительных машин для игры Top Speed версии 3

Дата публикации:2011
Twitter Facebook Vkontakte

Звуковая гоночная игра Top Speed предоставляет всем пользователям возможность разработки собственных транспортных средств, которые в дальнейшем мы для простоты будем называть машинами, и последующего их использования в игровом процессе. В данном материале будут изложены принципы программирования пользовательских машин для Top Speed версии 3, которые позволят освоить эти несложные правила практически любому человеку. Под машиной понимается не только автомобиль или мотоцикл, но и любое средство передвижение, то есть всё ограничивается лишь фантазией разработчика. Top Speed предоставляет все возможности в том числе и для создания скейтборда или осла. Слово "машина" использовано в данном руководстве лишь для простоты и лаконичности изложения.

Машина описывается минимум двумя файлами, которые помещаются в папку "Vehicles", расположенную в директории, куда установлена игра, например, "C:\Program Files\Playing in the dark\Top Speed 3\Vehicles".

Она состоит из простого текстового файла с расширением .vhc, который может быть создан посредством любого текстового редактора, например, Блокнота, а также звукового файла в формате .wav. Файлы должны иметь одинаковое название и различаться только расширениями. Кроме того, могут быть использованы дополнительные WAV-файлы для звукового оформления машины.

Основной WAV-файл является тем звуком, который будет воспроизводиться в меню выбора транспортного средства, поэтому здесь лучше всего просто записать голосом произнесение его названия. Ну а VHC-файл как раз и содержит непосредственно описание характеристик машины.

Машина описывается несколькими переменными, значения которых указываются через знак равно. Каждая из таких конструкций пишится на отдельной строке VHC-файла. Корректность обработки кода зависит от регистра символов и постановки пробелов, поэтому для избежания возможных ошибок, имеет смысл аккуратно редактировать уже готовый шаблон, один из вариантов которого приводится в конце статьи.

Переменная "enginesound" определяет звук работающего двигателя. В этой и ей подобных переменных, допускается использование либо звука одной из двенадцати встроенных машин, либо указание дополнительного WAV-файла, который следует разместить в той же директории, что и основные файлы пользовательской машины.

Задание звука одной из встроенных машин осуществляется посредством директивы "builtin№", где "№" - это номер машины из списка, например:

enginesound=builtin12

Для указания собственного файла следует написать после знака равенства его название, например:

enginesound=tiflocompmobile_engine.wav

Для дополнительных файлов со звуком работающего двигателя следует учитывать тот факт, что они воспроизводятся в цикле, поэтому желательно использовать записи, целостно звучащие в подобном режиме.

Переменная "throttlesound" определяет циклический звук, воспроизводимый при нажатии на педаль газа. Здесь следует учитывать, что при использовании встроенных звуков можно обращаться только к машинам под номерами 1, 2, 9 и 12, так как только они имеют оригинальные записи.

Переменная "startsound" определяет звук запуска двигателя.

Переменная "hornsound" определяет циклический звук клаксона.

Переменная "backfiresound" задаёт звук обратной вспышки в карбюраторе машины. При обращении к встроенным звукам, следует использовать либо "builtin9", либо "builtin12", так как только старый школьный автобус (англ. the Old schoolbus) и Чопер (англ. the Chopper) имеют собственные звуки такого рода.

Переменная "crashsound" задаёт звук аварии, воспроизводящийся при сходе с трассы.

Переменная "brakesound" задаёт звук торможения на асфальте.

Переменная "acceleration" определяет ускорение машины и задаётся целым положительным числом. Посредством неё можно задать, насколько быстро машина будет набирать скорость.

Переменная "deceleration" определяет замедление машины и задаётся целым положительным числом. Посредством неё можно задать, насколько быстро машина будет останавливаться при использовании тормозов.

Переменная "topspeed" определяет максимальную скорость машины и задаётся целым положительным числом. Например, максимальная скорость гоночного автомобиля Blackbird (англ. the Blackbird racecar) - 17500, а Contestant (англ. the Contestant) - 23000.

Переменная "idlefreq" задаёт частоту, на которой следует воспроизводить звук двигателя, заданный в переменной "enginesound", на холостом ходу. Как правило, здесь имеет смысл указывать частоту дискретизации используемого файла. Для стандартных звуков, подключаемых через директиву "builtin№", это 22050.

Переменная "topfreq" задаёт частоту, с которой воспроизводится "enginesound" при достижении максимальной скорости, заданной в переменной "topspeed". Её значение должно превосходить "idlefreq". Как правило, имеет смысл использовать удвоенное значение частоты холостого хода.

Переменная "shiftfreq" задаёт частоту воспроизведения "enginesound" при переключении передач. Её значение должно находиться в промежутке между "idlefreq" и "topfreq".

Переменная "numberofgears" задаётся целым положительным числом и определяет количество передач для создаваемой машины.

Переменная "steering" задаётся целым положительным числом и определяет, насколько хорошо машина реагирует на движения руля.

Переменная "steeringfactor" задаётся целым числом в интервале [1; 100] и определяет, насколько процентов ухудшается управляемость машины, заданная в "steering", на скорости. Значение 100 означает, что управляемость остаётся неизменной.

Переменная "haswipers" определяет, будут ли в машине включаться стеклоочистители в условиях идущего дождя. 1 означает да, 0 - нет.

При программировании машины, использование абсолютно всех переменных не обязательно.

Для иллюстрации изложенного выше ниже будут приведены параметры двенадцатой стандартной машины Top Speed 3 - Чоппера (англ. the Chopper). Эти семнадцать строк также можно использовать в качестве шаблона для создания новых пользовательских транспортных средств.

enginesound=builtin12
throttlesound=builtin12
startsound=builtin12
hornsound=builtin12
backfiresound=builtin12
crashsound=builtin12
brakesound=builtin12
acceleration=13
deceleration=45
topspeed=24000
idlefreq=22050
topfreq=27550
shiftfreq=23550
numberofgears=5
steering=150
steeringfactor=66
haswipers=0


Распространение материалов сайта означает, что распространитель принял условия лицензионного соглашения.
Идея и реализация: © Владимир Довыденков и Анатолий Камынин,  2004-2019