Cocos实现大热的 Roguelike+割草玩法?完整源码免费下载
来自 Y8.com 的开发者 Martin Kral 将和我们分享他创作的一个 Roguelike 生存割草 H5 游戏,聊一聊他的开发经验与技巧,并将游戏源码开放给大家免费下载。
游戏截图
你好 Martin,很高兴和你交谈。你从事游戏开发多久了?
Martin:我已经从事游戏开发大约 12 年了,其中 9 年是专业的。前三年,我没有足够的收入来维持自己的游戏开发,所以我被雇用在不同的岗位,并在空闲时间学习开发技术。
和 Y8 的合作成效如何?
Martin:在 Flash 游戏时代,Y8 是我最喜欢的发行商之一,因为那里的人真的很平易近人,如果你有一个高质量的产品,它将帮助你取得成功。加入 Y8 后,和 Y8 的合作颇有成效。内容团队会给你的游戏提出改进建议,并且将很大一部分收益分享给开发者。以我的经验来说,受欢迎的游戏要达到百万次游戏体验数并不困难。所以如果你正在制作 H5 游戏,我强烈建议你试一下 Y8 的 revenue-sharing program:
https://zh.y8.com/revshare?pk_campaign=SlashTheHordesGit
为什么选择用 Cocos Creator 开发游戏?
Martin:得益于 Cocos Creator 的网页实时预览功能,我们能很方便地调试游戏,加快项目的迭代速度。制作多人联机游戏时,Cocos Creator 能帮助我们节省大量时间,因为引擎拥有很强的跨平台能力,可以同时在多个设备上玩游戏。
你为什么喜欢制作 HTML5 游戏?
Martin:我认为 HTML5 游戏最棒的地方在于「自由」。无论你制作的是什么类型的游戏,都可以在网络上找到你的受众。你不必依赖于某一个集中式应用商店。而且,这类游戏通常体量较小,试错成本较低,因此你能够大胆去尝试一些疯狂的想法,希望游戏能病毒式传播开来!
请和大家介绍一下你的这款游戏吧!
Martin:Slash the Hordes 的想法并不标新,灵感主要来源于 Vampire Survivors。在游戏中,玩家将控制一个角色,击杀从四面八方袭来的敌人,极限求生。我们将游戏源码免费分享给大家,希望可以激励更多开发者尝试使用 Cocos Creator 制作游戏,为大家开发和发行游戏提供更多参考与资源。
游戏有哪些技术实现亮点?
Martin:在 Slash the Hordes 的研发中,我重点使用了几个工具:
对象池(Object Pool),可更轻松地管理可重用对象。
事件系统(Event System),将逻辑与其他系统(如动画、分析和声音)分离。
模态系统(Modal System),拥有可重复使用的窗口系统。
以对象池为例。该游戏的对象池可以在这里找到:
https://github.com/MartinKral/Slash-The-Hordes/blob/master/assets/Scripts/Services/ObjectPool.ts
要让它工作,你只需要三行代码和一个带有组件的预制件。
要初始化,可以这样调用它:
const enemyPool: ObjectPool<Enemy> = new ObjectPool(enemyPrefab, this.node, 50, "Enemy");
第一个参数是敌人对象的预制件,它应该有一个与对象池类型匹配的组件(在本例中为敌人)。
第二个参数是父节点,所有的子节点将在这里被实例化。
第三个参数是第一个立即实例化的预制件的数量。如果你知道你将经常使用大约 50 个敌人,那么这个数字应该是 50;如果你需要 51 个敌人,对象池仍然可以扩大并为你提供一个新的敌人。这个值只是为了减少游戏过程中引擎的工作量。
第四个参数代表组件的字符串名称,在本例中即是「Enemy」。
初始化后,你可以通过以下方式简单地获得一个新敌人:
const borrowedEnemy: Enemy = this.enemyPool.borrow();
然后:
this.enemyPool.return(borrowedEnemy);
一般来说,对象池的好处在于它大大减少了实例化和后续内存分配、释放的数量。换句话说,它可以显著提高游戏的性能。
这个对象池还能够处理池的扩展,并立即为你提供附加的组件。它在游戏中被多次使用,一个明显的例子在这里:
https://github.com/MartinKral/Slash-The-Hordes/blob/master/assets/Scripts/Game/Items/ItemSpawner.ts
有一些模块我也会在下一个项目中使用——主要是「应用层」方面,可以有一个相机和其他公共服务;一个单独的场景生命周期对象(例如 Game.ts),用来设置游戏并控制场景的流动;此外还有 gameSettings,一个让游戏设计师可以完全控制游戏的单一的数据文件。
Slash the Hordes 还有很大的优化空间,如果大家有任何建议,请随时提交 issue(甚至是 PR)!
感谢 Martin 的分享!点击文末【阅读原文】即可下载游戏源码。
源码下载
https://github.com/MartinKral/Slash-The-Hordes
在线试玩
https://zh.y8.com/games/slash_the_hordes
Y8 官网
https://zh.y8.com/
Cocos Creator 深度支持各大主流平台,开发者可将内容一键发布至 Web/小游戏/原生等平台,实现一次研发、多端触达。伴随引擎技术的多次突破,Cocos 的应用领域已从游戏拓展到智能座舱、XR、虚拟角色、元宇宙等,成为横跨多领域的 3D 引擎,并面向更多行业提供了完整的解决方案。期待看到更多开发者用 Cocos 实现自己的创意想法,创作出更多元、有趣、高质量的作品!
Cocos实现大热的 Roguelike+割草玩法?完整源码免费下载相关推荐
- 2022年Roguelike“割草”游戏风潮为何刮的如此强劲?
在开始之前,先推荐B站上的一套 <CocosCreator零基础 3D 俯视角割草游戏>视频教程,作者"好巧啊c"已经连载更新到 26 集. B站地址:(文末阅读原文直 ...
- C++large fibonacci大斐波那契数列的实现(附完整源码)
C++large fibonacci大斐波那契数列的实现算法 C++large fibonacci大斐波那契数列的实现算法完整源码(定义,实现,main函数测试) 用于对任意大数执行算术运算的库lar ...
- cocos怎么把res文件夹放服务器上,cocos2d 三合一跑胡子房卡+服务器组件+后台控制+安装教程+棋牌完整源码...
cocos2d 三合一跑胡子房卡+服务器组件+后台控制+棋牌完整源码 安装方法: 1将工程下的res和src目录复制到version/fromSource 目录中 2使用cocos2dx命令 把src ...
- cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码开发脚本为javaScript
cocos creator休闲游戏甜品幻想H5+安卓+IOS三端源码,开发脚本为javaScript方便扩展和阅读,支持cocos creator2.X版本,完整的源码可拿来运营学习研究二次开发. 1 ...
- 字体大宝库:12款好看的手写艺术字体免费下载
<字体大宝库>系列给大家带来最新12款好看的英文手写艺术字体可以免费下载使用,相信里面有你喜欢的.手写字体常用于印刷.网页设计及其它创意设计任务中,能够强调设计的自然性.非正式性,让设计作 ...
- 字体大宝库:15款漂亮的手写艺术字体免费下载
Web 设计人员正在不断寻找新的迷人的和独特的东西以吸引读者的目光,这也适用于字体.字体中在抓住观众的注意力的过程中发挥了至关重要的作用,引导读者深入发现内容的内在价值. 手写字体风格可分为两大类:斜 ...
- java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码、数据库)
java计算机毕业设计ssm基于大数据的汽车流量监控cvej1(附源码.数据库) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也 ...
- cocos creator2.2.2益智教育游戏《夜幕降临》源码H5+安卓+IOS三端源码
cocos creator2.2.2益智教育游戏<夜幕降临>源码H5+安卓+IOS三端源码,开发脚本为typeScript方便扩展和阅读,支持cocos creator2.X版本,完整的源 ...
- web前端期末大作业:文化网站设计——中国风文化html源码(6个页面) HTML+CSS+JavaScript...
web前端期末大作业:文化网站设计--中国风文化html源码(6个页面) HTML+CSS+JavaScript 期末作业HTML代码 临近期末, 你还在为HTML网页设计结课作业,老师的作业要求感到 ...
最新文章
- VI连接esx主机时报错“client.xml”错误
- arcgis python规划地类-基于ArcGIS的Python——要素类至地理数据库
- 开发机器上利用vs2013调试远程IIS上的c#程序
- 客户旅程_我们进入微服务世界的旅程-以及从中学到的东西。
- Linux declare命令、Linux tail 命令
- 南方cass简码识别大全_cass简码识别教程.doc
- 吊打本地搜索神器everthing,最快 最强的电脑本地搜索神器!
- excel如何把顺序倒过来_excel怎么把顺序倒过来
- 分词并去停用词自定义函数:seg_word(sentence)
- 快手财报,广告、直播、电商齐头并进
- flash as3_vinson_01:绘制扇形
- 关于数据库having的用法的详细介绍
- 计算机开机最快,你电脑开机要多久?4招让你的电脑开机速度比之前快几倍
- 朝鲜青年结婚流行新大件——手机
- 多所院校发布研究生补录通知!
- 千字详解:“Java性能调优六大工具”之JConsole工具
- python tkinter 日期时间选择器,附详细可运行源码
- python写数字,Python3生成手写体数字方法
- 矩形波发生器c语言,矩形波发生器电路设计方案汇总(六款模拟电路设计原理图详解)...
- 杂记-有关Ubuntu快捷方式不能正常打开的问题
热门文章
- linux scp文件传输,Linux 文件传输 SCP
- Android应用截图和SurfaceView截图问题(学生PAD抽奖系统)
- STM32 IO口的八种模式
- android车机手机黑屏闪黑终结者-Winscope工具使用介绍
- 计算机基础教案文字处理软件,计算机应用基础实训课教案第四章:Word文字处理软件.doc...
- mysql可执行程序在什么路径_Linux查看可执行程序所在路径
- Matlab读取.mat文件画图
- android 画中画 分屏 区别,小米MIUI系统手机分屏VS画中画功能,教你游戏聊天两不误...
- 计算机信息学院开学演讲稿,大学开学演讲稿范文(精选16篇)
- CGrendering | 法国橡树庄园建筑可视化表现