搜索
查看: 1057|回复: 0

关于战略三国系列的开发

[复制链接]
2013-9-12 16:26:13

主题

好友

1014

积分

太守

关于战略三国系列的开发
一、开发目的
战略三国系列的开发的主要目的是研究和锻炼技术,同时适当兼顾制作一个好的三国游戏。
这里所说的技术不是指编程、引擎等硬技术,而是算法,架构,开发流程,AI等软技术,具体包括:
①适合于策略类三国的可扩展架构,各系统(内政、外交、军事、人物等)的数据结构和算法
②软件开发的一般方法和流程,包括怎么分析需求、建模等等
③人工智能的设计
这些技术固然可以看书获得,但是必须实践才能真正掌握,而且有些问题书中没有现成答案,需要通过自己的思考和实践。
我希望通过对技术的研究最终达到“三高”目标:
高效率:短时间内能够开发完成
高质量:具有量好的运行效率、可维护性、可复用性、思路清晰
高乐趣:开发过程是有乐趣而非枯燥的
之所以以研究和锻炼技术而不是制作一个好的三国游戏为主要目的是在于:
①策略类三国的游戏要做好需要良好的设计、数值、AI、美术等等,这些并不是我们少数几个能完成的
②我本人对策略类三国的游戏设计研究不深,不具备设计好的三国游戏能力
③开发三国游戏是个比较枯燥的体力活,虽然我在研究怎么使其有乐趣,但是在研究出来之前它仍然是枯燥的,而研究和锻炼技术是有乐趣的,所以制作的三国游戏原则上只具备体现技术的核心功能
基于以上所述,我这里原则上只提供具备体现技术的核心功能的DEMO。但是,如果有策划、美术愿意参与进来,我也会适当得花些时间兼顾制作一个好的三国游戏。也就是说我可以保证游戏核心功能的实现,但是要使游戏有趣就需要大家的参与,参与的越多游戏自然越好。开发需要的是顺水推舟,而不是我们少数几个不分昼夜的努力做逆天之事,这样的努力意义不大。
二、开发计划和发展战略
战略三国系列是以三国志九为蓝本,并对其不合理之处,特别是内政系统,进行改良,采用循序渐进的方式进行的开发,分为三个阶段:
战略三国4:侧重于内政系统的研究,初步确立游戏架构,采用内政战斗分开的游戏模式,目标是形成一个比较完整三国游戏。
战略三国5:侧重于大地图半即时模式的战争系统的研究,同时内政部分采用官职系统,加入外交部分,目标是形成一个大地图半即时模式的比较完整三国游戏。另外,还对分层寻路、性能优化进行研究。
战略三国6:侧重于人物系统AI的研究,使人物具备个性,在5代模式基础上完善。目标是形成一个具有个性的人物和良好AI的三国游戏。另外,还运用设计模式形成个可扩展的游戏架构。
由于游戏是以研究为主要目的,所以我采用我最熟悉而且简单的VB6进行开发。因为我研究的软技术与编程语言关系不大,只要能实现就足够了。VB6虽然有其缺陷,DX8在某些系统也无法运行,但毕竟不是做产品,这些因素都是次要的。如果这个产品得到普遍认可,我才会考虑换用其它语言。
之所以采用循序渐进,是为了保证每次开发都容易有成就,并以此为动力继续坚持。而如果一开始就按6代的标准,虽然起初目标会很诱人,但是等实际开发就会遇到种种技术难点以及热情减退的 问题,最终会造成半途而废。所以我宁可以大家所看到的没有多大亮点的4代开始,虽然这样没有6代那么诱人比较枯燥,但是它能逐步积累技术,不断进步。我也为我的选择作好没人参与的心理准备,把我的游戏定位为研究性项目。
三、开发组织
虽然开发可能参与的人不多,但是我还是准备了2套开发组织的方案
1.开源+编辑器方案
战略三国系列会提供编辑器,使玩家可以像各种MOD游戏那样修改游戏。同时,我还会提供源码以及相应的开发三国的教程,使有编程基础的人能够理解编程思路修改源码或者按自己想法设计个全新的三国游戏,这样可以避免MOD那样修改受局限的弊端。
其实我开发战略三国系列除了我个人研究目的,也希望以此降低技术门槛,带动大家进行开发。就像中华三国志那样。游戏是不是我做的并不重要,重要的是大家能否有开发的动力。这是我开源的主要意图。我希望的是多些人和团队开发,而不是争论些没有必要的细节,游戏本来就是百家齐放的。
2。核心人员+任务分派方案
如果说上述方案是属于分散式组织方式,那么这个方案则是属于集中式组织方式。首先我不赞成团队的组织方式。在团队的组织方式,对每个人进行分工,有固定的职责。这种方式在网络合作是行不通的,因为人员的流动性太强,热情减退和工作生活因素都会造成人员离开,同时分工也会造成责任推托。我也不赞成单打独斗的组织方式,工作量那么大不是单打独斗能解决的。
我主张的是核心人员负责制。核心人员承担完成游戏某部分(策划、程序、美术)的责任,核心人员不宜过多,一般1-3人,要保证足够的时间。当然最核心的人员就是项目发起人,承担全部责任,对于战略三国研究性项目而言是策划和程序,因此发起人要了解项目进展,以便发生人员流动时接手或换人。这种方式避免了责任推托。同时,为了减轻工作量可以采用划分任务将任务外包的形式让其它开发人员参与进来。无法通过任务外包的形式让其它人完成的,由核心人员完成。这样就避免了单打独斗的缺点,等人的麻烦,也很好的处理了人员流动性太强的问题,因为没有固定职责,外来人员可以按其时间系统参与。当然,如果有开发社区组织则效果更好,细致的交流可以QQ进行。
在这种组织方式下要注重文档。因为人员流动性太强,所以靠口头沟通会造成3很多麻烦。必须以书面形式记录,特别在程序上,必须有程序文档记录程序思路和概括性的伪代码,以避免负责人或者换人时无法理解之前程序的思路。我比较提倡让大家写伪代码,最后由专人负责转成具体语言的代码即可。在策划上同样需要文档,以方便程序实现,而不能靠口头沟通。
四、开发方法
1。合理控制工作量
工作量一般控制在3-6个月之间。对于研究目标的任务是必须的,不能删除,它是核心功能,难度再大也得做。对于非研究目标的任务,工作量小的而且有益游戏可以做。工作量大而且有益游戏的如果时间够可以做,不够则删除或者作为补丁。对于可有可无的尽量不做。要根据对游戏有益程度和工作量综合评定。
2、提取可复用的构件和思想
战略三国系列的很多系统都是相似的,可以提取复用减少工作量。
3、重视技术演示
对于技术难点做好技术演示以避免实际开发遇到技术障碍夭折,同时也为实际开发减少工作量,还可以对外交流修改细节,就5代来说,大地图战斗就是需要做的技术演示。
4、重视理论的应用
理论主要解决宏观性问题,对于开发来说比较重要的理论有:
数据结构和算法:为游戏提供好用的模型,方便建模、
面向对象和设计模式:为游戏提供好用的可扩展的架构模型
软件工程:为游戏提供好用的开发流程模型
运筹学:为AI设计提供算法思路
操作系统:为游戏资源管理提供模型
这些理论在解决思路问题上非常重要
5、恰当运用各种思维方法
逻辑思维:在内政系统中各种因素相互影响,需要用逻辑的方法理清线索
抽象思维:做一个好的架构,需要将各系统的要素核心抽象出
理论思维:解决疑难问题需要查询相应理论来指导
实践思维:通过实践发现细节问题然后完善设计
动作思维:对一些不明确的问题,需要边想边做理清头绪
灵感思维:通过看书、实践、查资料获得解决问题的灵感
6、实践
根据实践目的不同分为几种实践:
开发性实践:以开发游戏为目的的实践
验证性实践:以验证某一想法为目的的实践,技术演示属于此类
认知性实践:以某一方案为基础在实践中发现未思考的细节
探索性实践:通过实践获得某一问题的解决方案
辅助性实践:以开发帮助游戏开发的工具的实践,如引擎、编辑器
7。流程
战略三国系列开发流程如下:
①规划:确定游戏开发的内容
②技术演示:将难点以技术演示形式研究出方案
③策划设计:将规划细化,具体设计其数值、UI、AI
④程序设计:确定游戏架构,给出各模块伪代码
⑤实现:包括用具体编程语言翻译伪代码和测试
在开发中要避免单一的实践方法,综合应用看书、思考、实践、交流各种手段





回复 举报

本版积分规则

Archiver|手机版|Langya.Org ( 浙ICP备05062527号-1 )

GMT+8, 2017-11-18 08:56 , Processed in 0.207938 second(s), 21 queries .

Powered by Discuz! X3.1 Licensed © 2001-2012 Comsenz Inc. Design by 360cd.cn

返回顶部