﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-网络游戏开发之路</title><link>http://www.cppblog.com/caldera/</link><description /><language>zh-cn</language><lastBuildDate>Tue, 07 Apr 2026 11:06:20 GMT</lastBuildDate><pubDate>Tue, 07 Apr 2026 11:06:20 GMT</pubDate><ttl>60</ttl><item><title>关于软件项目中的加班</title><link>http://www.cppblog.com/caldera/archive/2007/02/02/18278.html</link><dc:creator>caldera</dc:creator><author>caldera</author><pubDate>Fri, 02 Feb 2007 09:37:00 GMT</pubDate><guid>http://www.cppblog.com/caldera/archive/2007/02/02/18278.html</guid><wfw:comment>http://www.cppblog.com/caldera/comments/18278.html</wfw:comment><comments>http://www.cppblog.com/caldera/archive/2007/02/02/18278.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/caldera/comments/commentRss/18278.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/caldera/services/trackbacks/18278.html</trackback:ping><description><![CDATA[
		<p>       加班在软件项目开发和游戏项目开发中是被普遍应用的。<br />       我也曾热衷于此，在带上一个程序团队开发一个游戏项目时，我用无产阶级一不怕苦，二不怕死的革命精神去加班，去拼，曾经36小时不睡觉，但是疲劳战术并没有带来项目的成功，当然项目不成功不是单一原因造成的，但现在总结，加班起码不是一个好办法。<br />       有兴趣的同学可以看看&lt;人件&gt;还有&lt;死亡之旅&gt;两本书。一个很清晰的观点就是，特别是对程序员来说，一天密集思考超过一定时间后，再进行的工作往往会造成很多错误，因为我们是人，不是机器，人会疲劳，思维会疲劳，我们的大脑需要合理的休息才能更好的运转。另外，不要放弃自己和家人的团聚以及自己合理的休息娱乐，否则，长时间下来也会对工作状态产生负面影响。<br />        我在新的项目中几乎不加班，偶尔回家会调试下程序，保障自己有充分的休息。保障充分运用正常的工作时间，完成既定计划，这样效率反而很高。一个相反的例子是在大脑疲劳状态下写出的代码很糟糕的，往往后面要用更多倍的时间去修复它甚至重写。当然各人情况不同，可以灵活掌握。<br />         所以建议软件项目带头人或游戏项目带头人慎用加班的方法赶任务，其实现在有很多合理的方法保障项目的顺利进行。<br />         如何确保合理地确保项目顺利进行以及不靠加班赶任务的方法，以后写文阐述~~<br />        </p>
<img src ="http://www.cppblog.com/caldera/aggbug/18278.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/caldera/" target="_blank">caldera</a> 2007-02-02 17:37 <a href="http://www.cppblog.com/caldera/archive/2007/02/02/18278.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏开发中合理地应用脚本</title><link>http://www.cppblog.com/caldera/archive/2007/02/02/18274.html</link><dc:creator>caldera</dc:creator><author>caldera</author><pubDate>Fri, 02 Feb 2007 07:43:00 GMT</pubDate><guid>http://www.cppblog.com/caldera/archive/2007/02/02/18274.html</guid><wfw:comment>http://www.cppblog.com/caldera/comments/18274.html</wfw:comment><comments>http://www.cppblog.com/caldera/archive/2007/02/02/18274.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/caldera/comments/commentRss/18274.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/caldera/services/trackbacks/18274.html</trackback:ping><description><![CDATA[
		<div>        在现在这个游戏项目中选择了LUA, LUA的优点是小巧，执行速度快，但在应用中也发现了一些问题。</div>
		<div>        一个是排错困难，当一个功能脚本有复杂的逻辑时，由于没有IDE, 调试难度比IDE环境下困难很多，很难聚焦出错位置，所以脚本中尽量避免复杂逻辑。</div>
		<div>        第二个是变量声明随意，如果前后变量名称有大小写不一致的错误，LUA本身不会发现，这样会产生很多难以发现的Bug，如果完全交付由策划编写，出错概率可能会比较大，会延长扩展测试时间。</div>
		<div>        总结以上两点，决定慎用脚本，尽量提供合理接口，减低脚本逻辑复杂性，充分发挥脚本的灵活的扩展性，使项目易于扩展维护。</div>
		<div>        在任务系统设计编写中应用这一理念，一般性任务为策划设计了合理的Excel表，靠填表完成任务的编写，非常复杂的任务由于很多条件还有执行分支的不同所以由脚本进行编写，但是如果能用表描述的尽量用表实现，避免去维护两套东西。</div>
		<div>        更合理的方法还在总结完善中~~<br />        其它如何在游戏中实际应用LUA程序实现的例子，不在本文讨论范围，网上有非常丰富的资料，本文只是阐述遇到的问题和解决的一些思路。</div>
