`
akandfxs
  • 浏览: 22476 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

游戏项目的技术开发成本

阅读更多

      在游戏行业已经有多个年头了,在手机游戏行业混,所以项目多是中小型项目。从j2me单机游戏,商业模拟游戏,到java的wap网游。基本上这些都是用java开发的。不同的项目有不同的经验教训。我且先从几个方面说起。
1、软件项目是否易于动态开发甚至动态发布?很多j2ee项目,以及一些c/s架构的项目,很难做到这两点。在我做商业模拟游戏项目的时候,第一款联想笔 记本连锁专卖店项目,是采用c/s架构。服务器端要更改一点东西,就得重启。客户端要更改,也得重新连接。回合制游戏,还得经过好几个回合才能到需要的那 个界面。这样开发过程中,很多时间就这样浪费了。当时我觉得这个从技术上来讲,确实很浪费,但c/s可以做出很好的效果,c和s两端都有很大的提升空间, 以及技术发展空间。所以当时我还很看好这样的架构。当然这个时候也认识到b/s架构的威力,至少发布成本几乎为0,动态开发也是可能做到的。更改了新版 本,不需要重新下载既可以开始测试。后来boss决定转向b/s架构开发,这个时候我认为处理商业模拟游戏的早期,还没有足够多的项目经验,不足以制作产 品平台,所以就希望架构上能够做到动态开发。这个时候我的选择是mysql+javabean+jstl+js+css。由于不打算做商业模拟游戏开发引 擎,所以javabean部分设计成可以重用的,只有用户管理模拟模块,绝大部分的计算在数据库中用存储过程计算。这样,基本上开发商业模拟游戏,可以达 到动态开发和动态更新两个目的,开发成本大大降低。第一款游戏开发周期为4个月+,采用B/s架构开发了几款商业模拟游戏后,这个开发周期降为5周。基本 达到了我预期设定的1个月的目标。人月成本从12人月降为5人月。当然,由于早期还是以项目形式开发,没有考虑做成引擎或者开发平台,为今后的项目复用, 这样的代价是维护成本比较高。所以,应该还有第二种降低开发成本,而且降低维护成本的途径。先做开发平台,包括相关的开发工具和引擎,然后将可变的部分尽 量脚本化。通过固化引擎和工具,降低后续项目开发的代码量,大量缩减开发成本,这应该是一条更可取的路,但是前期的成本会更高。
2、软件项目代码量的控制。早先一个j2me游戏,<1万行的代码量,商业模拟游戏,1-3万行的代码量,wap网游,10万行左右的代码量。可 见,最后一个wap网游项目有点问题。这是我的一个大教训。对于wap网游这样的项目,合理的代码行数应该是3-5万行左右。这样才是一个中等游戏项目的 代码规模。为什么没有做到呢?1、我对年轻程序管理上以提建议为主,有些程序员总喜欢自己造轮子,比如该用quatz,硬要自己写一个timer的扩展, 我也不阻拦,只要能完成任务,不能防微杜渐,所以后面不好收拾。2、这个项目我介入的比较晚,早先的架构决定了很多都得自己重新开发来过。最终后果很严 重,项目的代码规模失去了控制。所以虽然这个项目最终性能还不错,但开发和维护成本都很高,毕竟,这么多代码摆在那里,何况里面不少并不高明的重复造轮子 的代码。记得前段时间去某个公司面试,技术主管比较年轻,问了如何看待重复造轮子的问题。我的答复是,我不鼓励重新造轮子。第一,很多人之所以重新造轮 子,是因为不知道有这样的轮子存在。第二,是因为对别人的轮子不熟悉,不愿意学,当然,也可能存在部分轮子质量不太高,学习成本很高。第三,很多轮子并不 是最适合目前项目的需要,通用的轮子对很多特定的项目而言可能功能过多,性能等方面都有影响。这里面,只有第三种才是有必要考虑重新造轮子的,但是,往往 得出第三种结论的时候,你其实已经先用了轮子,可以用数据证明轮子不太合适了。这个时候需要考虑的切换成本和重造轮子的收益。所以,作为项目管理者,在架 构设计的同时,把轮子选的相对合理一点,以此控制项目的代码量,这是控制项目成本的重中之重。选好外界通用的轮子,固化自身产品线自产自销的特定轮子,是 逐步降低项目成本,提升竞争力的重中之重。
3、在软件硬件更新换代频繁的年代,技术路径选择如何寻找平衡。对于大公司,因为切换的成本非常高,所以技术选择上相对保守。对于小公司,存在两种可能, 先锋类型的,非常激进,这样才能让时间成为这样小公司的朋友,一步领先,步步领先,在技术上获取越来越大的影响力。保守类型,采用最主流的开发技术,这样 在公司不稳定的情况下,可以以较低的成本让开发团队基本稳定。对于新老程序员,同样也有类似的选择,新程序员选择主流的开发技术,可以让自己在人才市场有 更多的选择,对于老程序员,选择较为先锋的技术,可以押宝未来的技术潮流,提升影响力。所以,最终的选择,是要平衡各方利益,相对成本较低的选择。比如在 小公司的我,已经体会到不用主流技术,新人容易流失的痛苦,同时也看到了小公司采用最新的技术,新人也流失的痛苦。所以,采用什么样的技术,和团队的人员 构成息息相关。在项目开发过程中,团队成员的稳定是至关重要的。所以,不能单凭技术喜好和眼前的成本做考虑,需要从长远考虑自己的团队需要如何发展,采用 什么样的技术可以确保团队沿着这样的路径前进。尤其对于希望做产品开发平台的团队而言,这点至关重要,当然,对于短期项目,这个问题相对而言就可以放松一 些。另外,对于大多数小公司而言,由于业务规模的原因,硬件上的总成本很小,利用率比较低,所以,架构上越是支持负载均衡等多服务器的设计,就可以越放心 的采用开发成本最低的新技术,这样可以通过利用硬件成本的可伸缩性降低软件开发成本。而不是相反,花太多的力气在软件性能提升上,浪费硬件的能力。所以, 小公司尽量不要谈性能如何如何高,真正需要重视的是架构上的可伸缩性。这点在架构上的要求相对高一点,但一旦走进了这条路,后面的问题会轻松很多。
游戏项目很有意思,目前技术方面我能体会的也就是上面的三点。希望今后在架构设计方面能够更进一步,也能做一点更细的总结。

0
0
分享到:
评论

相关推荐

    3D游戏引擎技术开发的研究.pdf

    在选择游戏引擎时,开发者需要考虑其功能特性、适用平台、开发成本以及技术支持等因素。例如,Unreal Engine适合资金雄厚的大企业开发大型商业游戏,而Torque和OGRE等则更适合独立开发者或中小型企业,它们提供相对...

    创业成本揭秘:一款App的开发成本是多少-.docx

    【App开发成本详解】 在移动互联网时代,许多创业者和企业都希望通过开发一款App来实现商业梦想。然而,App的开发成本并非许多人想象的那么简单。本文将深入探讨App开发的各个环节,帮助你理解为什么开发成本会如此...

    小议游戏开发的项目管理.pdf

    游戏开发的项目管理是一项复杂而细致的工作,涵盖了多个关键领域,包括时间管理、成本管理、质量管理、目标管理和人员管理。这些方面共同确保游戏项目能在预定的时间内,以预期的成本,达到既定的质量标准,最终转化...

    Cocos2D-X游戏开发技术精解学习

    这大大降低了开发成本,提高了开发效率。 首先,书中会详细介绍Cocos2D-X的安装与配置,包括各种开发环境的搭建,如Visual Studio、Xcode等,并指导读者如何创建首个项目,熟悉基本的项目结构和文件组织。 接下来...

    实战突击Visual C++项目开发案例整合光盘代码

    《实战突击Visual C++项目开发案例整合》是明日科技编写的一部专著,它涵盖了多个实际应用领域的项目案例,旨在帮助读者深入理解和掌握Visual C++的编程技能。书中的每一个章节都对应一个独立的系统开发案例,通过...

    3D游戏开发技术设计与应用

    通过将3D网络游戏客户端开发技术工程化和流程化,不仅可以避免重复性的基础工作,还可以为技术开发和游戏设计提供更大的灵活性和扩展性。 总之,随着国内游戏公司的不断发展和技术的进步,3D游戏开发技术将会越来越...

    如何做好游戏开发项目基本需求分析(doc10)(1).doc

    游戏开发项目基础需求分析 游戏开发项目的基本需求分析是确保游戏项目成功的关键一步骤。在这个过程中,项目负责人需要了解、分析、明确玩家需求,并将其准确、清晰地表达给参与项目开发的每个成员。只有这样,才能...

    一篇不错的商业游戏开发计划书 开发文档

    在游戏开发领域,一个详尽的商业游戏开发计划书是项目成功的关键第一步。这份文档不仅为开发者提供了清晰的路径,还向投资者、合作伙伴以及团队成员展示了游戏的理念、目标和实施策略。下面,我们将深入探讨这份...

    程序开发项目管理器.rar_C 项目_C++项目_项目管理

    在进行C或C++项目开发时,项目管理的目标是确保代码质量、提高开发效率并降低维护成本。以下是一些关键的项目管理知识点: 1. **需求管理**:项目始于明确的需求,这包括功能需求、性能需求和非功能性需求。需求...

    软件项目开发 软件文档编写指南

    在软件项目开发中,软件文档是不可或缺的一部分,尤其是在手机游戏开发等复杂项目中。它不仅记录了项目的详细信息,也为团队成员提供了清晰的指引,确保项目的顺利进行。以下是一份详细的软件文档编写指南,涵盖了多...

    打砖块游戏软件工程项目可行性研究报告

    考虑到游戏的潜在市场和娱乐价值,随着生活节奏加快,人们对于轻松休闲游戏的需求日益增长,尤其是像打砖块这样简单易懂、老少皆宜的游戏,预计其经济效益将远超开发成本。 操作可行性则关注用户体验。报告提出采用...

    软件项目管理-俄罗斯方块游戏的设计

    2. 计算开发成本:考虑人力成本、硬件成本、许可证费用等。 3. 估算总成本:将所有部分的成本汇总,以确定项目预算。 五、软件项目质量管理 1. 项目质量保证组织:设立质量保证团队,确保代码质量、用户体验及...

    游戏开发制作流程

    - **客服和支持**:相比于单机游戏,网络游戏需要持续提供技术支持和服务,这部分成本也相对较高。 - **开发团队**:人力成本是另一大开支,特别是核心成员和高级人才的薪资。 - **办公设施**:虽然是一次性投入,但...

    C++飞行游戏开发

    在C++飞行游戏开发中,涉及的技术点广泛且深入,涵盖了计算机图形学、物理引擎、游戏引擎、数据结构与算法等多个领域。以下是一些关键的知识点解析: 1. **C++编程基础**:C++是游戏开发的常用语言,它的性能高效、...

    游戏项目框架(包括一些资源的分类,代码的分类,工具的集成等).zip

    在游戏开发中,TypeScript可以提升代码质量,降低后期维护成本。 3. **资源分类**:在游戏项目中,资源通常包括图像、音频、动画、字体等。有效的资源分类有助于管理大量素材,例如,将背景图片、角色模型、UI元素...

    浅析软件开发项目过程中的风险管理.pdf

    软件项目风险主要集中在四个关键领域:需求、技术、成本和进度。具体而言,常见的风险包括: - **需求风险**:指由于需求定义不明确或需求变更导致的风险。 - **组织和管理风险**:涉及项目管理不善、团队沟通障碍等...

    MMOG开发中的项目管理.pdf

    【MMOG开发中的项目管理】在信息技术领域,特别是在游戏开发行业,项目管理是至关重要的环节。MMOG(大型多人在线游戏)开发是一项复杂而庞大的工程,涉及巨额投资、大量人员参与、长时间的研发周期以及诸多不可预见...

    android实训项目答辩PPT教案.pptx

    本资源摘要信息主要介绍了一个基于Android平台的五子棋游戏项目,包括项目背景、项目开发进程、项目功能及项目效果、项目核心类的功能等方面的内容。该项目旨在开发一个支持蓝牙功能的五子棋游戏,游戏具有蓝牙模式...

    精品(2021-2022年)资料项目计划书《项目管理》结课作业研发3D虚拟游戏.doc

    在本篇《项目计划书》中,我们关注的是一个针对信息科学与技术学院信息管理与信息系统专业2016级2班学生的结课作业——研发一款3D虚拟游戏。学生李澎在指导教师程刚老师的指导下,于2017年5月1日完成了这个项目计划...

Global site tag (gtag.js) - Google Analytics