黄巾之乱-历次版本

来源:互联网 发布:卖软件赚钱吗 编辑:程序博客网 时间:2024/03/29 00:02



2007年开始琢磨做一个类似于战神的网页游戏。因为战神太糟糕。

最初是找老五看看怎么样,结果老五要我拿策划案,并承诺只要想得出,交给他就搞得出来.

但是从零起步不可能有完整的策划案,所以无论如何那个时候是拿不出策划案的.借助外力来实现就此做罢. (* 大学和伍先明成立小组,他姓伍,我姓刘就叫了56EG)

 

开始设想的系统非常简单,构建一个web服务,提供完全基于文字的访问界面,只要内容好玩,应该会有用户的.然后开始做web相关的程序.原来有些asp的基础.但是不知道怎么选择了jsp,可能同工作中了解到sap和oracle都改到了java上,而jsp是跨平台的,还有一个重要的原因,机器配置差玩java写程序还比较轻松吧. 找了一本jsp和servlet的书,开始学起来. 然后找到孙卫琴JAVA基本教程看,这样查java函数比较方便.

 

jsp用熟了后,还是使用JDBC连接数据库时间是07年6月.当时发现基于文字的界面太是糟糕,重点放在了如果改变界面上,并有一个很困惑的问题,地图是怎么设计的?

开始感觉应该有地图数据,于是找来三国世纪游戏里的地图,该地图是1600*1200大小.给100多个城市点上一个点,做了一个程序(老vc终于有点用了)按象素取点法,得到了城市的坐标.然后就一直想不通这些个地图数据要怎么设计到游戏中.服务器要怎么设计这么大一个阵列数组.

 

一天王一告诉了我hibernate,说这个得了什么什么奖,是java对象用的.于是找来一本hibernate的书看起来,又是孙卫琴的.后来发现孙卫琴的书也是翻译过来,不过开始学习概念是最好不过的了.三个月后,可以使用hibernate这个数据库的ORM了.

 

地图的设计在设计村民时有了新认识,原来感觉就象食神说的"其实根本就没有食神,或者人人都是食神".其实根本就没有地图,或者人人都是地图. 位置坐标数据被放到村民数据里,就是在村民表中多了放坐标X,Y的数据字段.

 

 

 

为了把web的界面做好,AJAX是一定要学习的,还好AJAX比较好学,核心就是新开一个连接向服务器要数据,然后整个页面局部刷新要修改的数据.


2008年3月开始,黄巾之乱第一版有了一个雏形:


第一版

2007-2009 JSP+AJAX+JS+SQLsrver2000 


用ajax实现了一个沙盘地图,有21*21这么多块20*20大小的块.

每个块是一个point地点,21*21个地点是一个area地区.

单位在地点上的数量没有限制,这是为了方便数据库以地点为条件取数据.

服务器端用了list对象组再加入各种list对象组的办法来实现对应. 

到放弃ajax的时候,我在黄巾之乱第一版中写了150个页面文件,


感觉也不算浪费吧,因为路总是一步一步走出来的.游戏内容也获得了一定的测试:

游戏中涉及的对象

人物建筑资源物资装备书籍技能村民农田树林谷物头饰研究枪兵伐木场石堆木材衣物招募刀兵采石场铁矿石材长裤弓兵铁矿场煤矿铁矿石鞋子骑兵煤矿场兵器粮草车猪圈猪肉首饰英雄马圈马匹坐骑酒窖酒水炼铁房铁锭民宅长枪仓库长刀市场长矛城墙盾牌弓箭

主体功能完成了一些后,我迫不及待的开放了用户注册,游戏的设计比较独特,颇受玩家称赞,


因为同一时期,所以的WEB游戏都是可操作对象的坐标都是固定的,就像在玩一个单机版,


而我的游戏在尝试给玩家网络版的体验。

建筑、人物和物品不少功能都或多或少的被玩家使用.其中有个三十多岁的玩家就玩得很上隐,

我想他基本和我一样是老玩家了,在ajax这么糟糕的用户体验下,居然修了半个城,大概100多个建筑,

花了不少时间,这让我感到比较欣慰.

 

随作游戏功能越来越多,数据库里的操作也多了,最初用的是mysql数据库,

后来发现ms的sql2000好用,还有作业功能.然后就开始使用sql2000.写存储过程,邮标.

邹建的sql2000管理拿来翻翻,网上文章下来看看,时间又过了好几个月.

 

时间很快到了2009.9黄巾之乱第二版准备在第一版的基础上全面的改变,掌握了ActionScript3后,尝试用flash换掉了糟糕的ajax,sql2005也换掉了2000,内部设计增加了location被触发器同步...游戏内容仍然还是原来构想的<龙之崛起>和<七个王国>的策略类型.






第二版

2009-2010 AS3+SQLserver2005  :


玩过QQ的七雄争霸,借鉴了一些东西,去掉原来实现不了的很多设计,并且地图功能也比较好的实现,策划如下: 

 

人口(全局数据)      劳动人口空闲人口

影响:

增加一个建筑会占用空闲人口->劳动人口

减少一个建筑,会减少劳动人口->空闲人口

空闲人口不足,无法新建建筑。

时间增加,空闲人口增加.  

物资(全局数据)  铜钱谷物木材铁矿石猪肉马匹酒水铁锭

影响:

时间增加,各种建筑增加对应的资源。

高级资源增加,低级资源减少。

军队(全局数据)  枪兵,刀兵,弓兵,骑兵

影响:

武将分配军队,军队减少。

军营建筑内,随时间的增加,物资减少,军队数量增加。

武将(单一对象) 坐标,生命,等级,技能,能力等属性。

影响:

茶馆建筑物中产生。用户点击新增在地图中。

对敌人建筑,武将,NPC产生影响。

武将需要指定仓库或车队做补给,否则影响能力。

武将包含军队种类和数量。

武将包含车队数量。

水源(单一对象)坐标。

影响:

农田必须建在水源旁边。

民宅(单一对象)坐标,生命。

影响:

民居必须建在农田旁边。

 

------------------------------------------

建筑地理位置限制关系:

 

水源->农田->民宅->炼铁房,粮仓,市场,武器铺,军营.

 

资源->采集场.

 

 按目前这种设计,地图上移动的单位就只有武将和NPC......





虽然架构上,采用最简化的方式去掉了第三层,但黄巾之乱第二版的开发还是失败了。


二版开发失败总结: 

1.       重复工作量太恐怖,压跨了项目。

改动源于数据库表,对象的属性调整对应数据库的表字段调整,工作量一。

PO文件被MyEclipse产生自动释放到web的po目录,需要编译成class类文件,工作量二。

用editplus写JSP文件做相应的调整,工作量三。

用as3写SWF内部调整,工作量四。

数据库表改动后,需要对sql2005中的触发器或存储过程调整,工作量五。

全部要协调一致,工作量六。

上述改动一直频繁地伴随做前期开发,每走一小步,所有工作都会重做

 

2.       策划不完整,导致程序写一点,看一点,改一点:

一直拿不出一个完整的策划案,导致不停的增加内容而一遍又一遍重复修改,但要一次拿出完整程序设计确是比较困难的,而且中途为游戏性增加不少内容让工作量雪上加霜。

策划案应该可以整体拿出,并简化功能。程序设计根据策划模拟后再编写,减少工作量。

 

3. 按现有开发工具和模式,实现比较困难,放弃开发。




第三版 2015 C#





黄巾之乱最简设计




1 0
原创粉丝点击