星星の心 发表于 2006-4-17 20:22:36

[下载]3D GameStudio A6 6.22 专业版 (游戏开发引擎):

3D GameStudio A6 6.22 专业版 (游戏开发引擎):

下载地址


http://www.conitec.net/images/3dgs_scrhome1.jpg http://www.conitec.net/images/3dgs_scrhome2.jpg http://www.conitec.net/images/3dgs_scrhome3.jpg http://www.conitec.net/images/3dgs_scrhome4.jpg http://www.conitec.net/images/3dgs_scrhome5.jpg http://www.conitec.net/images/3dgs_scrhome6.jpg http://www.conitec.net/images/3dgs_scrhome7.jpg http://www.conitec.net/images/3dgs_scrhome8.jpg http://www.conitec.net/images/3dgs_scrhome9.jpg


3D GameStudio/A6 Pro 德国开发三维3D游戏的著名工具软件,3D GameStudio 游戏引擎代表了当今2D、3D及时游戏引擎的领先水平,已经有上百种使用该引擎的游戏公开发行,官方价格近万元。本软件应游戏开发者的要求提供(包括教程与手册等)!

3D GameStudio 引擎结合了高端的3D引擎,2D引擎,物理引擎,地图和建模编辑器,脚本编译器和大量的3D物体库,工艺品和半成品的游戏。这将使你更容易的制作第一人称游戏、第三人称游戏,角色扮演游戏,滚屏游戏,飞行模拟器,棋类游戏,运动类游戏,及时战略游戏,以及虚拟展示应用程序。。。或者以前没有出现过的3D程序类型。

GS引擎适合每个想作游戏的人。它提供了三种层次的游戏制作方法;


可以通过简单的按键,一步一步的制作简单的游戏,如射击类游戏。

使用C脚本,来制作成熟的商业游戏项目。

使用C++语言,达到更细微的专业开发
使用游戏制作引擎将成为未来游戏制作的主流。甚至不需要编程知识,花一个下午的时间,就能通过教程,一步一步的制作出简单的动作游戏。如果使用脚本语言的话,就能制作出具有商业品质的公开发行游戏。要更详尽的了解该引擎,可以看看demos,屏幕截图,阅读FAQ(常见问题),还有用户杂志。


“非常优秀的3D图形程序开发包”
Dr.Dobb's Journal

总之3D GameStudio A6具有3D引擎和3D贴图、动作编辑器,同时提供了大量的素材库。使用3D GameStudio 你可以制作第一人称、第三人称、冒险、RPG、回合制、飞行模拟、空战模拟、坦克模拟、体育竞技、3D Pinball等多种游戏!现在已有很多游戏公司使用该软件开发大量游戏!



一些用3D GS引擎制作的商业游戏。
http://www.moziqiao.com/xg/city/gamestudio/images/a4pub.jpg


编辑器

http://www.moziqiao.com/xg/city/gamestudio/images/wed5.jpg
GS引擎本身包含有专业水平的建模、地形编辑器,这样可以避免使用第三方程序所带来的格式转换方面的问题。通过编辑器可以方便的创建外景,设置光效,定义移动路径和模型动作。有超过1200种纹理、建筑物、家具、交通工具、武器、动态角色库可用于制作。良好的引入兼容性,可以使你通过互联网下载或自己创建各种格式的3D建模、纹理等所需资源。(当然游戏中的模型,渲染等支持其他3D软件的导入如Max或Maya...)

3种制作方法都包含丰富的环境资源,其中有固定的和可移动的部分,外景、地牢、建筑和城市。在环境中,你可以设置不定数量的彩色光源,真实的投影,3D音效和背景音乐。你可以使用任何作图程序来制作纹理和精灵图。活动的3D模型使用 建模编辑器(MED)来制作。
引擎可以输入目前流行的3D游戏编辑器所制作的动画模型,如Worldcraft 或 Milkshape。兼容一般的3D文件格式(X, 3DS, MDL, MD2, MAP, WAD) 。由免费的地形生成器Terragen制作的文件也允许输入。如果你使用高端的3D程序,如MAYA或3DS MAX,你应该使用其插件来转换成适合的格式。通过Milkshape兼容过滤器接口,各种格式的文件可以方便的输入输出。