<img src ="http://www.cppblog.com/caldera/aggbug/18274.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/caldera/" target="_blank">caldera</a> 2007-02-02 15:43 <a href="http://www.cppblog.com/caldera/archive/2007/02/02/18274.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CryENGINE™ 2 功能介绍</title><link>http://www.cppblog.com/caldera/archive/2007/01/29/18145.html</link><dc:creator>caldera</dc:creator><author>caldera</author><pubDate>Mon, 29 Jan 2007 07:39:00 GMT</pubDate><guid>http://www.cppblog.com/caldera/archive/2007/01/29/18145.html</guid><wfw:comment>http://www.cppblog.com/caldera/comments/18145.html</wfw:comment><comments>http://www.cppblog.com/caldera/archive/2007/01/29/18145.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/caldera/comments/commentRss/18145.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/caldera/services/trackbacks/18145.html</trackback:ping><description><![CDATA[把引擎的功能翻译了一下,大家YY下，新的游戏标准诞生～～，偶得追求目标: 
<div>        <font size="2"><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">CryENGINE™ 2支持实时编辑，凹凸贴图， 静态光照， 网络系统， 集成的物理系统，shaders, 阴影和动态音乐系统。</span><div><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">        这个引擎支持所有的当前市场上的视频和硬件。 当新硬件上市时也会被不断地加入到引擎中。</span><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana"><br /></span></div><div><ul><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">CryENGINE Sandbox</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 实时的游戏编辑器支持 "你看到的既是你可以玩到的" </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Renderer</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 无缝技术集成室内室外场景。支持 DirectX 8/9/10, Xbox360, PS3 渲染。</span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Physics System</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 支持交通工具， 刚体物体，液体，布偶，服装和软物体效果。这个系统集成在游戏和工具里。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Animation System</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 基于运动学（使用生物示范）和物理防真在动作数据（动作捕捉或关键帧）间回放和混合。着重提供真实的人体动画（例如：适配不平坦的地形，视线跟踪，面部动画，绕边角移动探索，自然动画的过渡）。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">AI System</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 允许用脚本定义基于队伍的AI和AI行为。可以不用修改C++代码的情况下自创建敌人和行为。</span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">音效部分忽略掉了，总之很牛。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Network Client and Server System</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 为多用户模式管理所有的网络连接。这是一个基于client/server结构的低网络延迟的网络系统。 这个模块被完全地改写以适应下一代多用户游戏的需求。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Shaders</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 提供用于在不同方式下产生虚拟效果的纹理混合的脚本系统. 支持实时逐点光照, 凹凸反射, 折射, 体积发光效果, 动态纹理, 透明计算显示， 窗口， 弹洞和光照表面。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Terrain</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 使用先进的高度图系统和多边形减少技术创建超大的，真实的环境。 从游戏单元转换出的可视距离超过2公里。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Voxel Object</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 允许在不用创建峭壁， 洞穴，峡谷和异类形状的情况下创建几何的高度图系统。Voxel 编辑器象高度图编辑器一样易于编辑并且渲染速度非常快。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Lighting and Shadows</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 混合予计算属性的高质量实时阴影以产生动态环境. 包括高分辨率，透视矫正以及体积平滑阴影等技术实现的生动和真实的室内阴影。支持先进的粒子技术和在粒子上表现出的任意类型的体积光照效果. </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Fog</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 包括体积雾， 层和视距雾甚至不同种类材质用以增强大气和张力。. </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Resource Compiler</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 资源成为可以被基于平台格式的资源编译器编译. 这允许在不分割加载时间的情况下，并基于予设置和平台进行全局变化（例如： mipmap计算，三角形的条带化 ）</span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Polybump™ 2</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 和其它工具完全继承包括3ds max™. 在切空间tangent-space 或对象空间创建一个高质量的表面结构并允许非常快速地进行表面功能法线映射的提取，位移映射，非闭合空间方向，可接受性和其它属性。</span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Scripting system</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 基于流行的LUA语言. 可以轻松调整 武器/游戏 参数， 在不用改变C++代码的情况下播放音乐和加载图形。 </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Flow graph</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 流程图系统允许设计人员在不用写一行代码的情况下实现游戏逻辑。编码变成了将流程图中的功能模块进行连线和属性定义。 （BT呀）</span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Modularity</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 完全用标准C++写成, 包括注释，文档，并且分割成多个DLL. </span></li><li style="COLOR: black; TEXT-ALIGN: left; tab-stops: list 36.0pt"><b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">Multi-threading</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; FONT-FAMILY: Verdana">: 支持多处理器减少多用户环境下的网络延迟, 多方面增加CPU的运算速度. </span></li></ul><p style="TEXT-ALIGN: left" align="left"><b><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">　　64Bit</span></b><span lang="EN-US" style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: Verdana">: 支持 32bit 和 64bit 操作系统, 可以使用更多的内存. </span></p></div></font></div><img src ="http://www.cppblog.com/caldera/aggbug/18145.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/caldera/" target="_blank">caldera</a> 2007-01-29 15:39 <a href="http://www.cppblog.com/caldera/archive/2007/01/29/18145.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>网络游戏行业总结和展望</title><link>http://www.cppblog.com/caldera/archive/2007/01/19/17777.html</link><dc:creator>caldera</dc:creator><author>caldera</author><pubDate>Fri, 19 Jan 2007 04:57:00 GMT</pubDate><guid>http://www.cppblog.com/caldera/archive/2007/01/19/17777.html</guid><wfw:comment>http://www.cppblog.com/caldera/comments/17777.html</wfw:comment><comments>http://www.cppblog.com/caldera/archive/2007/01/19/17777.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/caldera/comments/commentRss/17777.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/caldera/services/trackbacks/17777.html</trackback:ping><description><![CDATA[      当前网络游戏行业，免费是大家都要面对的，市场产品蜂拥而至，用户总量就那么多，产品的死亡周期越来越短，只要没有市场，产品就会马上倒下，国内开发实力还有待提高，欧美列强的游戏虎视眈眈，魔兽宝剑一出，几乎没有对手，面对如此严酷的环境，我们的对策是什么？
<div>     乐观的是更多的开发公司懂得了研发需要静下心来，彻底沉下去一步一步地去踏实做产品。韩国的大型游戏在国内市场也在变小，欧美列强游戏由于文化差异也不太容易占领国内市场，国内游戏占市场的份额也越来越大~~</div><div>     开发游戏最终需要的还是踏实的心态，充分借鉴他人的成功之路，合理配置游戏功能，找到成功的重点所在，并重点突击突破。在别人成功的经验里寻求创新，并确定该创新在游戏性上的提升比重。技术是问题也不是问题，同样汲取各方营养，以最合理的方法进行开发~~（ps:好像说的比较空洞，其实有了正确思路，怎么做也就清楚了？）</div><img src ="http://www.cppblog.com/caldera/aggbug/17777.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/caldera/" target="_blank">caldera</a> 2007-01-19 12:57 <a href="http://www.cppblog.com/caldera/archive/2007/01/19/17777.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>游戏的AI执行流程框架</title><link>http://www.cppblog.com/caldera/archive/2007/01/08/17426.html</link><dc:creator>caldera</dc:creator><author>caldera</author><pubDate>Mon, 08 Jan 2007 06:35:00 GMT</pubDate><guid>http://www.cppblog.com/caldera/archive/2007/01/08/17426.html</guid><wfw:comment>http://www.cppblog.com/caldera/comments/17426.html</wfw:comment><comments>http://www.cppblog.com/caldera/archive/2007/01/08/17426.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/caldera/comments/commentRss/17426.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/caldera/services/trackbacks/17426.html</trackback:ping><description><![CDATA[
		<p>    最近游戏开发到AI部分， 大家通过讨论，确定了AI执行流程。<br />    第一步： 筛选出怪物的当前可用行为列表。<br />    第二步： 根据怪物种类确定的行为优先级去顺序执行每个行为。<br />    第三步： 当其中一个行为被正确的执行， 那么完成。<br /><br />    AI中有很多细节还有各种AI算法，后面会不断添上和大家一起讨论分享。</p>
<img src ="http://www.cppblog.com/caldera/aggbug/17426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/caldera/" target="_blank">caldera</a> 2007-01-08 14:35 <a href="http://www.cppblog.com/caldera/archive/2007/01/08/17426.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>