Следующие инструкции управляют ходом игры и сменой уровней. Они не могут вызываться непосредственно внешними DLL-функциями.
save («name», var);
Сжимает, шифрует и сохраняет текущее состояние игры (в файле с именем name плюс число var) в папке игры (см. savedir). Чтобы эта инструкция работала должен быть загружен уровень. Файл будет записан через один фрейм после выполнения инструкции. Имя сохраненного файла составлено из первых пяти символов данной строки плюс число с тремя цифрами, заданное переменной var плюс расширение .sav. Следующие элементы игры будут сохранены: Читать далее «Инструкции управляющие ходом игры»
Самый спорный вопрос в разработке игры – это искусственный интеллект.
Итак…в этом уроке мы займемся созданием простого, по своим возможностям, искусственного интеллекта.
Чтобы заселить наш мир живыми существами, мы используем специальный вид entity – модельные entity.Модельные entity – это модели, как правило имеющие анимацию, обычно используются для действий(враги, монстры и тд).Чтобы того же Монстра восприняли всерьез, он должен вести себя реалистично. Монстр должен реагировать на игрока адекватно — избегать его, пока он остается сильным противником, и охотиться на него если игрок показывает признаки слабости. Для всего этого и необходим, своего рода, искусственный интеллект. Читать далее «Искусственный Интеллект»
Функции или действия могут быть назначены сущностям в WED, или назначенны на клавишу, мышь или другие события (через скрипт). Общий синтаксис назначения функции некоторому событию:
event = function;
Обратите внимание: общая ошибка новичка состоит в том, чтобы писать вместо этого event = function(); Это допустимый синтаксис (не вызывает синтаксической ошибки при сборке), но означает нечто совершенно другое и неизбежно ведет к сбою движка. Вместо назначения некоторой функции случаю, эта инструкция вызывает функцию и назначает возвращенное число. Следующие события доступны для назначения функций: Читать далее «Назначение функций или действий»
Инструкции multiplayer пересылают информации между клиентами и сервером в системе клиента/сервер. Они симметричные: выполняясь на клиенте они посылают что-то серверу; выполняясь на сервере они посылают что-то некоторому клиенту или всем клиентам. Нет никаких специальных инструкций чтобы синхронизировать уровень и обновлять сущности — это делается автоматически.
send (entity.skill);
send_vec (entity.skill);
Этой инструкцией клиент может изменить skill сущности или параметр на сервере, или наоборот. Параметр этой инструкции должен быть таким: указателем на сущность — точка — skill сущности. Send_vec посылает три последовательных skill’а. Тот же самый skill той же самой сущности на принимающем PC получит переданное значение. Эта инструкция обычно используется чтобы послать нажатые клавиши и усилия сущности игрока-клиента на сервер, или посылать события — подобно тому, что предмет подняли — от сервера клиенту. Пример: Читать далее «Инструкции многопользовательские»
Инструкции Мультимедиа, ввода/вывода, инструкции управляющие ходом игры, инструкции переназначения клавиатуры, инструкции многопользовательские, Bitmap инструкции, Plugin DLL, отладка, назначение функций или действий.
Следующие инструкции управляют проигрыванием звуков, музыки и кино.
snd_play (sound, var, balance);
Играет предварительно определенный звук(sound) с указанной громкостью (0..100). Возвращает число-дескриптор, которое позволяет дальнейшую манипуляцию или преждевременную остановку звука. Дескриптор действителен пока звук играет. Используйте var_nsave для хранения дескрипторов, чтобы предотвратить их от перезаписи непарвильными значениями инструкцией load. Параметр balance оапредляет положение стерео звука в процентах (-100.. +100). Вы можете создавать эффект эха, играя тот же самый звук дважды с коротким промежутком задержки. До 32 звуков может проигрываться одновременно. Читать далее «Инструкции Мультимедиа»
В зависимости от типов сущностей которые сталкиваются друг с другом, используются два различных метода обнаружения столкновений (collision detection). Для этого каждая сущность имеет Bounding Box (габаритный куб) и имеющий форму коробки Корпус (Hull). Корпус используется для столкновений перемещающейся сущности с сущностями карты или уровня. Этот вид столкновений проверяет каждый полигон сущности-цели. Для всех других типов столкновений габаритные кубы (Bounding Boxes) двух сущностей проверяют друг друга. Как габаритный куб, так и корпус не будет вращаться вместе с сущностью, они всегда выровнены по осям xyz. Читать далее «Обнаружение столкновений»
Сущности — динамические объекты, актеры, монстры, транспортные средства и прочее — все что может двигаться в нашем игровом мире. Дополнительно к параметрам, задаваемым в панели свойств сущности в WED, есть гораздо большее количество свойств, которые могут быть установлены или изменены Действием(action). Эти свойства влияют на вид сущностей, их реакцию на некоторые события, и их перемещение или поведение при столкновении. Читать далее «Сущности — динамические объекты»
bmap_for_screen (bmap, fac, offset);
Захватывает экран в предварительно определенный bitmap, уменьшенный в размере. bmap — bitmap или указатель на него. Fac определяет фактор сокращения (1.. 16), offset — горизонтальное положение пикселя bitmap, куда сокращенный экран будет скопирован. bitmap может быть потом показан как window в панели, в качестве screenshot’а одной или более сохраненных игр. Измененный bitmap будет сохранен командой save_info, но доступен не раньше чем через один фрейм после выполнения инструкции freeze_map (вставьте wait(1) между freeze_map и сохранением !). Читать далее «Bitmap инструкции»
Следующие инструкции работают с векторами, то есть с массивами из трех чисел. Векторы могут использоваться для различных целей в игре, например для описания положения x-y-z, или направления, или скорости, или углов pan-tilt-roll . В качестве векторов для векторных инструкций могут также использоваться либо массив из 3 чисел или первый из трех последовательных skill’ов или числовых параметров объекта. Например, чтобы использовать параметры x y z сущности my как вектор положения в пространстве можно просто передать my.x. Таким образом, допустимыми векторами для векторных инструкций являются: Читать далее «Векторные инструкции»
Следующие инструкции служат для отладочных целей:
beep;
Издает короткий звук. Полезно при разработке функции поскольку позволяет быстро выяснять, была ли достигнута некоторая инструкция или некоторая функция была выполнена вообще. Звук можно давать через имя beep_sound, например:
sound beep_sound = ; Читать далее «Инструкции Отладки»
Вы пришли к выводу, что на сегодняшний день, для дальнейшего развития Вашего бизнеса, необходимы Интернет технологии. Предположим, Вы не имеете времени или опыта для создания Интернет-сайтов, организации рекламных компаний в Интернет, продвижении Ваших товаров или услуг в Сети.
Естественное решение в данной ситуации обратиться к специалистам.
В таком случае, добро пожаловать к нам – мультимедийному подразделению компании .