Helios_base代码修改

简单说说哦

底层代码,能改的地方很多。
1、我的修改经历
大一那时候,修改uva的时候,自己根据合工大的教程。就写了10行左右的代码,然后就把uva的底层干了10-0.当时兴奋极了。然而并没有后续了。那时候自己忙于web安全的学习,就将robocup2d搁置了。然后到了15年暑假,开始看angent2d代码,在学长代码基础的影响下,我们当初只是会改domove里面的东西。以为2d仅仅是改这个。而且学长们说,不用改阵型了,改阵型没用了。当时也信以为真。(ps:所以说嘛,要有质疑权威的自信。有时候,所谓的权威说不行,那只是代表他觉得不行。对于我们,just do it!ps2:有时候很烦那样的话,人家985,211的学生都做不粗来,我们这种普通本科肯定也不行。这样的人,一般都是目光短浅的人吧。)随着对代码的深入理解。现在我发现2d能改的东西太多了。
2、某些地方
–动作链:动作链是代码的核心,可以修改动作产生的过程,可以修改动作调用的过程,然后底层代码里面最主要的树搜索是有问题的。它会搜索多层(默认2层),但是调用的时候,它只是执行当前的一层,你可以画图看一下它是如何搜索动作节点的就能搞懂了。所以它根本没有形成动作链。要想形成链,还需要自己实现。(算是很核心的修改)
–domve:这个地方比较灵活,就是无球跑位策略。没有球,可以盯人,可以截球,可以跑空位,可以。。。,很多很多都可以写。偏向进攻的打法,就把让球员多跑进攻区域,偏向防守的打法,就让球员在自己的半场多跑。可以根据区域划分跑,可以根据某些策略算法来跑等等。
–阵型:秋山提供了fedit2这个工具,使得阵型修改容易了很多很多。阵型是一定要修改的,要配合自己的打法来修改。
–评估器:这个可以说是球队的大脑,具体如何修改,真的不好说。而且涉及到了很多保密的地方。但是不给新人讲的话,又不行。所以对这方面感兴趣的小伙伴,可以私聊我。(如果自己去看代码,感觉需要看懂代码,入门之后,才能好好修改。实在是消耗很多时间。就像陈老师之前在工大给我们培训基础的时候,他说这短短的一下午时间培训,能够节省大家摸索三个月的时间,我想说,也许那一下午能节省某些人的一年时间)
–角色:可以修改角色啊,看看YuShan2014国赛的版本和helios2015/6就知道了。
–其它:其它能改的地方也很多,比如修改某一个原子动作啊,某一个行为策略啊(底层写的已经很好了)。教练的利用啊,不知道其它球队什么情况,反正MT是一直没用到coach(可以研究)。
–总结:每一个地方的每一个小块,甚至是一个原子动作的修改,都值得一个人花费很多精力去研究很久了。要想做强,做好一件事,我的理解是每一个队员都必须成为高手,对整体的武功套路都熟悉,然后可以自己专心突破一方面的功夫,最后大家把成果结合起来,才是牛逼的队伍。可惜这样的球队太少,或者说基本没有。

还有什么要说的呢?

上班已经一周了,学了很多东西。推荐使用git来进行2d代码的版本控制,使用(http://git.oschina.net/)来进行私有托管代码。教程推荐(http://git.mydoc.io/)
使用bearychat.com这样的协作工具来提高团队合作效率。这几样的工具,都是性价比非常高的技能。
可以先把body_xx类的动作搞清楚它的作用,参数。经过测试,理解它的优势和不足。然后再进行策略的修改。

大总结

本来也是打算去实验室录视频教大家如何修改代码,可是自己懒。尤其是上了班之后,感觉自己没多少精力投入到2d上面了。也是趁着自己还记得这些东西,把它写出来。给大家分享一下,让大家少走一些弯路。
也不知道有木有人会看我写的这些东西,反正我这周问MT的大一队员,你们看了我的教程没?(当然我没给过他们)他们说什么教程。有些失望。我是在学程老师,姜太公钓鱼(虽然和程老师的水平差很多),等着他们和我要,或者自己从网上也能搜到(垃圾百度是搜不到的,不过google可以啊,要是真对这个感兴趣的人,肯定会在google啊,必应啊,等等引擎上面都搜一遍的。)