Gamestudio

Gamestudio，一般被称为3D Gamestudio，或者3DGS，是一个3D电脑游戏开发系统，允许用户创建3D游戏和其它虚拟现实应用程序，可以免版税发布。该系统包含一个模型、地形、场景、脚本和调试程序，而且还收录了大量的纹理，模型，和贴图。不仅如此，该系统还带有一个游戏模板系统，用户不需编程就可以用它做一些基本的射击游戏或者角色扮演类游戏。对于更复杂的游戏或应用程序可以使用软件的编程语言，Lite-C，或者用外部开发语言，比如VC++或者Borland Delphi。
Gamestudio面向各种用户群，针对爱好者，美工人员及编程人员提供初级版、高级版、专业版。并且Conitec公司也希望把这个系统推向广告游戏开发，实时演示，模拟以及虚拟展览制作的市场。大部分发行的Gamestudio作品都是有2到3人的开发团队制作完成的。而且，在网络上还有一个庞大的在线用户交流群可以对这个系统提供帮助。

**历史**
 1993 ACK 3D (Animation Construction Kit) by Lary Myers (Wolfenstein型的开源引擎- 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 发布 (基于Window，像镭射之锤一样的引擎)
*2000 A5 发布 (地形引擎)
*2003 A6发布 (物理和着色器)
*2007 A7发布 (新的ABT渲染器和 Lite-C)
*2009 A8 宣布于2010年11月发布
一般情况下该引擎每4到8个星期会提供免费更新。Gamestudio/A7有两部分。Gamestudio指的是编辑器和游戏模板系统；A7指的是游戏引擎。

**游戏引擎**
A7引擎包含一个可支持多个物理对象的物理引擎（例如，靠四轮转向和移动的汽车，而不是简单的汽车带着轮子移动）。这个引擎可以自动处理多人游戏（但是脚本仍然需要针对多人游戏的特点编写）。它使用ABT(Adaptive Binary Tree)渲染器表现室内外场景，并用一个额外的BSP渲染器做室内场景。需要注意的是，只有昂贵的专业版中包含BSP渲染器。免费版和增强版不支持明暗器。
引擎支持高分辨率，地型渲染，预先渲染，阴影贴图和动态模板阴影（这是给模型的单一动态阴影，而不是像毁灭战士3里面可见到的那种对每个模型投射多个光源的动态模板阴影）。A7引擎的2D系统（图形化用户界面系统）并不是很强大（见脚本部分），但是却可以在需要时与3d系统互换。在使用Lite-C语言时，很多东西都是可以用户自定义的。3.0版模型着色器和分阶段的后期处理可以帮助着色程序员把各种特效连在一起用以产生任意数量的自定义的着色效果。

**编辑器**
Gamestudio给用户提供了一套编辑工具。但是用户依然可以使用3ds Max，Maya，Adobe Photoshop来给Gamestudio做专业的图像与模型。
脚本编辑器可以让用户通过建立地形或者创建环境和插入模型，并且可以通过模板脚本或自创脚本为它们加入动作和各种行为。如果需要，用户可以自行创建模型和造型，纹理效果，以及脚本。纹理是通过外部绘图程序创建的，如 Photoshop，Paintshop Pro，Microsoft Paint，或者GIMP。

**场景编辑器（WED），又名关卡编辑器**
场景编辑器（WED），是主编辑器。利用这个编辑器，用户可以放置各种物体，给模型赋予脚本定义的动作，给几何场景加上纹理，并且用BSP（Binary space partitioning tree）技术创建场景。
场景编辑器是Gamestudio的主程序，用户可以从这里启动游戏，给游戏加脚本等等。这是用户把游戏各个部分融合到一起的地方。
WED的布局很简洁。主要部分，中间偏右的区域，用于编辑，有3个图形视图和一个3D视窗。虽然可以重新安排，但是左上方的窗口是顶视图，显示X-Y坐标。左下方是侧视图，显示X-Z坐标。右下方是后视图，显示Y-Z坐标。右上方是3D视图，不编译出游戏就可以快速预览游戏场景。
这些图形被分为128的倍数个，然后进一步被分为16的倍数个，以便对齐和摆放。按照8的倍数分步缩小后的图形会自动调整大小。
左中区域列出场景中的物体，纹理和一些其他东西。为了达到最好的效果纹理必须是 2的整数幂（比如256x128, 1024x256, 或者64x64）。奇数个的纹理看起来较差而且渲染较慢(如 394x213 or 723x1280)。
顶部是工具栏。用户可以用其操作物体，加入新的物体，比如实体、声音和光，建立场景，运行程序。还有一些其他选项。
当对一个物体右击并选择属性菜单时，用户可以手动输入坐标位置，给一个实体赋予动作，或者调整块各个面的纹理。
WED的一个缺点就是它不能在没有块或者地形的情况下进行操作。举例说，我们很难去建立一条街道（不是一个简单的平面），因为我们几乎不可能把各个物块移动到完美的位置上，使得整条街道没有缝隙（我们不可能把物块的边缘完美对齐因为“自动对齐到网格”功能只能用于几乎没有旋转过的物块）。三角形和“物块边缘对齐”功能可以解决这个问题，让我们用多个独立物块建立一个复杂的无缝地面。

**模型编辑器（MED）**
虽然许多用户更倾向于使用外部模型程序，但是本系统的模型编辑器还是能让用户设计模型，而且有时还可以制作场景的。模型可以由任何东西构成，小到几个简单的箱子，大到人物模型或者整个城市一样复杂的环境。模型是由众多网状物构成的：一组顶点和三角形（也就是多面体）构成形体，一个骨架来做运动，一个或多个纹理组成皮肤，以及特效文件（.fx）来做明暗器。
和场景编辑器一样，模型编辑器的大概布局也是一样的。它有3个图形视图和一个3D视图，和场景编辑器的排布相同。
虽然MED的大体布局和WED多少相同，但是MED还有一个皮肤编辑器，用来给模型添加纹理。皮肤编辑器有一个完全不同的布局。纹理效果在左边显示，模型在右边显示。工具栏环绕着它们。纹理效果经常都是由外部图形编辑器创建并通过BMP，TGA，或者PCX格式的图片导入的。MED使用UV映射，把模型网格的顶点放在纹理上以此给模型上纹理。
模型的形体既可以通过简单的基元（比如立方体和锥体）建立，也可以由顶点到面的方法来制作。模型不一定非要像BSP一样受限制，不过BSP渲染快速，大部分情况下是更理想的设计层次的选择。

**脚本编辑器（SED）**
脚本编辑器（SED）是一个有编译器和调试器的纯文本编辑器。不过，一些关键词，如 “function”，“alpha”，变量类型或者数字会体现不同的颜色来帮助用户。行号可以帮助更快查找语法错误。代码跳跃功能可以跳至不同函数，动作和对象上。除此之外SED还有其他功能来帮助编程和组织项目。脚本编辑器使用的是Lite-c或者C-Script（一个在之前版本中使用到的脚本语言，有些接近C语言。这里为了提高兼容性而保留）语言。

**游戏编辑器（GED）**
游戏编辑器GED与场景编辑器相似，但是采用实时渲染制作场景。目前还不支持建造块或者光束。

**脚本编写和编程**
C-Script是Gamestudio使用的旧语言。虽然现在的系统仍然支持这个语言，但是在新的A7引擎C-Script已经被Lite-C取代，而且已经不推荐使用。C-Script是简化版的C编程语言，它只包含一种变量，var, 而且不支持类。
Lite-C是2007年被引进的。它更加类似于C语言，但是包含很多方面使其比C语言更简单。Lite-C支持所有的 C/C++变量集，结构，和外部类。并且Lite-C是汇编语言，不需要转译。它可以让用户利用DirectX的命令集以及Windows API。Lite-C支持来自外部库的类，但是不允许用户在Lite-C里自定义类。除此之外，Lite-C还有一个免费的独立版本，可以独立于 Gamestudio运作。

**游戏**
使用Gamestudio制作的游戏包括《异教危机》（Kabus 22,2006年又S on Isik LTD, Merscom LLC)出品）和Citroën C4 Robot（2008年2GEN Studio, Citroën Turkey出品）和Dejobaan公司的一些Windows游戏。

**外部链接**
  Gamestudio 官方主页 date=20200712034942