存档

‘电脑’ 分类的存档

SLG开发

2009年11月2日 4 条评论

fd01

想了一点技术上的东西,写在这里。

http://docs.google.com/View?id=dcsbrwrb_239c8gh4hcg

我会不断修改。直到我把所有的设计都定型以后才会开始编码。

我要最大化这个过程的乐趣。

其实,光是这些写下来的东西,让我自己也蛮惊讶的。

1年之前,我绝对没有这些思想。

我现在处于又有想法又有能力的阶段。

5年为期,只要有心,必能成事。

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/10764;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 电玩, 编程 标签:

开发游戏的进展(20091101)

2009年11月1日 2 条评论

这几天很有趣。

首先是发现了一个《东东不死传说》,这个是个类似于《街头霸王》的2D格斗游戏。作者是个很有趣的人,我猜他几乎不懂编程,但他拥有执着。他使用的工具是2DFM,一个不需要编程就可以制作2D格斗游戏的工具。开发貌似开始于2006年,2009年8月终于结出果实;制作采用了真人照片加Photoshop的办法来获取素材,每个人物需要拍摄将近2000张照片加后期修正。作者写了一篇《用2DFM制作自己的格斗游戏》。

下载了一下,玩了一下,很有趣,完成度极高,有没有平衡性我不知道,但是每个人物的招式都很齐全,开场和获胜的动作都一应俱全。。。而真人的风格,让人实在是忍不住想笑。

他的下一个目标是类似《双截龙》的横版过关格斗游戏《怒之铁拳4》,使用的工具是OPEN BOR,同样也是一个不怎么需要编程,只要有图片音乐和想象力即可。

然后是我把Loon游戏引擎的代码又看了一遍,思考了写SLG的难度,觉得难度不大。就是在《仓库番》的基础上,把Sokoban类替换掉,换成SLGController,再包含StageController和和MenuController,在StageController里面放置多个Layer:BackgroudLayer,BuildingLayer,SpriteLayout,CloudLayout(这个思想来自于NetBeans的VisualLibrary的)。SLG中一般有包括角色自动移动和对白的剧情交代部分,这一部分实际就是自动化工作,应该使用脚本来做。最后加入Rule,使用脚本语言来定制剧情,事件可以设置为回合开始,回合结果,角色移动结束,角色造成伤害等等很多中,为此就需要一个RuleEnvironment的类来getCurrentSprite等等(Rule这个东西还是加入现在这个公司才学会的,觉得应用范围真的很广)。很多细节还没有想好。

又问了一下ZC,做什么类型好,回答简明扼要,SLG,做起来简单可玩度又高。坚定了我弄SLG的想法。

上网查了一下《炎龙骑士团2》,居然百度有个贴吧,然后里面一堆的心得,除了修改器和攻略,居然还有我从来不知道的一些心得,里面的小讲究让我这个对炎龙2研究得蛮多的人也目瞪口呆,更有人写出了程序来提取游戏中图像资源。牛B。

重新下载了《炎龙2》。觉得开场的对白部分,可以考虑使用脚本来控制。就是一些小的地方还是不知道怎么弄。比如菜单怎么和游戏解耦合,能不能做到很方便地定制菜单的表现;回合结束时,炎龙2的模糊效果如何在我想好的框架内实现。

唔。

这些问题想得蛮头疼的。晚上出去散步的时候,甚至也放不下。老大安慰我,不要把自己搞得太累。的确,首先,罗马不是一天建成的。其次,做这个东西,其实就是玩一场游戏,不过这个游戏更有意思,更刺激,而游戏应该是让自己感到快乐,而不是感到负担。整个过程中,我应该让过程变成快乐,而不是苦恼。即使最终我什么也没有弄出来,至少把这个过程弄得开心一点才是正道。

更何况,我压根不相信自己弄不出来。

《东东不死传说》做了三年,一行代码没写都用了三年,我的计划就是5年好了。我要完整地复刻《炎龙2》,最大的难度不在于代码,而在于美工,我要重制高清晰度的角色图像包括战斗场面。

晚上散步的时候,坐在步行街的儿童乐园里面,喝着咖啡,为明年许了一个愿,我许愿说把这个游戏弄出来,想来过于乐观了。慢慢弄,让过程变得好玩一点。就像对待一个高度自由的美式RPG一样。

其实能有这样的进展其实已经算是不错了,基本上找到了自己的目标和需求。

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/10757;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 电玩, 编程 标签:

开发计划

2009年10月26日 8 条评论

关于开发游戏的计划,恐怕又要虎头蛇尾了。

也许我应该考虑花几个月的时间,把所有的引擎全部过一遍。寻找到最合适的游戏引擎。不过随便定一个时间段,既没有科学性,也没有约束力,更不会产生动力。

