游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7956|回复: 7

BLADE SymC ARPG 手机游戏引擎

[复制链接]

2

主题

5

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2008-10-23 10:24:00 | 显示全部楼层 |阅读模式





BLADE是一套使用 Symbian C++ 语言编写的基于Symbian S60 平台的ARPG 手机游戏引擎,BLADE 使用 Symbian S60标准应用程序框架(Series 60 Application Framework),利用 BLADE 可以开发能够在所有 S60 手机平台上运行的游戏程序。BLADE 的主要特点包括:
        ■ 完全 Symbian C++ 语言设计 在面向对象的程序设计理念前提下,遵循 Symbian OS 程序设计规范,在编写过程中不仅使用 Symbian OS 提供的数据类型集,而且在字符串处理、复杂集合类型、类命名、异常错误的处理、清理栈的使用、活动对象等方面均符合 Symbian OS 的设计标准。
        ■ 标准 Symbian S60 应用程序框架结构 包含 CAknApplication、CAknDocument、CAknAppUi、CAknKeySoundSystem、CCoeControl等多个框架类扩展,实现 MMsvSessionObserver、MCoeForegroundObserver、MMdaAudioOutputStreamCallback、MTimingCall、MAudioSystem、MRenderSystem、MInputSystem、MImageSupervisor、MAnimSupervisor、MTempletSupervisor等数十个系统级接口,对来电接听、接收短信/彩信、前/后台切换等支持良好。
        ■ 架构管理的层次化和组件的模块化 以 CARPGContainer 主容器为核心,下设渲染系统(CRenderSystem)、音效系统(CAudioSystem)、输入系统(CInputSystem)、图像管理器(CImageSupervisor)、动画管理器(CAnimSupervisor)、模板管理器(CTempletSupervisor)以及各类标准游戏程序组件(Splash、Title、Help、About、Setting、Game):
                □ 渲染系统(RS) 支持 208x176、208x208、320x240、416x352、640x360等各类分辨率;支持4K、64K、16M等多种色深;高效blitter,以及同一数据的X轴反转、Y轴反转、X+Y轴反转、缩放、RGB独立调节、Alpha调节、影子渲染等多种渲染模式,在最少内存使用下实现图像的多样性;支持任意位置点、线、矩形、圆、多边形等几何形状的快速渲染(含各几何体的扩展,包括实心、空心、Alpha);内建12x12、14x14、16x16等多套汉字点阵,以及适应小屏幕终端显示的5x5 数字/字母字体。该系统所有功能均由引擎代码实现,未使用SDK API。
                □ 音效系统(SS) 支持 16位 单声道 8000hz .wav 格式音频文件读取和播放;支持多音效片断合成播放。考虑到目前手机的硬件条件,应把程序的计算时间侧重于游戏的互动逻辑,故该系统没有采用双声道和更精细的采样频率输出。
                □ 输入系统(IPS) 支持普通手机键盘和QWERTY全键盘输入,暂不支持触摸屏。
                □ 图像管理器(IS) 程序使用的所有图像资源由其管理调度,包括加载文件、分配使用以及清理等。IS是主容器下属的独立模块,负责为容器内其他模块提供需要的图像资源。IS在保存图像资源的同时,也记录有该图像资源的切割信息。
                □ 动画管理器(AS) AS是引擎的重要组件,它基于IS为程序的其他组件提供需要的动画数据。AS管理的基本单元为 as,as将一套动画划分为三个层级,每一层级是对上一层级的细化,这样使得动画数据的编排更直观,组件在使用动画数据时更快捷。
                □ 模板管理器(TS) 游戏中所有对象均使用模板构建,包括地形、角色、建筑、物品、法术等。各类模板均基于IS和AS但又具有各自不同的属性。
                                l 地形模板 包含碰撞检测类型、阻力系数、地理类型、状态转换类型、切换条件、阴影类型等。
                                l 角色模板 包含基础生命值、基础法术值、体重、最大移动速度、碰撞检测类型、基础攻击值、基础防御值、基础抵抗力、基础精确度、基础敏捷度、基础力量、各种音效等。
                                l 建筑模板 包含碰撞检测类型、多边形类型等。
                                l 物品模板 包含物品种类(货币、武器、防具、饰品、疗物、关键、其它等)、不同种类具有的位旗标(与角色模板属性、法术模板属性联系)。
                                l 法术模板 包含效力类型、目标类型、造成不适类型(中毒、沉睡、昏迷、衰弱、迷惑、惊呆、笨拙、盲目、沉寂等)、光影类型等。

                □ 标准游戏程序组件 闪屏组件、主菜单组件、设置组件、游戏组件、帮助组件、关于组件等各组件不仅提供公共接口且具有各自独特的接口。公共接口包括逻辑更新、绘制、按键响应、前后台切换、屏幕旋转等。
                                l 闪屏组件 包含脚本系统、LOGO显示、过渡效果等。
                                l 主菜单组件 包含脚本系统、选项功能、背景及光标显示等。
                                l 设置组件 包含控制设置、音量设置、图像效果设置等。
                                l 游戏组件 该组件是游戏功能具体实现的组件,负责游戏运行过程中所有资源的调度,下设场景(Scene)、场景信息库(SIL)、游戏时间系统(GT)、天气系统(GW)、游戏菜单(GM)、脚本系统、对话库(PL)等多个子系统。
                                                ○ 场景 游戏中大部分可视化对象的容器,包括地形、角色、建筑、物品、法术、摄像机、脚本系统等,负责对其内部的所有对象进行资源调度和规则仲裁。
                                                ○ 场景信息库 库中记录所有Scene的基础信息,包括ID、出口数量、出口打开条件、环境类型(户外、城内、屋内、地下、平原、高原、湖底等)。
                                                ○ 时间系统 与真实时间匹配的游戏时间系统。
                                                ○ 天气系统 基于时间系统产生多样性的天气效果,包括晴天、阴天、雨天、白天、夜晚、太阳照射、月光、云雾、雨水等,同一环境在不同的天气下渲染效果不同。

        ■ 丰富的游戏特效和元素
                □ 环境光、物体光和阴影 时间以及天气环境的变化产生明暗不同、色彩不同的渲染效果,发光物体对周围地形、角色、建筑等照射和闪烁效果,各物体受光照产生阴影,相对角度、光照半径、距离等因素对阴影的方向、浓度、透明度造成影响。
                □ 物理特效 地形具备不同的摩擦因子(泥土路面、冰面、雪地、草地、木地板、石板等),物体具有各自的质量、速度和加速度,物体产生运动依靠力的驱动而非直接设置其速度;物体产生惯性运动的同时受地形产生的相对摩擦力反作用;运动中的物体产生碰撞依据各自的质量、速度、碰撞角度产生多对相互作用力,每个物体依据受力大小和方向相应改变运动状态。基于物理算法甚至可在游戏中嵌入考验操作的额外小游戏。
                □ 地形互动 地面、水、机关、陷阱等不同类型地形对游戏中的角色产生不同的作用,如落水、受伤等;不同的地形对角色的物理攻击、法术攻击、踩踏、碰撞等有不同的响应,如:用指定的某一法术攻击墙体可打开秘密通道、角色的物理攻击值达到指定的下限时才能破坏的机关、角色碰撞冲击造成地形改变等。
                □ 物品系统 物品分为货币、武器、防具、饰品、疗物、关键、其它等多个种类,每一类物品的功效各自不同。角色可捡起、装备、使用、丢弃物品,同时一些特殊物品对剧情产生作用。
                                l 货币 包含Diamond、Gold、Silver、Copper、Tin五种,各种类有不同的换算比例。
                                l 武器/防具/饰品 不同的物品对角色的等级、力量、HP、TP、速度、物理攻击、物理防御、精确度、敏捷度、法术抵抗等产生额外影响。
                                l 疗物 不同的物品产生不同的疗效,包括恢复HP/TP、治疗中毒、沉睡、昏迷、衰弱、迷惑、惊呆、笨拙、盲目、沉寂等。
                                l 关键 特殊物品的装备和使用能够剧情推动、进入特殊场景等。
                                l 其它 其它的物品使用可以让角色学会新的法术、了解更多等。
                □ 法术系统 游戏中所有角色都能够使用的各种各样的法术,各种法术产生的效力也丰富多彩,包括攻击、治疗、属性提升、造成不适状态、即杀、复活等。随着角色等级的提升或剧情的发展,可以学会更多的法术。
                □ 角色操控 游戏中的所有角色基于公共角色接口,下设Player、Npc、Demon、Boss、Building、Item、Theurgy等多个子类,具有走、跑、休息、攻击、施法、被攻击、潜水、死亡等多种状态。
                □ AI 角色能够对周围事物的变化产生响应,包括不同类别角色的走近、角色移动的碰撞、敌对角色的攻击等。
                □ 脚本系统 程序中各组件均可脚本驱动,包括主容器脚本、游戏组件脚本、场景脚本、摄像机脚本。主容器脚本负责模块的切换、通知各子系统装载资源等;游戏组件脚本负责游戏组件内各子系统的资源装载、剧情发展等;场景脚本负责场景中地形的互动;摄像机脚本负责镜头的运用等。
                □ 事件驱动 引擎中包含一个独立的事件处理器(EC),可以接收程序任何位置发送出的事件。事件记录了发送方、接收方、响应方式、响应时间、数据包等,EC负责事件的接收和分派,实现了引擎中各层级模块和系统的相互通讯。
                □ 自由规则 物品生成、属性相互影响等可以自由设定;程序中数百个宏定义参数,涉及音频参数、对象池参数、角色阴影参数、移动方向参数、模板数量参数、动画层参数、对话框参数、地形脚本数目、天气、时间等数十个模块均可自由调整。
                □ 辅助工具 引擎包含了向量的各种运算、各类几何体(点、线、圆、矩形等)的相交检测、力、区间判断、文件I/O操作等多个工具函数。所有功能均由引擎代码实现,未使用SDK API。
    ■ 简洁明了的游戏资源 引擎中各子系统/组件读取独立格式的外部文件,而外部文件的设计更简化到了仅用文本编辑器就能够进行。引擎设计读取的文件类型包括:.mbm .wav .is .as .phs .mls .bdt .lct .itt .trt .tgt .scn .cis等。