在开发完成后,一个按键可以生成CD格式的发行版本。并且可以选择生成一个加密的压缩包。




A6引擎游戏引擎是整个开发系统的核心,它可以产生3D图像和控制虚拟世界的运行方式。由于结合了BSP-树木地形渲染器,GS引擎可以很好的处理室内外场景。光线引擎支持真实的投影和移动光源。甚至在低档的硬件上,成熟的三倍精选算法可以渲染10万个多边形,并且达到 70 fps。通过使用插件,程序可以获得新的效果个特征。

渲染器 ...........................................................

- 6度自由的,多摄像机和渲染窗
- DX8.1 DirectPlay, DirectShow, DirectSound
- 自动选择合适的3D硬件加速
- 支持DX8.1和以上版本
- 窗口或全屏模式,最大支持1600x1200
- BSP/PVS, Portal and frustrum culling
- Geometric LOD and trilinear mip mapping
- 静态和动态的点光源,投射光源和方向光源
- 静态和动态的投影
- 彩色雾区
- Portals and mirrors
- Vertex and pixel shaders
- 凹凸和环境帖图
- 多纹理帖图(最大8),光线帖图,精细纹理
- 静态动态物体的材质属性
- 动画3D精灵和帖纸
- 无缝的室内外可变海拔地形?
- 变形网格建模,骨骼和节点动画,动画合成?
- 可编程的离子和波生成器
- 拥有动态云层和背景图的天空系统
- 2D渲染器,渲染静态图像,2D精灵,面板,按钮,滑动条,覆盖图,Truetype 和位图字体,屏幕截图,和电影。
- 3D视图和电影可以被渲染到弯曲的表面,达到扭曲效果
- 可编程的2D和3D效果,如镜头角度,弹孔,卡通等

游戏引擎 ........................................................

- 多边形水平的碰撞测试,应用于地形和3D物体
- 物理引擎支持重力,聚集,阻尼衰减,弹力,摩擦力和 绞链,球,车轮,滑杆的互动
- 3D音源 (WAV and OGG) 多普勒效果
- 快慢动作效果
- 任意轴向的旋转,应用于太空、飞行模拟器
- 摄像机,角色,交通工具的路径轨迹
- 鼠标捕捉和操纵 3D物体
- 游戏任意位置的进度存取
- 局域网和互联网上的客户/服务器模式的多人游戏
- 分布式/多服务器 支持多人在线的游戏
- Expandable through DLL plugin interface






C脚本 编程语言
我们可以通过设计水平,设置项目和怪物,并附加其行为举止,和添加游戏菜单来创建一个完整的游戏。 那么我们是否真正需要一个编程语言呢?
http://www.moziqiao.com/xg/city/gamestudio/images/sed.gif

在使用第一种简便方法完成你的游戏后,你可能希望制作更成熟的游戏。就像用编程制作的那样,自己设计玩家的动作,结果,人工智能,用户界面,代替预定义的脚本。GS引擎的 C脚本语言 可以让游戏制作的新手制作出具有专业水平的游戏。C脚本是简单化的C++,C++应用于专业的编程。如果你曾经用javascript编辑过网页,你会比较适应 C脚本。否则,你应该去看手册中的简易教程《6天游戏编程速成》。C脚本 是学习游戏编程最好的方法,并且每当你输入代码,都可以立刻从虚拟的世界看到结果。


虽然非常易懂,但和真正的编程语言一样有较高的自由度,包括 多任务,数组,结构,指针,全局和局部变量,字符串和向量函数,文件读写等。引擎提供高亮度显示语法条的编辑器,调试器,编译器。和Bisic解释执行方式不同,C脚本是可编译的。用C脚本制作的程序,运行速度和直接编程的程序运行速度相当。执行速度,对于大多数游戏来说都是重要的。


当然,如果你更喜欢使用你的C++或Delphi开发系统,GS引擎也提供扩展的Dll插件接口。

官方网址:http://www.3dgamestudio.net/

由该软件开发的游戏壁纸:

http://www.conitec.net/english/gstudio/gallery.php

鬼冥皇子 发表于 2006-4-18 12:04:04

