3D编程语言提供了一种更加容易的编写3D应用程序的方法,因为你使用的是一种专门为3D游戏设计的脚本语言来编写DirectX界面。这种语言不受3D引擎速度和自由度的影响,并且避免了使用“真正”编程语言带来的问题。很多3D编程语言使用Basic——一种比较容易学习的语言,但由于其落后的语言结果,所以并不适合于编写大而复杂的游戏。比较适合于当前游戏开发需要的是基于C或者JavaScript的语言。
创作游戏最简单的方法是使用3D创作系统——它们有自己的3D引擎,并且具备可视化编辑器,可以很快地创作一个游戏原型。当然了,只有很简单的游戏才可能绕开编程,创作系统一般都提供脚本语言来进行编程或定制游戏。利用创作系统,再加上对独立3D引擎的编程,可以在很短的时间内创作一款游戏,很多大的游戏公司都开始使用创作系统来开发游戏了。
一些简单的创作系统针对FPS(First or third Person Shooters),不提供或者只提供有限的脚本编程。尽管利用他们开发的FPS游戏并没有什么市场,但如果你不希望使用脚本或者不想让你的游戏商业化的话,也可以使用他们来开发游戏。而多数的创作系统可以用来开发任何种类的游戏或者3D应用程序。下面是一个当下流行的系统和引擎的对比表:
**代表可以被显示,但需要第三方工具来创建。
$$$表示发行或者销售游戏需要额外收费或履行特定的条件。
该表格基于2005年秋的各厂家说明书,不保证所有数据的正确性。如果有多种许可版本,选择价格适中的版本列出。列出的Gamestudio/A6属性基于Gamestudio网站最新的更新版本。
| FPS | Authoring Systems | 3D Languages | 3D Engines | |||||||||||||||
| 3DGM | Quest | Radish | Virtools | A6std | A6ext | A6com | A6Pro | DB | DBPRO | Blitz | TV3D | Irrlicht | Torque | Nebula | Crystal | Cipher | PR | Jupiter |
Price (US $) | $49 | $749 | $2495 | $5000 | €49 | €89 | €199 | €899 | $49 | $99 | $100 | $500 | — | $100 | — | — | $100 | $1500 | $$$ |
Publish | $$$ | no | no | no | Splash | Splash | Splash | no | no | no | no | no | no | $$$ | no | LGPL | no | $$$ | $$$ |
Renderer | DX6 | DX8 | DX8 |
| DX9 | DX9 | DX9 | DX9 | DX6 | DX9 | DX7 | DX8 |
|
| DX8 | OG | DX8 | DX9 |
|
Software T&L | yes | — | — | yes | yes | yes | yes | yes | yes | — | — | — | yes | — | — | — | — | yes | yes |
Hardware T&L | — | yes | yes | yes | yes | yes | yes | yes | — | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Culling system | — |
|
| Portal | BSP | BSP | BSP | BSP | — | BSP | — | BSP |
|
|
| Portal | BSP | BSP | BSP |
LOD system | — | yes | yes | yes | — | yes | yes | yes | — | yes | yes | — | — | yes | yes | yes | yes | yes | yes |
Terrain | yes | — | yes | yes | — | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Shadow mapping | — | — | — | yes | yes | yes | yes | yes | — | ** | yes | yes | ** | yes | — | yes | yes | yes | yes |
Dynamic shadows | — | $59 | yes | yes | — | — | yes | yes | — | yes | — | yes | yes | yes | yes | yes | yes | yes | yes |
Shader | — | yes | yes | — | — | — | yes | yes | — | yes | — | yes | — | — | yes | yes | yes | yes | yes |
Particle generator | — | yes | yes | yes | yes | yes | yes | yes | — | yes | — | yes | yes | yes | yes | yes | yes | yes | yes |
Beam generator | — | — | — | — | — | — | yes | yes | — | — | — | — | — | — | yes | yes | — | — | — |
Template system | yes | — | — | yes | yes | yes | yes | yes | — | — | — | — | — | — | — | — | — | — | — |
Bones animation | — | yes | yes | yes | — | — | yes | yes | — | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes |
Save/Load System | — | — | — | yes | yes | yes | yes | yes | — | — | — | — | — | — | — | — | — | — | yes |
Expandable | — | yes | yes | yes | yes | yes | yes | yes | — | yes | yes | — | — | — | yes | yes | — | — | yes |
Network system | — | $799 | zone | zone | — | — | c/s | zone | p-p | c/s | c/s | — | c/s | zone | c/s | c/s | c/s | c/s | zone |
Physics engine | — | yes | yes | $5000 | — | — | 1 obj | yes | — | — | — | — | — | — | — | — | — | — | yes |
Level editor | — | yes | yes | yes | yes | yes | yes | yes | — | $99 | yes | — | — | yes | — | — | — | yes | yes |
Model editor | — | yes | — | yes | yes | yes | yes | yes | — | — | — | — | — | — | — | — | — | — | — |
Script editor | — | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | — | — | — | — | — | — | — | — |
Script compiler | — | — | — | — | yes | yes | yes | yes | — | yes | yes | — | — | — | — | — | — | — | — |
Script debugger | — | — | — | — | yes | yes | yes | yes | — | yes | — | — | — | yes | yes | — | — | — | — |
Script syntax | — | Chart | Lisp | Chart | C | C | C | C | Basic | Basic | Basic | — | — | C | TCL |
| — | — | C |
上表并不是要说明哪个系统更好。即使功能很相似,各系统之间在速度或稳定性方面也会有差距。对于你来说哪个系统更加出色主要取决于你的工程、目标、个人倾向,当然还有你的预算。你可以通过分析屏幕截图、演示和使用试用版来决定你使用哪个系统。