|
|
架构:
完全开放式
支持语言:
目前开发中,仅提供了支持C++的SDK,
但开发完成后,可以包装成带有IDispatch的COM,以支持VB6
www.esnips.com/web/GalEngine
www.esnips.com/web/instHeaders
支持的代码内容:
1 - 游戏主框架:完全开放,可以插入用户自定义的Update,Render,Input处理.
2 - UI支持:采用我的完全可跨平台UI类库,支持2D/3D渲染方式切换。这个GalGame引擎中主要利用 CForm 来实现各种功能,目前提供了 CFrmTalk, CFrmTalkH 这2个标准窗体代码,用来显示对话(其实还提供了 Say, SayH 帮助函数,可以直接显示对话)。用户可以像 VB6一样设计 Form,而且,我的还支持Alpha和ColorKey,速度,画面,都是VB6所不能比的。
**如果使用C++的SDK开发,用户的自定义 Form,可以直接继承 CForm 或 CFormX.
**然而,使用 VB6 + 封装的 COM 开发,用户只能 包含 Form,不能继承。
3 - 精灵(2D Sprite):采用我的完全可跨平台Sprite类库。不过该特性在这个GalGame引擎中使用的不多,因为GalGame主要是UI窗体。但用户完全可以自由利用。
3 - 图形支持:推荐用我的2D/3D图形引擎(默认引擎)。用户自己也可以添加 3D 场景进去。目前不支持用户更换 2D 引擎,所以没有办法是用别的图形引擎,但今后我会允许。
4 - 进程(多任务)模型:这个GalGame引擎,默认只有2个进程,一个用来处理游戏主线,还有一个用来处理,比如对话框的一些小动画的效果。用户也可以写 AdditionalUpdate(回调函数) 来添加自己的各种 Update。
和 VB6 的DoEvents类似地,引擎主框架中的“MsgLoop”函数,允许用户随便调用。不过,编写动态性强的游戏时,不提倡这样,而应该用 “状态机”和 Update。
此外,UI 的 Form 支持 模态对话框(内部调用了MsgLoop),很方便。
5 - 脚本模型:由于是开放式引擎,所以不会制定一个“标准”强迫用户采用。今后会加入一些类库(用户可选用),提供对脚本的支持。
是否开源?
由于涉及到我的3D引擎在内,所以,不能提供一些底层源代码。但我会提供所有头文件和静态库。
这个GalGame引擎中的框架,帮助函数,一些 Form 的代码,我会全部公开。
(VB6 用户的话,可能没有必要看我的代码,直接用 COM 库即可) |
|