Введение
3D GameStudio или 3DGS – это универсальная система разработки 3D-компьютерных игр, позволяющая пользователям создавать 3D-игры и другие приложения виртуальной реальности и публиковать их без уплаты роялти. Она включает в себя редактор моделей/ландшафта, редактор уровней, редактор скриптов/отладчик и поставляется с большой коллекцией текстур, моделей и графических ресурсов, а также с системой шаблонов игр, позволяющей создавать базовые шутеры или RPG без программирования. Для сложных игр или других приложений можно использовать встроенный язык программирования Lite C или внешний язык разработки, такой как Visual C++ или Borland Delphi. Gamestudio ориентирована на пользователей с разным уровнем подготовки, предлагая три различных уровня использования («новичок», «продвинутый» и «профессионал») для любителей, художников и программистов. Кроме того, Conitec также предлагает систему для разработки рекламных игр, создания презентаций в реальном времени, симуляций и виртуальных выставок. Большинство опубликованных игр, созданных в Gamestudio, разрабатываются командами из 2–3 человек. 1994: ACK NEXT GENERATION от Johann Christian Lotter / oP Group (улучшенная версия ACK 3D, с открытым исходным кодом). 1995: ACKNEX 2 написан для немецкого телешоу X BASE (движок, сопоставимый с Doom). 1995: ACKNEX 2 переходит в собственность Conitec и выпускается как '3D GameStudio'. 1997: ACKNEX 3 выпущен. 1999: A4 выпущен (движок, подобный Quake, на базе Windows). 2000: A5 выпущен (движок для работы с ландшафтом). 2003: A6 выпущен (физика и шейдеры). 2007: A7 выпущен (новый рендерер ABT и Lite C). 2010: A8 выпущен (библиотека Enet Network, Nvidia PhysX, PSSM). Бесплатные обновления обычно доступны раз в 4–8 недель. Gamestudio / A8 имеет два различных значения. Часть Gamestudio относится к редакторам и системе шаблонов игр, а часть A8 – к игровому движку.
1995: ACKNEX 2 written for the German TV show X BASE (engine comparable to Doom)
1995: ACKNEX 2 becomes Conitec property and is released as '3D GameStudio'
1997: ACKNEX 3 released
1999: A4 released (Windows Based Quake like Engine)
2000: A5 released (Terrain Engine)
2003: A6 released (Physics and Shaders)
2007: A7 released (new ABT renderer and Lite C)
2010: A8 released (Enet Network Library, Nvidia PhysX, PSSM)
Free updates are normally available once every 4 to 8 weeks. Gamestudio / A8 has 2 different meanings. The Gamestudio part refers to the editors and game template system, but the A8 part refers to the game engine.
Игровой движок
Двигатель A8 использует панели для физического моделирования. Двигатель автоматически обновляет состояние игры на всех устройствах при игре по сети, но также предоставляет функции для программирования многопользовательского режима на более низком уровне. Он использует рендерер ABT (Adaptive Binary Tree) для внутренних и внешних уровней, а также дополнительный рендерер BSP для внутренних уровней. Рендерер BSP доступен только в Pro-версии. Бесплатная и расширенная версии не поддерживают шейдеры. Двигатель поддерживает высокое разрешение, рендеринг местности, предварительно отрисованные карты теней и динамические тени с использованием трафаретного буфера (одиночные динамические тени для моделей). 2D система (GUI система) движка A8 не очень мощная (см. раздел скриптов), но может быть заменена 3D системой при необходимости. Благодаря Lite C большинство элементов можно настроить. Поддержка Shader Model 3.0 и постобработка с использованием этапов могут помочь программистам шейдеров объединять эффекты в цепочки для создания любого количества пользовательских шейдерных эффектов.
Редакторы
Gamestudio предоставляет пользователям набор инструментов для редактирования. Однако для создания профессиональных изображений и моделей для Gamestudio также можно использовать такое программное обеспечение, как Blender, 3ds Max, Maya и Adobe Photoshop или GIMP. Эти инструменты позволяют пользователям создавать игры, проектируя ландшафт или строительную среду, добавляя модели и наделяя их поведением с помощью готовых или собственных скриптов. При желании пользователи могут создавать собственные модели, дизайн, текстуры и скрипты. Текстуры создаются во внешних графических редакторах, таких как GIMP, Photoshop, Paintshop Pro или Microsoft Paint.
Мировой редактор (WED)
Главный редактор – World Editor (сокращенно WED). С его помощью пользователь может позиционировать различные объекты, назначать действия моделям (также известным как сущности), которые определяются с помощью скриптов, назначать текстуры геометрии уровней и создавать уровни с использованием метода бинарного дерева разделения пространства (или BSP). WED – это основная программа Gamestudio, пользователь может запускать свою игру отсюда, прикреплять к ней скрипты и т. д. WED – это место, где пользователь может объединить все части своей игры (программирование, 3D-графику, уровни). Интерфейс WED довольно прост. Основная часть, центральный правый раздел, предназначена для большинства операций редактирования. Здесь находятся три графика и 3D-вид. Окна можно переупорядочивать. Верхнее левое окно – вид сверху, отображающий координаты X и Y. Нижнее левое – вид сбоку, или координаты X и Z. Нижнее правое – вид сзади, или координаты Y и Z. Вверху справа – 3D-вид, который дает быстрый предварительный просмотр уровня без его построения (компиляции). Графики разделены на сетку кратной 128, а затем на сетку кратной 16, что облегчает привязку и выравнивание объектов. Графики автоматически изменяют масштаб при небольшом уменьшении и с шагом, кратным 8 (например, 1024 и 128, затем 8192 и 1024). В левом центральном разделе отображаются объекты на уровне, текстуры и другие элементы. Для достижения наилучших результатов текстуры должны иметь размеры, являющиеся степенями двойки (например, 256×128, 1024×256 или 64×64). Текстуры с другими размерами (например, 394×213 или 723×1280) выглядят хуже и медленнее отрисовываются. В верхней части находится панель инструментов, которая позволяет пользователю манипулировать объектами, добавлять новые объекты (такие как сущности, звуки и источники света), строить и запускать уровень, а также использовать другие опции. При нажатии правой кнопкой мыши на объект и выборе "Свойства" пользователь может вручную ввести его положение, назначить действие сущности или настроить текстуры на отдельных сторонах блока. Недостатком WED является его неспособность работать без блоков или ландшафта. Например, очень сложно построить улицу (не просто плоскость), потому что практически невозможно расположить блоки идеально ровно, чтобы избежать "ступенек" или зазоров (невозможно идеально соединить края блоков, а функция привязки к сетке помогает только при использовании блоков с небольшим углом поворота). Реализация треугольников или функции привязки края блока к краю блока решила бы эту проблему и позволила бы создавать более сложные полы из нескольких блоков без зазоров и ступенек.
Редактор моделей (MED)
Хотя многие пользователи предпочитают использовать внешние программы моделирования, редактор моделей (или MED для краткости) предоставляет возможности для создания моделей и иногда используется для разработки уровней. Модели могут быть созданы из чего угодно – от простых кубов до человеческих моделей или сложных окружений, таких как целый город. Модели состоят из сеток, представляющих собой группы вершин и треугольников (часто называемых "полигонами"), объединенных для формирования фигуры; скелета из костей для анимации; одной или нескольких текстур для поверхности; и файлов эффектов (.fx) для шейдеров. Как и ВЭД, общая компоновка МЭД почти идентична. В ней есть три окна графиков и 3D-вид, расположенные так же, как в ВЭД.
МЭД во многом похож на ВЭД по общей компоновке, но в МЭД также есть редактор текстур (skin editor), позволяющий накладывать текстуры на модель. Редактор текстур имеет совершенно иную структуру: текстура отображается слева, а модель – справа, окруженная панелями инструментов. Текстуры часто создаются во внешних графических редакторах и импортируются из файлов изображений BMP, TGA или PCX. МЭД использует UV-развертку, при которой вершины из сетки модели проецируются на текстуру для текстурирования модели. Формы моделей создаются либо с помощью примитивов (например, кубов и пирамид), либо путем создания вершин и построения граней. Модели не ограничены ограничениями BSP, что, в сочетании с более быстрой отрисовкой, делает их предпочтительным выбором для разработки уровней в большинстве случаев.
Редактор сценариев (SED)
Редактор сценариев, SED, — это текстовый редактор с компилятором и отладчиком. Однако ключевые слова, такие как "function", "alpha", типы переменных или числа, подсвечиваются разными цветами для облегчения их идентификации, номера строк помогают быстрее находить синтаксические ошибки, выдаваемые движком, переключатель кода позволяет переходить к различным функциям, действиям и объектам, а другие функции дополнительно помогают в программировании и организации проектов. Редактор сценариев используется для программирования на Lite c или C Script (язык сценариев, несколько похожий на C, использовавшийся в предыдущих поколениях, но поддерживаемый для обеспечения совместимости).
Редактор игр (GED)
GED – это как WED, но создание уровней происходит в режиме реального времени (realview). Пока что он не поддерживает создание блоков или источников света.
Сценарий и программирование
Gamestudio использует два различных типа скриптов: C Script и Lite C.
C Script был старым языком скриптов Gamestudio. Он по-прежнему поддерживается, но был заменен на Lite C в версии A7 и больше не рекомендуется для новых проектов. C Script – это упрощенная версия языка программирования C. Он включает в себя только один тип переменной – var – и не поддерживает классы. Lite C был представлен в 2007 году. Он похож на настоящий язык C, но включает множество особенностей, которые делают его проще в использовании, чем C. В отличие от C Script, Lite C поддерживает полный набор переменных C/C++, структуры и внешние классы, а также компилируется вместо интерпретации. Он обеспечивает доступ к набору команд DirectX и к API Windows. Lite C поддерживает классы из внешних библиотек, но пользователь не может определять собственные классы в Lite C. Существует также бесплатная автономная версия Lite C, которую можно использовать отдельно от Gamestudio.
There is also a free standalone version of Lite C, which can be used separately from Gamestudio.
Интенсивный х
Плагин Intense X разработан, чтобы упростить создание игр в Gamestudio без необходимости программирования, и интегрируется непосредственно в редактор уровней. Intense X использует искусственный интеллект и алгоритмы поиска пути, стремясь избежать шаблонности, часто встречающейся в других программах для разработки игр. Intense X имеет открытый исходный код и может быть расширен и настроен пользователями, обладающими опытом программирования.
Издания
У Gamestudio есть четыре различных издания. Все издания включают бесплатные обновления в пределах одной версии движка (бесплатно в A8, но не при переходе с A7.x на A8.x). Они также поставляются с редактором моделей, редактором уровней и редактором скриптов. Игры, созданные во всех изданиях, могут быть опубликованы, за исключением Team-изданий. Бесплатное издание включает редактор уровней WED, компилятор карт теней и систему игровых шаблонов, позволяющую собирать игры из готовых скриптов и компонентов. Скрипты компилируются во время выполнения, и на экране игры отображается водяной знак. Издание Extra добавляет возможность создания предварительно скомпилированных скриптов. Оно стоит 99 долларов. Коммерческое издание добавляет многопользовательскую сетевую игру и шейдеры. Оно стоит 199 долларов. Профессиональное издание предназначено для коммерческих игровых компаний и включает механизмы безопасности и упаковщик файлов. Оно стоит 899 долларов. Существует три основных онлайн-журнала, предлагающих новые советы, хитрости и учебные пособия. Два из них (3AM и 3PM) платные, а третий, Acknex User Magazine (AUM), бесплатен и создается и публикуется ежемесячно Джорджем Дэном Пирву. Помимо руководства, доступно несколько учебных пособий, охватывающих как основы, такие как использование WED, MED и/или SED, так и более продвинутые темы, такие как проектирование многопользовательских уровней, редактирование шейдеров или создание интерактивных сред. Особый пункт лицензионного соглашения ограничивает использование Gamestudio приложениями, которые не "пропагандируют геноцид против определенной группы, расы, нации или религии, существующей в современном реальном мире".