■ 兼容性和移植度 支持运行于所有S60 3rd 和S60 5th 平台的移动终端,包括:  3250、5320XM、5500、5700XM、6110Navigator、6120C、6121C、6124C、6210Navigator、6220C、6290、6650、E51、E55、E60、E61、E61i、E62、E65、E66、E70、E71、E90Communicator、N71、N72、N73、N75、N76、N77、N78、N79、N80、N81、N81 8G、N82、N85、N91 8G、N92、N93、N93i、N95、N95 8G、N95-3NAM、N96、N96-3、5800XM;i458、i520、i550、i560、G810;KT610。

    BLADE 在开发过程中使用的是以下操作环境:
    ■ 软件环境
                □ OSWindows Vista HomeBasic(支持WinXP sp1/sp2/sp3)
                □ IDENOKIA Carbide.c++ v1.3.2 Build039 Express
                □ SDKS60_3rd_FP1、S60_3rd_FP2_v1.1、S60_5th_v0.9
    ■ 硬件环境
                □ CPUAMD Athlon 64 X2 Dual Core 5600+
                □ GPUNVIDIA GeForce 8600 GT 256M
                □ BoardBiostar TF570 SLI
                □ MemKingston PC2-5300U 3 x 1G


    BLADE 实际运行的一些画面截图:
















    BLADE 开发者:


                   刀刀

    联系方式:
QQ 653506560

EMail qw_wuwei@163.com

来信可提供在实机上运行的DEMO
寻求游戏美工、策划等合作进行产品开发,同时引擎的源代码也可出售。


75

主题

385

帖子

400

积分

中级会员

Rank: 3Rank: 3

积分
400
发表于 2008-10-23 11:51:00 | 显示全部楼层

Re:BLADE SymC ARPG 手机游戏引擎

好简单的东西!!!!!!!!!

0

主题

1

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2008-10-29 06:55:00 | 显示全部楼层

Re: Re:BLADE SymC ARPG 手机游戏引擎

lzp: Re:BLADE SymC ARPG 手机游戏引擎

好简单的东西!!!!!!!!!

简单?好啊!你自己做一个看看啊!站着说话不要疼啊?
鄙视你这种人格低劣的家伙!有种你也贴一个出来see see

1

主题

12

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2008-11-14 17:53:00 | 显示全部楼层

Re:BLADE SymC ARPG 手机游戏引擎

很强大!正在学习这些,呵呵~
问一下,图形方面用的什么呢?好象NOKIA自己有提供GAME专用的API吧?
S60 v1/2/3 都通用么~

1

主题

12

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2008-11-14 17:56:00 | 显示全部楼层

Re:BLADE SymC ARPG 手机游戏引擎

LZ的这个引擎估计最少也要两个月才能做出来``我觉得
看起来不错,就是不知道跑起来效率怎么样,哈

1

主题

13

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2009-5-5 13:52:00 | 显示全部楼层

Re:BLADE SymC ARPG 手机游戏引擎

JAVA 3D应用工程师
工作地点:成都
应聘资格:
1、本科以上学历,计算机及相关专业;
2、英语能力通过CET-4以上,能熟练阅读英文技术资料;
3、2年以上相关工作经历。
素质要求:
1、有高度的工作热情,具备团队合作精神;
2、敢于迎接挑战,具备良好的心理素质和开拓精神,敢于在压力下工作;
专业能力要求:
1、熟悉JAVA、C,具有嵌入式编程的实际经验;
2、了解JAVA相关标准,如JSR 287(Scalable 2D Vector Graphics API 2.0 for J2ME),JSR 184(M3G,Mobile 3D Graphics API for J2ME),JSR 297 (Mobile 3D Graphics API 2.0)等;
3、了解DVB、MPEG2、MPEG4体系的相关协议;
4、了解3D图形学原理;
5、具有2D游戏、3D游戏开发经验者优先。
联系人:
rebecca
QQ:275804313
MSN/EMAIL:rebecca6455@sohu.com
TEL:028-66843288

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2009-5-25 14:13:00 | 显示全部楼层

Re:BLADE SymC ARPG 手机游戏引擎

二个月就能出来?
太强悍了点吧,不过不知道效率怎么样?
还有对引擎的概念不太明白啊...这里面的各种组件啊,实现的功能啊有些多.
手机平台本身不支持这个引擎,难道每个游戏里都去加这一套代码?
那生成的代码量就太大了吧.
还是说每个游戏根据不同需求再去添加要用的代码就好.

0

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2010-9-19 01:23:00 | 显示全部楼层

Re:BLADE SymC ARPG 手机游戏引擎

好强大的样子,有源码也不会用啊我~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-6 14:29

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表