星星~~~~怎么突然出现又突然消失~

yoxola 发表于 2006-4-18 17:31:53

突然想到幾點,或許可以供大家參考下

以上的功能很多都在專業版才有,當然樓主提供的是專業版位置
如果你知道他的原始價格(專業版)是美金900元,說不定會有點驚訝

C-Script編譯之後的執行速度跟真正的機械碼還是有段差距,
不過說起運行速度大概有HSP的水平吧...

很多用這個製作的商業遊戲在遊戲中會有一時卡住的情況,
我不知道是否為Loading帶來的問題,但是這樣會讓遊戲失去一點流暢感

不過他是少數All-in-One的開發環境,不過如果有習慣第三方編輯器
(如MAX),或許不會用自帶的編輯器了

blueghost1 发表于 2006-4-18 21:27:03

那个似乎要购买吧,楼主
http://www.wxsmzx.com/Soft/cxym/shangye/200601/537.asp

这里有免费下载的,pro版,附带范例和教程(E文的)

ccr200220 发表于 2006-4-24 10:56:07

我在提供个电驴的连接


http://lib.verycd.com/2006/04/18/0000099372.html

ocean 发表于 2006-4-24 12:08:58

引用第3楼blueghost1于2006-04-18 21:27发表的“”:
那个似乎要购买吧,楼主
http://www.wxsmzx.com/Soft/cxym/shangye/200601/537.asp

这里有免费下载的,pro版,附带范例和教程(E文的)
我为什么下不了啊?我用的是迅雷.你下了没有?

yoxola 发表于 2006-4-24 20:36:17

那麼,看本區的置頂帖吧

Advance 发表于 2006-4-26 04:33:25

引用第2楼yoxola于2006-04-18 17:31发表的“”:
突然想到幾點,或許可以供大家參考下

以上的功能很多都在專業版才有,當然樓主提供的是專業版位置
如果你知道他的原始價格(專業版)是美金900元,說不定會有點驚訝

.......

在一般的整数计算和比较判断部分中,HSP的速度只有NATIVE CODE的1/100左右,涉及到数组操作时速度更是只有1/300……

写个AVG引擎我都觉得它很慢,真的,复杂一点的像STG基本上是不能做的,即使画面音频之类的通通都交给插件来处理。它的VM优化做得太差了,.NET要比它好得多。

FantasyDR 发表于 2006-4-26 12:29:09

寒一下楼上的分析和比较……

Advance 发表于 2006-4-26 12:50:19

毕竟个人作品还是不能跟M$比的么

举个极端点的例子,下面这两个程序执行相同效果的运算,所花费的时间比却是1:800左右(ASM的执行100W*1024次,HSP的执行1W*1024次)


.386
.model flat,stdcall
option casemap:none

include \\masm32\\include\\windows.inc
include \\masm32\\include\\kernel32.inc
includelib \\masm32\\lib\\kernel32.lib
include \\masm32\\include\\user32.inc
includelib \\masm32\\lib\\user32.lib
include \\masm32\\include\\winmm.inc
includelib \\masm32\\lib\\winmm.lib

.DATA?

    PlayerPositionX   DWORD    ?
    PlayerPositionY   DWORD    ?
    PlayerHitBoxW   DWORD    ?
    PlayerHitBoxH   DWORD    ?
    Time            DWORD    ?
    IsHitting         db    1024    dup(?)
    MessageBuffer   db    64    dup(?)

.DATA

    EnemyPositionX    dd    1024    dup(1)
    EnemyPositionY    dd    1024    dup(1)
    EnemyHitBoxW      dd    1024    dup(99999)
    EnemyHitBoxH      dd    1024    dup(99999)
    EnemyCounter      DWORD    1024
    MessageFormat   db"Time spent : %u ms"

.CODE

start:

    call    timeGetTime
    mov    Time,eax
    mov    PlayerPositionX,12345
    mov    PlayerPositionY,67890
    mov    PlayerHitBoxW,12345 + 123
    mov    PlayerHitBoxH,67890 + 456
    xor    ecx,ecx

