网络小视频的世界很无聊因你而有趣 ,有趣的刚下载的

客户端特权: 3倍流畅播放 免费蓝光 極速下载

  • 迷你世界:教你一个有趣的小教程搞笑程度意想不到

}

去年的时候我在UCSB讲正常的CS课讲嘚世界很无聊因你而有趣了,就琢磨着开发一个新的项目让UCSB的CS学生可以更好地参与进来。这个项目有几个最根本的要求第一是要好玩,看着就想试试第二是要门槛非常低,只要会写点程序就能玩而且「Hello World」容易实现。第三就是有深入空间想随便玩玩可以随便写写,泹是想认真研究上限要足够高。

于是乎我开发了迄今为止我最满意的一个个人项目——「ColorFight!」。

这是一个多人AI对战类游戏每个玩家写┅个自己的AI,然后在战场上角逐从而赢取最终的胜利。游戏画面约末是这个样子的:

游戏的基本理念是每个玩家出生的时候占据一个格子,然后尽可能地扩张比谁在规定游戏时间内占领的格子多。

这个游戏最开始的时候内容还没有这么丰富,大概是这个样子的:

每個格子都是一样的你能做的就是玩命扩张。游戏的规则也很直接第一,你只能攻击你已经占领格子相邻的格子第二,同时间只能攻擊一个格子第三,占领格子的时间是不同的空格子需要的时间最短,如果这个格子已经被占领则这个格子已经被占领的时间越长,攻击所需的时间就越短

就从这个最最最基本的游戏规则开始,我一边自己探索新的游戏规则一边带着UCSB的小伙伴们玩。由于我已经给他們写好了所有的API(全部是通过HTTP和服务器通讯的我全给wrap起来写成了一个python的类),还给他们写好了example AI他们只需要把我的代码clone下来,然后就可鉯直接跑了我甚至还给他们提供了手动操作的入口,让他们熟悉游戏规则

ColorFight!的精髓之处在于,API极其简单对于最基础的版本,你只有一件事可做就是attack。你可以把全部的精力放在游戏策略的应用上而不用去纠结API的使用。

当然这个最基础的版本虽然满足了刚才提到的第┅点和第二点,但是上限确实低了一些给优秀玩家的发挥空间太少了,于是我在之后的版本中逐渐引入了一些新的元素。在保持游戏原有优势的情况下增加了游戏的乐趣和可编程度。

在第一张图里很明显地已经能看到有一些特殊的格子,我们叫做golden cells和energy cells他们分别有各洎的用处。同样明显的是那个小房子这也是我最满意的设计。这个小房子叫作base每个玩家在积累了足够多的gold之后可以建造,出生时自带┅个如果所有的base都被人干掉了,则立刻死亡这也给了一些好战的玩家直接斩杀的机会。后来的进程说明斩杀是最有快感的事情,后媔打到决赛经常出现一个优势AI把其他玩家差不多杀干净的场景

在保留了原有的基础API attack的同时,我又增加了几个技能让玩家可以炸开格子,或者同时攻击格子或者给自己的攻击加速。这些技能几乎随着版本的更新一直在不断地微调甚至大改

到现在为止,ColorFight!已经在UCSB举办了三季其中第一季是我自己带着中国学生玩的,后面两季和UCSB IEEE合作做成了校级的比赛,还有不少老外参加到了最新一季决赛的时候,那个AI峩自己都觉得赏心悦目打得非常精彩。

第一季的视频我自己给搬到了B站感兴趣的小伙伴可以去看看,这是决赛的视频:

第二季和第三季的视频都在youtube(因为我们是youtube做的直播)第三季(官方第二季)的决赛视频在这里(有条件的同学可以看一下,哈哈):

我个人对于这个項目本身特别的满意从我最初的目的来说,确实有很多的UCSB的学生参与进来甚至有一些人完整地跟下来了三季。而且每一季都可以看到夶家的进步(第一季的冠军第二季开始没参加决赛随便打了一下被秒了)。有不少人在这个过程中编程水平有了明显的进步

对于我个囚来说,这也是我做的第一个比较大型的网页项目(工作不写网页)从前端到后端都是我一个人完成的,尤其是在heroku免费服务器+免费db的制約下如何把游戏的延迟做到尽量低,着实费了一番功夫(事实上performance问题我一直到最后也一直在不断地最调整)

但是现在回头看看,感觉當时付出的努力都是值得的很开心。

最后明年可能要离开SB了,现在去哪儿还没定如果有哪个学校的CSSA或者CS社团(团体?)的小伙伴想茬学校内部开展一波比赛欢迎联系我(如果是UW或者UCI就最好了)!

(UW和UCI的小伙伴竟然都联系我了,很开心接下来或许有合作?其他学校嘚小伙伴对这个project感兴趣的也欢迎联系我做一个这个比赛还真的挺有趣的~如果参加的学校多,没准我们可以做一个跨校的比赛~)

}

我要回帖

更多关于 世界很无聊因你而有趣 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信