Итак, решил я как-то создать крутую 3D… и пришел к тому, что надо к ней обязательно язык сценариев, так как иначе не получиться создать real-time игру с кучей разных объектов и хорошим AI. В результате сделал свой . Движок состоит из двух частей: DLL на C++ и VB-обертка (OCX). Язык не является полностью компилируемым: компиляция в P-Код, который сравним по быстродействию с P-Cod’ом VB. Поддерживается:
-Базовое вычисление выражений
-Разные типы данных, в том числе векторы, enum, массивы и.т.д
-Все управляющие структуры
-Процедуры/функции +native(импортированные с внешней среды по указателю)
Собственно, язык предназначен для написания сценариев для игр, потому введены следующие возможности:
-Вся структура объектно-ориентированная (классы наследуются друг от друга)
-Поддержка замещения функций, вызов Super-Функций и т.д.
-Поддержка состояний (States) , использование в них специальных real-time функций (Sleep и другие)
-и многое другое!
Плюс ко всему еще специальный контрол для иерархического (как TreeView) показа/изменения опций каждого объекта или совокупности и IDE!.
Фактически многие идеи взяты из Unreal и UnrealScript
Чтобы как-то продемонстрировать многие возможности движка, сделал игру-2D леталку с использование только GDI. Эта игра хорошо демонстрирует взаимодействие программы с движком скриптов и интерфейс-контролами.
В архиве есть Source игры, Engine DLL и OCX, и собственно EXE-файл игры. Чтобы ее запустить, надо перейти во вкладку “Тестирование” и нажать “Запустить”.
В состоянии редактирования можно изменять сценарии, но не забывать все перекомпилировать и сохранять! Можно устанавливать опции объекта по умолчанию и во время игры («пауза»). Если потребуется, вначале запустите Register.bat.
Проект нельзя назвать конечным Release’ом, но тем ни менее отлажен на 99,9% и вполне хорошо работает. В принципе, движок в будущем можно довести и до совершенства – до компилирования в Native код.
Жду отзывов и предложений! Может кто-то захочет использовать движ в своей игре? Любой отзыв лучше чем его отсутствие:)