我应该想一想,怎么弄。连需求和目标都是一团糟。

其实就当作一场华丽的冒险好了。其实我也没有能力做得多好多好。也没人期待能做到什么地步。唯一有所期待的人只有一个,就是我自己。而对于我来说,我也许欠缺很多东西,但是从来不缺少耐心。

又尝试了一个新的引擎:EasyWay,觉得它有点像PaLib的意思(都是封装中Sprite之类的样子);配置它花了一点时间,主要是因为库依赖的问题(唔,要是用Maven就不会怎么折腾了)。

与其设置一个限期,不如没过一阵子就递交一个调研报告。比如以两周到一个月为期。这个频率既能够让我有足够的时间来琢磨出点可以汇总的东西,又可以保证没有太大的压迫感。

搞了19寸的液晶回来,一直都觉得笔记本的14寸屏幕实在不方便。多了一个屏幕以后,以后会好很多。这个念头事实上也纠缠了我很久。需要一根VGA/S-VGA/DVI连接线。楼下小店有,5元,觉得有点贵。

事实上,就算是19寸的屏幕,对我而言,也不过刚刚够用而已。23寸的甚至更大才好。写代码的人没有人嫌自己的显示器大。而且这个显示器貌似还是宽屏的,宽屏更好。意味着我可以多留一点空间给侧边栏。

这个计划的第一步就是过一遍各种项目,包括各种游戏引擎,比较他们的优劣,适用场合;也包括各种小的游戏的实现,借此也找到灵感和目标,或者干脆站在巨人肩膀上。

这也是个好机会。以前有人跟我说,要看源码,要学习,看源码长功力;我都一个耳朵进一个耳朵出,归根结底,就是没动力。现在选择引擎了,女怕嫁错郎,男怕入错行;随便写个俄罗斯方块,乱涂乱画也结了;真正想做个白白净净的艺术品,唔,还得站在巨人肩膀上。

这一周就算了,我得先把波斯王子4和鬼泣4过关过掉再说。。。话说,这个波斯王子4真的是挺有趣的,简单,要完美又不简单,加上赏心悦目。唔。很不错。不过依然不到收藏的地步。。。真正能够让我收藏的东西,要么是可以联网的,要么是策略性极强的。。。反面教材就是Bioshock,虽然这游戏挺不错,但是没啥可重复性。。。估摸着波斯王子4和鬼泣4也是这种。。。

如果这样搞的话,计划看起来遥遥无期,但其实,只要坚持,结果迟早会来。

每两周或者每月汇总的结果会放到博客上,尽量避免把代码或者过于琐碎的东西放进去,也许做一个表格比较好。研究了哪些东西,有什么特长,哪些特性,喜欢哪些,不喜欢哪些。这样就够了。

这事情想来想去,只能一个人做,不可能找到合作的人。。。除非自己做出一点东西出来,然后找人一起移植到X360的C#上,这倒是有可能。不过过于遥远的东西,说得太多,就是吹牛了。

上周和ZY说,一起做个游戏吧;回答说,难道还有什么游戏需要自己写;我想了挺久,终于知道了这里面所隐含的观念的差异。。。你不能向一个从来没有没有过某种情结的人解释你的情结,因为你的这种举动本质上是非理性的,是的,我的目标其实不是创造,而是圆一个梦而已,这个梦想,是不能传递的,而是需要默契的。

所以,一个人上路吧。

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/10746;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 电玩, 编程 标签:

梦想

2009年10月22日 没有评论

如果说写一个游戏是我的梦想,也对也不对。对,是因为我有过这样的念头。不对,是因为我没有给它梦想的待遇。

我很现实,我知道有两个困难,一个是吃饭问题,一个是能力问题。两个加上一起,我放弃了梦想。

俗话说得好,撒泡尿自己照照。我照过了,觉得自己不配有梦想。

问题是,我居然越来越接近自己的梦想了。

以前有个歌叫《三十以后》,“三十以后才明白,该来的迟早会来”。

技术上我已经摸到门槛了,虽然还没有摸到门楣。

吃饭上我已经可以喂饱自己了,虽然还不能提前退休。

趁着自己还能够写得动程序,得赶快把这个梦想实现掉。等到老的时候,也可以拿出来吹牛。

时间会转瞬消逝,我一定也不怀疑。能不能做出一个像样的东西,我有60%的把握,对,就是及格的那个分数。

写游戏这件事,既不像老牛说的那样浅,也不像松鼠说的那样送;关键取决于自己的个头有多大。

至于是不是在浪费时间,哈哈,我就是在浪费时间,梦想,难道不就是为了浪费时间而设计出来的吗。

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/10735;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 编程 标签:

写一个游戏玩

2009年10月21日 4 条评论

我有几个缺点:
1、懒
2、嘴笨
3、脑子慢
4、不够聪明
5、常虎头蛇尾

但我有一个梦想:写一个游戏。

知己知彼,百战不殆。我知道自己的缺点,因此我有准备做好持久战。

虽然我一直是个游戏爱好者,但是制作游戏的念头,几乎一直没有。

其实也有。我写过一个DOS字符版的扫雷。。。写过手机版的俄罗斯方块。。。但那些都是玩票性质。

难道这次我就不是玩票吗?

字符版的扫雷,花了我2天。手机版的俄罗斯方块,花了我大概10天,大概花了一周时间做出来以后,发现自己的思路就不对,耦合性太强,调试困难,从头再写,花了3天。发现手机性能的问题以后,又花了点时间折腾,最后无功而返。

这些其实只是我的知识储备的问题。

我只是一个工匠,远不是能工巧匠,因此我需要站在巨人的肩膀上才能做成一点小成就。

现在我找到了一个开发框架Loon,还有好几个相当纯熟的手机游戏源码可供借鉴;这些就是我巨人的肩膀。

此外,我在Innovit的工作教会了我怎么用脚本语言,教会了我一点一点解析和构建一个巨大的系统;只要慢慢学习,足够坚持,蚂蚁可以啃掉一座山。

我现在的年龄也刚刚好,足够我实现自己的梦想,又不算太衰。。。没错,程序员30而衰,33岁,按理说,已经废掉了,但是在这里没有国内那么浮躁,也不需要那么多加班,似乎大家都能平静地接受大龄程序员。。。这给我一种感觉,似乎我还有能力和精力做一个自己的东西出来。另一方面,如果现在不去做,也许过了几年,自己就会给自己找各种借口了。

这事情的其他优势是,它可以一个人去做,它只和我的梦想有关,因此对成品没什么太大要求,好坏不需要旁人评判,它的目标不是为了钱,因此也没有急于求成的打算。它需要的时间和精力并不太多。

我对这个项目的信心是,我一贯有着慢慢完善的作风。看看我的博客,三年前,它还是一个很垃圾的东西,充斥着毫无意义的东西和到处转贴的东西,更新的频率也是两天打鱼三天晒网;那时候我根本不知道还有专业建站的工具比如WordPress;但是经过不断的磨合,至少我现在已经对自己的博客相当满意。

因此我的目标就是,让自己满意。我也曾经折腾了很多项目,比如夭折的手机版《炎龙骑士团》,放弃的时候,连个雏形都算不上,但是那次尝试让我思考了很多细节的问题。而看到人家相当成熟的手机源码的时候,我很吃惊于那些架构和算法。如今,我既有对细节的思考,有实践,有现成的站在巨人肩膀的架构和算法,相信至少对我而言,真的应该不会太难了。

博客,这个毫无技术含量的东西,依然花了我三年时间去适应:选择平台,购买主机,选择写什么内容,选择域名。对了,选择域名这件事情也有意思,我选择了glad2u.com,选择了wanbulei.com,每次取名也是绞尽脑汁,过了一年依然没啥感情,最后取了一个chenyi1976.com才产生归属感。

因此,对于这个项目,我也觉得我最好还是去复刻自己特别特别喜欢过的游戏,复刻,而不是从头构思一个。。。从头构思一个,到了最后只会失去兴趣,失去毅力,不知道自己想要什么;而复刻,则是所有的细节都已经烂熟于心,我说到底并不是一个特别能创造的人,倒是一个特别能怀旧的人。

那选择什么作为开始呢?

Loon框架里面并没有提供SLG的例子,而《炎龙骑士团》和《魔法门英雄无敌》无疑属于SLG。如果可以把《韦诺之战》的源码改造成Java就好了,但是我不觉得把C++转化成Java是容易的事情。

AVG我从来就没有特别喜欢的游戏。提到AVG,特别是Loon框架的那个实例,我最容易想到的是日本人早期做的OOXX游戏,有趣是有趣,但是我不想做不能拿出来展示的东西。《心跳回忆》也算AVG吧,蛮好玩的,不过还不至于好到复刻它的地步。其他的比如《美少女梦工厂》,我有一阵子生病的时候把他通关了,同样的,蛮有趣,但是还不够好到复刻它。其他还有《明星志愿》,也许是我玩的第一个AVG。其实这种游戏都类似于心理测验题,选了一堆选项以后(中途还可以看指标),重点在于最后的答案。它不像SLG,SLG的乐趣在于拍兵布阵的过程而不是最终的结果(反正肯定会赢),AVG的乐趣在于调整指标赢取结果,当然OOXX的AVG的乐趣就不在结果了,而是在于过程。

