Silverlight游戏设计(Game Design):(十五)如果还有梦(完)
Silverlight游戏设计系列到此就全部结束了,原先计划至少为大家献上5个最有影响力的Demo,由于近期生活及工作的原因让我感到实在疲惫不堪因而未能如愿,还望大家见谅。
Silverlight在游戏开发方面拥有它独到之处,目前最新版本为4.0,开发环境集成于强大的VisualStudio2010中。Silverlight在短短的数年时间里能成长得如此迅速与微软的强力支持分不开,从Silverlight 5 Wishlist字里行间中我再次感受到世界对Silverlight未来的强烈期待,WEB-3D全方位支持或将在该版本中绚丽登场,这或许会成为一场空前革命,翘首以待。
这里,让我们再一次回顾Silverlight的发展历程,见证那数不尽的奇迹是如何诞生的吧(原文地址http://www.silverlight.net/getstarted/overview.aspx):
Silverlight 版本 |
||||
功能特性 |
1.0 |
2 |
3 |
4 |
跨浏览器支持 for Firefox, IE, Safari |
● |
● |
● |
● |
跨平台支持 for Windows and Mac (and Linux through the Moonlight Project) |
● |
● |
● |
● |
2D 矢量 动画/图象 |
● |
● |
● |
● |
AJAX 支持 |
● |
● |
● |
● |
HTML DOM 集成 |
● |
● |
● |
● |
HTTP Networking |
● |
● |
● |
● |
Canvas 布局支持 |
● |
● |
● |
● |
JavaScript 支持 |
● |
● |
● |
● |
XAML 解析器 |
● |
● |
● |
● |
多媒体 – 720P High Definition (HD) Video |
● |
● |
● |
● |
多媒体– Audio/Video 支持(VC-1, WMV, WMA, MP3) |
● |
● |
● |
● |
多媒体– 图象格式支持 (JPG, PNG) |
● |
● |
● |
● |
多媒体- H.264 video and AAC audio 支持 |
● |
● |
||
多媒体标记 |
● |
● |
● |
● |
Windows 多媒体服务支持 |
● |
● |
● |
● |
支持语言 Visual Basic.NET 和 C#;公共语言运行时(CLR) based languages |
● |
● |
● |
|
支持脚本 IronPython, IronRuby, Managed JScript, 和其他动态语言运行时(DLR) based languages |
● |
● |
● |
|
丰富的核心框架 (例如 Generics, collections) |
● |
● |
● |
|
多线程 |
● |
● |
● |
|
布局容器控件包括 StackPanel 和 Grid |
● |
● |
● |
|
全套标准控件 (TextBox, RadioButton, Slider, Calendar, DatePicker, DataGrid, ListBox, TabControl, and others) |
● |
● |
● |
|
管理控制框架 |
● |
● |
● |
|
模板模型 |
● |
● |
● |
|
可视化状态管理器 |
● |
● |
● |
|
独立存储 |
● |
● |
● |
|
深度缩放技术(Deep Zoom Technology) |
● |
● |
● |
|
多媒体– DRM Powered by PlayReady |
● |
● |
● |
|
多媒体- Windows Media Audio 10 Professional support |
● |
● |
● |
|
多媒体- MediaStreamSource for managed code media file parser and protocol extensibility |
● |
● |
● |
|
高品质缩放 |
● |
● |
● |
|
多媒体- Basic SSPL Support |
● |
● |
● |
|
跨域网络访问 |
● |
● |
● |
|
通过网络服务方便地访问服务器端数据 |
● |
● |
● |
|
直接进入 TCP sockets |
● |
● |
● |
|
SOAP 和 REST services互通, 包括对 XML, JSON, RSS 和 Atom data formats 的支持 |
● |
● |
● |
|
LINQ (包括 LINQ to XML, LINQ to JSON, 和 LINQ to Entities) |
● |
● |
● |
|
双工通信,从服务器到Silverlight客户端“推送” |
● |
● |
● |
|
数据绑定 |
● |
● |
● |
|
WCF 数据服务 |
● |
● |
● |
|
托管的HTML桥 |
● |
● |
● |
|
托管异常处理 |
● |
● |
● |
|
.NET Framework 安全措施 |
● |
● |
● |
|
类型安全验证 |
● |
● |
● |
|
XML 读/写 |
● |
● |
● |
|
增强的键盘输入支持 |
● |
● |
● |
|
文件上传支持 (通过WebClient API) |
● |
● |
● |
|
WPF兼容 |
● |
● |
● |
|
无障碍 |
● |
● |
● |
|
本地化 |
● |
● |
● |
|
远程调试(PC 和 Mac) |
● |
● |
● |
|
脱离浏览器运行 |
● |
● |
||
网络状态 (脱机) |
● |
● |
||
像素着色器渲染特效(Pixel Shader Effects) HLSL |
● |
● |
||
位图 API |
● |
● |
||
Theming at runtime |
● |
● |
||
增强控件样式 |
● |
● |
||
辅助功能 - 系统颜色 |
● |
● |
||
位图缓存 |
● |
● |
||
3D透视 |
● |
● |
||
GPU硬件加速(针对视频和位图) |
● |
● |
||
文本动画 |
● |
● |
||
原始的A/V支持 |
● |
● |
||
文件保存对话框 |
● |
● |
||
新内置控件DockPanel, WrapPanel, Viewbox |
● |
● |
||
元件与元件的绑定 |
● |
● |
||
本地连接 |
● |
● |
||
二进制 XML |
● |
● |
||
组件缓存(跨应用程序共享资源) |
● |
● |
||
场景缓存 (对于位图) |
● |
● |
||
本地字体 |
● |
|||
打印 |
● |
|||
WCF RIA Services |
● |
|||
托管的MEF扩展框架 |
● |
|||
摄像头 |
● |
|||
麦克风 |
● |
|||
正式对Google浏览器Chrome的支持 |
● |
|||
输出受保护的音频/视频 |
● |
|||
组播网络 |
● |
|||
离线的DRM |
● |
|||
受信任的应用程序(扩展沙箱) |
● |
|||
IDispatch COM Interop |
● |
|||
组策略对象支持 |
● |
|||
信任模式下脱离浏览器运行时的全键盘支持 |
● |
|||
信任模式下跨域网络访问 |
● |
|||
自定义 window chrome |
● |
|||
脱离浏览器运行窗口设置 (位置, 尺寸等等) |
● |
|||
网页浏览器控制及网页浏览器笔刷 |
● |
|||
Notification Toast |
● |
|||
文本从右到左 / BiDi 文本 |
● |
.NET4来了,带来了超棒般艺术式并行编程解决方案,包括如TPL(任务并行库(Task Parallel Library))、 PLINQ(并行语言集成查询(PLINQ,Parallel Language Integrated Query)以及 F#。在目前的Silverlight4版本中为了框架精简,暂时还无法用到TPL和PLINQ(WPF4能完美支持),F#成为Silverlight上目前唯一实现并行编程的方式。
对F#在Silverlight中应用感兴趣的朋友们我强烈推荐Brian的博客(微软F#开发团队成员)。其中一篇文章提到F#在Silverlight中的地位问题,有这么一句对我启发很大:标准/推荐的F#在Silverlight中使用的做法是通过创建例如C#的Silverlight应用程序后,再引用F#编写的Silverlight类库。当然,我也能通过hack的方式利用纯F#代码编写完整的Silverlight应用程序而无须任何的例如C#、XAML等等。
此时有朋友肯定会问:F#在将来的某天是否会革掉C#的命而真正成为.NET平台中的顶峰语言?
其实非也。从定义看,大家可以先了解下什么是F#:F#是微软唯一的FP语言(函数式编程(FP,Functional Programming))。那么相对于函数型程序设计语言,C#则是标准的面向对象的高级程序设计语言,虽然它们在.NET框架下能实现相同的功能,达到一模一样的目的;然而由于两者的性质截然不同,从一者向另一者的转变(包括思维,习惯,编码方式等),特别是如若想两者都精通那真绝非易事;当然,其实最重要的关键点在于两者在.NET平台中的地位是并列的,官方有这么一句话点明了它们的关系及未来:F#也许终将成为程序核心部分设计的首选,而C#与VB等将在用户界面交互设计方面继续发挥其强大的潜力。
经我这么一说大家是否有种豁然开朗的感觉,没错了,对于精通C#的.NET开发者来说,我们只需大致了解F#的基本语法,然后由此再进一步掌握F#的并行计算实现的相关代码即可。F#的关键在于异步与并行计算,Brian在博客中也有写到使用F#的九个理由其中就有包含这两点。另一方面,并行计算也并非永远都比串行计算要快。金老师的这篇文章讲得非常详细,同时也举了非常有说服力的例子,小结中有提到:由于“并行”需要付出代价,因此,不是所有的程序都需要转换为并行的,当要处理的数据量很大,或者要执行的数据处理任务繁重,并且这些任务本身就可以分解为互不相关的子任务时,使用并行计算是合适的。
打个比方,在Silverlight游戏开发中,我们完全可以使用F#并行计算方式实现A*以及游戏中的障碍物数组的动态更新等大数据量的繁杂处理,然后将结果交给C#,由C#去处理数据与界面间的协调问题,从而引导精灵们寻路移动等操作。
意味深长呀,任何语言都需要时间的考验,而我始终坚信:F#在未来并行运算的世界里终将大放异彩,而C#则是.NET平台中永不褪色的经典。C#优异的界面处理能力配合上F#强大的并行计算特性将使得Silverlight在未来的RIA界独领风骚,这才是Silverlight超越其他所有RIA技术的最大特性:一流的开发效率和产品性能!
如果还有梦,我会继续向山的顶峰攀登,过程是痛苦的,人不经历磨难怎能长大?每个脚印都伴随着汗水,但从没想过放弃;一路上结识了很多志同道合的朋友,我们相互鼓励度过一个又一个凄凉的夜,相互搀扶越过一道又一道的槛,依旧毫不畏惧,理想与信念是前行的灯塔,指引着我们朝着梦的颠峰前行,Moving on our way!
在线演示地址:http://silverfuture.cn
(完)
Silverlight游戏设计(Game Design):(十五)如果还有梦(完)相关推荐
- Silverlight游戏设计(Game Design):(五)面向对象的思想塑造游戏对象
传说,面向对象的开发模式最初是因为程序员偷懒而不小心诞生的.发展至今,人们从最初的热忠于讨论某某语言是否足够面向对象到现在开始更广泛的关注面向对象的思想而不是具体内容.面向对象的思想其实并不深奥,它存 ...
- Silverlight游戏设计(Game Design):目录
孩提时那无数个难眠的夜晚,时常在思考着如何干掉BOSS的方案时已不知不觉的入睡.爱游戏,痴迷到难以割舍的状态.不断的在这个虚拟的轮回世界中扮演着一个又一个的主角而无法自拔-感受着日本人给我们重温自家的 ...
- Silverlight游戏设计(Game Design):(十)梦幻西游(Demo) 之 “天人合一”①
与当年盛大通过代理<传奇>一举成名,九城代理<奇迹>一夜发迹完全不同,金山.网易凭借他们自主的研发团队,数年时间倾力打造了<剑侠>及<西游>等系列非常优 ...
- Silverlight游戏设计(Game Design):(二)场景编辑器让游戏开发更美好
如果哪天光荣告诉我:<三国志>系列将终结,我会义无返顾的用余下那点青春继续诠释这部中国历史经典题材游戏,已无法细数它占据了我多少童年的回忆,就好比曾有那么一群满腔热血的<梦幻模拟战& ...
- Silverlight游戏设计(Game Design):(七)创建基于场景编辑器的新游戏Demo
场景编辑器的功能强大且灵活,从设计之初我已毫不惭愧的将其定位到"让Silverlight游戏场景架设更简单.更快捷"这样一个高度.源码公布后,很多朋友均迫切想知道如何将其运用到实际 ...
- Silverlight游戏设计(Game Design):(一)游戏中斜视角的原理与分析
"暗黑破坏神3"将采用45度斜视角设置这篇数月前貌似毫不起眼的新闻一直让我记忆深刻,不断的尝试去理解大师级的暗黑团队为何放弃目前主流的纯3D路线而回归到类2D,B大的一句话道破天机 ...
- Silverlight游戏设计(Game Design):(十一)梦幻西游(Demo) 之 “天人合一”②
无论是单机游戏还是网络游戏,丰富剧情的背后都离不开NPC默默无闻的工作:有的吆喝着卖药卖武器,有的做为宠物常拌左右,更灵活的还可以如<暗黑破坏神>那样,作为随从协助杀敌.强大的游戏离不开高 ...
- Silverlight游戏设计(Game Design):(八)三国策(Demo) 之 “江山一统”①
教程中无数次提到<三国>系列,那段荡气回肠的过去一直深刻烙印于心.我深爱中国的历史,因此我从不去公开评论政治,因为它是我的母亲:我执着于策略游戏,闲暇时爱不离手的依旧是NDS中的<三 ...
- Silverlight游戏设计(Game Design):(十二)帝国时代II(Demo) 之 “战争艺术”①
即时战略类型游戏因其精确的微操,宏大的场面以及丰富的策略元素广受玩家的爱戴,<沙丘魔堡II>开创了真正意义上的即时战略游戏形态,之后Westwood创生了<命令与征服>系列加之 ...
最新文章
- 合理估算线程池线程数量
- 批量处理SQL Oracle下:
- 996和被辞退,二选一
- 频谱分析:基于python画出时域频域波形
- 范式 第一 第二 第三范式
- YUV422 转换成 RGB
- Android--- UI组件AdapterView and 适配器Adapter
- 华锋e路航x10升级工具_E路航电子狗升级工具下载
- 华为USG6000v防火墙双机热备综合实验
- C语言数据结构——求二叉树叶子结点个数
- DeFi新玩法丨一文教你玩转NFT碎片化协议Fractional
- 2020年12月31日flash禁用后网页如何播放rtmp视频流
- 辅导作业很“崩溃”?猿辅导教你三招告别怒吼式教育
- 分布式技术与实战第六课 分布式缓存设计
- CIP数据核字号查询
- z中国农产品流通市场运行态势与盈利前景预测报告2022-2027年
- 2022年在中国大陆通过Azure的学生认证方法指北
- [组会论文]CAIL 2018
- 【笔记整理】图解设计模式 | 第12章 Decorator模式(装饰边框与被装饰物的一致性)
- Pytorch入门之MNIST项目
热门文章
- java 盖章透明_java实现图片上传后裁剪,把白色背景变成透明图(电子印章)
- python网球比赛模拟主持稿_模拟讲课大赛主持人稿
- 1.5 synchronized类锁和对象锁快速区别
- 修改dpr提高ECharts图表的清晰度
- [转]linux shell 正则表达式(BREs,EREs,PREs)差异比较
- 【信号与系统】(一 )信号与系统概述——信号的基本概念与分类
- 线性时不变系统——信号系统学习笔记
- 天翼云桌面Linux,天翼云Linux主机如何挂载数据盘
- 一周一个小朋友系列——YOLOV1 paper Analysis
- 基于北斗导航定位系统的设计与实现(论文+程序设计源码+数据库文件)