@@:

    mov    eax,PlayerPositionX
    add    eax,ecx
    mov    PlayerPositionX,eax
    mov    eax,PlayerPositionY
    sub    eax,ecx
    mov    PlayerPositionY,eax
    call    HitCheck
    inc    ecx
    cmp    ecx,1000000
    jne    @b
    call    timeGetTime
    sub    eax,Time
    push    eax
    push    OFFSET MessageFormat
    push    OFFSET MessageBuffer
    call    wsprintf
    add    esp,3 * 4
    xor    eax,eax
    push    eax
    push    eax
    push    OFFSET MessageBuffer
    call    GetForegroundWindow
    push    eax
    call    MessageBox
    xor    eax,eax
    push    eax
    call    ExitProcess

HitCheck:

    cmp    EnemyCounter,0
    je    CheckFinish
    pushad
    xor    eax,eax
    mov    edi,OFFSET IsHitting
    mov    ecx,EnemyCounter
    mov    edx,ecx
    and    edx,SIZEOF BYTE + SIZEOF WORD
    shr    ecx,2
    cld
    rep stosd
    or    ecx,edx
    jne    MemoryMisalignment
    jmp    @f

MemoryMisalignment:

    rep stosb

@@:

mov ebx,OFFSET EnemyPositionX
    mov    edx,OFFSET EnemyPositionY
    mov esi,OFFSET EnemyHitBoxW
    mov edi,OFFSET EnemyHitBoxH
    xor    ecx,ecx

CheckLoop:

    mov    eax,
    cmp    PlayerPositionY,eax
    ja    CheckEnd
    mov    eax,
    cmp    PlayerPositionX,eax
    ja    CheckEnd
    mov    eax,
    cmp    PlayerHitBoxH,eax
    jb    CheckEnd
    mov    eax,
    cmp    PlayerHitBoxW,eax
    jb    CheckEnd
    mov    BYTE PTR,1
   
CheckEnd:

    inc    ecx
    cmp    ecx,EnemyCounter
    jne    CheckLoop
    popad

CheckFinish:

    retn

end start



#include "llmod.as"

    dim    prm,1
    dim    hDLL,1
    dim    TIME,1
    dim    ENEMY_COUNTER,1
    dim    PLAYER_POSITION_X,1
    dim    PLAYER_POSITION_Y,1
    dim    PLAYER_HITBOX_W,1
    dim    PLAYER_HITBOX_H,1
    dim    ENEMY_POSITION_X,1024
    dim    ENEMY_POSITION_Y,1024
    dim    ENEMY_HITBOX_W,1024
    dim    ENEMY_HITBOX_H,1024
    dim    IS_HITTING,1024

    ENEMY_COUNTER = 1024

    PLAYER_POSITION_X = 12345
    PLAYER_POSITION_Y = 67890
    PLAYER_HITBOX_W = 12345 + 123
    PLAYER_HITBOX_H = 67890 + 456

    repeat    ENEMY_COUNTER

      ENEMY_POSITION_X = 1
      ENEMY_POSITION_Y = 1
      ENEMY_HITBOX_W = 99999
      ENEMY_HITBOX_H = 99999

    loop

    ll_libload    hDLL,"winmm.dll"

    dllproc    "timeGetTime",prm,0,hDLL
    TIME = dllret

    repeat    10000

      PLAYER_POSITION_X += cnt
      PLAYER_POSITION_Y -= cnt

      gosub    HitCheck

    loop

    dllproc    "timeGetTime",prm,0,hDLL
    TIME = dllret - TIME

    dialog "Time spent : " + TIME + " ms"

    end

*HitCheck

    if ENEMY_COUNTER = 0 : return

    repeat    ENEMY_COUNTER

      IS_HITTING.cnt = 0

      if (ENEMY_HITBOX_H.cnt < PLAYER_POSITION_Y) | (ENEMY_HITBOX_W.cnt < PLAYER_POSITION_X) | (ENEMY_POSITION_Y.cnt > PLAYER_HITBOX_H) | (ENEMY_POSITION_X.cnt > PLAYER_HITBOX_W) {
            continue
      }

      IS_HITTING.cnt = 1

    loop

    return
页: [1] 2
查看完整版本: [下载]3D GameStudio A6 6.22 专业版 (游戏开发引擎):