大部分构思良好的小说,如果想作为游戏脚本,都有一个致命的缺点,单线程单结局。

如果做成《Descent》那样倒是不错。但那是桌游,要求有一个界面,有旗子,有技能。

如果做成MUD类型的探索型游戏呢。打怪,捡取装备,升级,满地图乱转,击败魔王。那样就是一个全新的游戏了。

桌面游戏是我很喜欢的类型,问题是这一领域,没有特别爱不释手的,俄罗斯方块,大家来找茬,扫雷,推箱子,拼图,etc,都是很轻度不沉迷的游戏。。。也许我可以试试复刻《卡卡颂》,说实话,XBOXArcade版本的卡卡颂做得很让人失望,PC版其实还不错;但是我对这东西的兴趣也是一般(要说兴趣,我有兴趣做一个算法机器人出来,然后用它上X360联网对战,用电脑对抗人脑);顺便所收

我还得仔细想一想。或者再研究一下Loon,看看用它来做SLG的可能性。

当年我有着无穷的热情和时间去制作游戏,但是却没有能力没有技术。现在可能是我最好的时机,去尝试一个10年前不能完成的梦想。

也许可以试试复刻魔法门5的平面版?不过貌似要求太高了。其实复刻早期作品更好,因为更容易,系统更简单。比如《Heroes of Might and Magic》,1代只有4个种族,每个种族只有7种兵,建筑也少,地图更是小的可怜,战斗没有地形。(当年还有一款类似的跟风的作品,我也试玩了一把,怎么都觉得别扭,如果是现在的我,一定会总结出哪里失败了,哪里有进步;当年我只是简单地放弃了。现在回忆起来,只剩很模糊的印象了。)

其实,开发游戏只是程序员的一个分支而已。不管你喜欢不喜欢,玩过或者没有玩过俄罗斯方块,做为一个合格的程序员,你都能写出俄罗斯方块出来,这更像是一个四级上机考试题,而不是一个游戏开发。

换言之,能开发是一回事,想开发是另一回事,为了得到愿意付出多少是另外一回事。所谓的付出,是指时间,精力,甚至是经济上的付出。最慢的跑到最后。。。也许那些跑得最快的家伙早就意识到做程序员没前途。所以只剩下我,慢慢跑。跑到最后,还自我感觉良好,其实傻得要死,但是人家也说难得糊涂。

经过一天的时间的思索以后,我认识到这种事情难度太大,虎头蛇尾的可能性为80%,因为我干脆连虎头都不要了。

决定做一个卡卡颂的算法程序出来。我在联机XBOX Live的卡卡颂的时候,总是想,我要是自己搞一个程序出来,算法做得好,肯定玩得比我好,如果算法足够牛,胜率一定大得很。

这事情促使我上网找了一下有没有现成的项目,结果发现了3个Java的。

一个在GoogleCode上;一个在Java.net上;最后一个的完成度最高,也最牛B,可惜不是开源项目。

在玩了一把界面以后,我选择了最后一个,闭源不要紧,关键是作者没有加混淆器,所以用java.decompiler直接反编译。出来的代码经过我几个小时的修改(主要是1,Label有问题,2,Enum有问题,3,有些参数丢失或者出错),终于可以编译了,而且可读性还不错。放到了这里:http://chenyi1976.com/code/JCarcassonne.zip

今天花了点时间好好地读了一下,感觉稍微有点眉目了;顺便学了不少小东西。看下来的感觉就是写一个卡卡颂要比写一个俄罗斯方块难很多。

一个小但是很恼火的问题是,Socket连接不能成功。。。查了半天也不知道为什么。。。

JCarcassone使用了GridBagLayout和JLabel来实现界面的绘制,所以就避免了自己绘制界面的复杂性,但是也让界面很难看,扩展性也不好,有时间应该用Loon的框架重新写一遍界面绘制的部分。

法律上当然有问题啦。反编译人家的非开源的代码,很不道德。不过我也没有打算牟利。我打算继续完善它。唔。。。貌似这个理由也不对,劫富济贫也是劫。。。不管了。

最后,看别人的代码真的对提高自己的水平很有帮助。我不是那种自己能够发明创造的天才,所以拿来主义对我而言,更为重要;学习了,搬到自己的程序里。虽然起步晚,但是玩得蛮开心。现在想到大学没有报计算机专业真的是太失策了。

还是挺怀疑自己到底能做到什么样的程度。不过动手了就好。

原创的话痨如需转载请注明来源:http://blog.chenyi1976.com/blog/10730;转载的文章我会力所能及地注明来源如有疏漏请留言指正。

文章的脚注信息由WordPress的wp-posturl插件自动生成

分类: 电玩, 编程 标签: