考虑之后,第一个项目最终定为游戏类。

原因有三:
1  游戏类项目能调动起更多组员们的兴趣
2  综合程度高,对于设计模式、算法、数据结构、平台机制和可扩展性、图形、地图关卡编辑器都有要求,便于展开后续相关项目的内容
3  只要游戏类型和主题得当,开发周期不会过长,第一个项目力求短小精悍


游戏类型和ideas征求大家的意见,Zblc先列出一些可选项目和具体思路,抛砖引玉:


游戏类型先确定几个属性:


1  2D单机(第一个项目力求短小精悍,只在设计的时候充分保留联机互动的扩展性,有待后续项目进一步展开)

2  功能不过于复杂(第一个项目练手的另一个目的是尝试团队内合作机制的改进,过于复杂会延长开发周期)

3  不过分追求美工(目前团队内有人可以兼美工,以及专业的平面设计师)

4  强调可玩性



这个二维表是每个候选游戏类别以及对各种开发方面的能力要求
(由于游戏都对图形有要求,所以省略该项)






并不是做伊苏或者再做一个雷电,而是类型基调限定为ARPG或者Shooting Game这几类,完全可以ARPG+SG+ACT+...   只要合理,怎样的游戏内顺应剧情和可玩性的要求都是好的。


为了拓开话题,这里先对以上各类游戏做个合理的探讨:

雷电: 主要是对碰撞检测、关卡设计、BOSS移动路径、各种计算过程、隐藏的游戏参数等进行合理设计,如果是横版雷电并且细化游戏特性,就需要考虑重力因素,如果要考虑一些爆炸的反弹效果(比如飞的中间爆炸后几个部分分裂出去的方向),爆炸出去的东西具有速度和阻力,潜入不同气层中的阻力常数也不同,导弹的飞行轨迹,以及敌机的智能化模拟(可以专门为某些多次出场的BOSS设置更加灵活的遗传优化模式,来适应玩家的打法,让游戏更具有挑战性)。

超级玛丽:超级玛丽本身不用到物理引擎以及其他内容,但是如果要考虑,完全可以考虑发射子弹的方向角度化,以及碰撞后的反弹效果,以及不同地面的摩擦阻力(这些特性加了未必好,到时候可以选择)。
其实关于超级玛丽,最有意思的应该是关卡\地图编辑器的设计,我的想法是:在以后扩展成C/S模式的超级玛丽,动态修改玩家当前关卡,比如A在玩第n关,然后对应的Server上帝玩家可以监控A所处的所有状态和图像,并且在A玩的同时,改动地图内容(增加小兵、恐龙..甚至在A跑步的时候突然从空中放个下来太阳),Server Player也可以把NPC小兵或者BOSS、一切有生命的对象的自动action模式改为手动模式,想象一下:

A顶出来一个蘑菇,Server God Player马上控制蘑菇,自己控制蘑菇的行走方向(或者能跳动),这样就可以尽量避免自己被A吃掉.再比如控制喷火恐龙,无重复动作无规律可寻,增加互动(当然,设计网络动态编辑器的时候要考虑双方的平衡)

此次项目只考虑单机,那么如何让每一个小蘑菇们有独特的【思维方式】呢?-脚本,用脚本来检测玩家与蘑菇之间的距离,以及相应的策略:比如有些蘑菇比较傻,自动跟着玩家跑;有些蘑菇比较高智商,可以跳跃着寻径或者根据场景环境来选择最有利的行为策略;还有一些普通的蘑菇,一个方向走,直到碰到障碍物就反向

在单机地图编辑器的时候,可以设置关卡每一个生命对象的脚本内容,并且自动脚本检测语法错误和部分语义错误(类似AS3的阉割版).


百战天虫:这款游戏堪称有趣的典范,扩展性也更强,对设计模式的要求也更高(如果考虑维护和扩展)。


伊苏:之所以考虑伊苏类,主要是这款游戏囊括了很多2d的图像处理部分。


拳皇:拳皇本身通过最少的操作键来达到最复杂多变的招数这一点本身就很有意思,不同的招式互相克制,如果可以的话,可以考虑增加一些参赛者属性:比如八神庵的水属性、京的烈火属性、K姐姐的冰属性,同时扩展背景长度,以往拳皇类型的背景都过去限制,如果能够增加比赛场景宽度和高度(这样就可以实现漫画里跳到房屋打一下,房屋被打爆了,接着跳到地面打,或者后翻到石头(石头可以看成对象,有损度)后面来抵挡对方的崩裂绝招,或者打着打着跳到海里海里的有浮力,不同Player水性不同(体现在速度和各种招式的灵活度上),由于场景地图扩大了,那么在后续如果要加入网络版本,就可以考虑多个人对战,不同的人搭配起来在同一个场景下对战),那么将会非常有趣。

以上游戏如果直接拿现有游戏引擎做,组员所需要了解的细节就会大幅度减少,这不符合第一个项目设计的目的(练手,并且培养参与组员合作能力),所以第一个项目不会借用现有图形引擎、游戏引擎以及物理引擎、人工智能库。



另外,第一个项目开始后,当前需要统一的几点是:


1  开发环境 VS2008(不同环境的编译器对语言的支持程度不同)

2  版本管理平台: Codeplex(可以结合VS2008无缝结合使用)

其他工具大家可以任意用


项目周期:2010.6.25日~ N  (N<2010.11.25日),N根据游戏类型和最后项目框架设定而定
(此处项目周期为预设:到时候随情况和人数而定)
    0  策划期:对游戏项目进行合理策划(10天)
    1  熟悉期:熟悉公共团队平台Codeplex,VS2008(3天)
    2  分组期:分配有时间和不同能力的人组进不同的子模块组(3天)
    3  框架设计期:对整个游戏划分为不同的模块组,根据参与的部分组员的时间和能力分布分配工作(5天)
    4  测试准备期:约定测试先行规范以及编码规范(2天)
    5  开发期:在开发期,各自可以把遇到的很难找到答案或者难以抉择的或需要再优化的问题拿出来讨论(2-4个月)
    6  后测试期:用各种用例输入单独测试以及总体测试,团队组员们的内测(10天)
    7  首个游戏项目完成,团队项目完成总结以及反思(2天)
 
修正与反馈:对反馈进行收集整理,为相关后续项目做准备,并且增加补丁和扩展(1个月)



大家可以随便发表意见,也可以提出自己希望的第一个游戏项目类型,每个组员若要参与则在留言的末尾写上:
【参与】
【希望第一个项目是什么类型的游戏:原因】
【希望参与其中哪些部分的开发】
【预计能投入的时间:2010.6.25日~ N 内的多少】

好了 - -bnr 终于敲完了 不容易哇