-
在Cocos中开垦属于你的“Minecraft”
事情是这样的,有个建模师朋友跟我聊天: 朋友:雕地形把颈椎雕坏了,能不能帮我写一个代码自动生成地形?我:可以… 于是有了这篇文章。 今天,就带大家揭秘 “无限地形生成” 的底层技术。 这项技术不仅是《Minecraft》、《Terraria》、《No Man’s Sky》这些大作背后的核心技术之一! 更能让你用几行代码,在 Cocos 中亲手开垦出属于自己的“无限大陆”! 关键技术 —— 噪声 这里说的“噪声”,不是电流里的杂音,而是指一种连续的伪随机函数。 以下是常见的噪声生成函数: Perlin Noise(柏林噪声):经典,很多老游戏用。 Simplex Noise:改进版,性能更好。 OpenSimplex Noise:社区维护的版本,专门解决专利和维度问题。 它们的特点是: 看起来像随机,但其实是连续的。 相邻的输入点,输出不会差太多,像自然界里的山脉、河流一样。 输入坐标可以无限扩展,所以理论上能生成无限地图。 以下是使用柏林噪声和白噪声(纯随机)的对比图,可以看到柏林噪声生成的数值是连续的。 由于本文更关注于噪声的应用,因此关于噪声的原理就不再赘述,大家可以自行了解。 游戏里怎么用? 很多你耳熟能详的游戏,都在背后默默用着这项技术: 游戏名称 类型 噪声应用场景 特点与效果 Minecraft 沙盒建造 地形(平原、山脉、洞穴)、矿脉分布 经典案例,无限方块世界 Terraria 2D 沙盒冒险 地下洞穴系统、地形起伏 横版随机地图,每局不同 No Man’s Sky 太空探索 星球地貌、动植物生态、气候 分形+噪声生成,几乎无限的宇宙 在 Cocos Creator 里实践:用噪声生成地形 光说原理可能有点抽象,咱们直接来点实战。…
-
经典IP焕新!《雷霆战机:集结》研发专访|Created with Cocos
近日,飞行射击(STG)品类再度引爆市场。 经典 IP 《雷霆战机》的回归之作——《雷霆战机:集结》——在上线后迅速发力,于五六月间成功登顶微信小游戏畅销榜! 不止于此,其 iOS 版本也取得了 AppStore 免费榜第二、畅销榜第25名的亮眼成绩。 今天,小编有幸请到了《雷霆战机:集结》的研发商——北京轻舟创游,和我们聊聊这款王牌空战游戏背后的故事! Q1:首先请团队介绍一下自己 我们是北京轻舟创游,《雷霆战机:集结》的研发商,成立于2023年10月。 虽然公司很年轻,但我们的创始团队成员已有十多年的合作经历,彼此高度信任、能力互补、协作默契。 我们秉承“游戏创造快乐,热爱成就经典”的理念,致力于打造好玩、创新的全球化游戏。 目前团队规模60人,主攻方向是“操作闯关玩法 + 卡牌/RPG养成”。 Q2:请介绍下《雷霆战机:集结》,它是如何在众多同类游戏中脱颖而出的? 《雷霆战机:集结》是一款经典弹幕飞行射击结合卡牌养成的游戏。 它在复刻2014年《雷霆战机》版本内容的基础上,进行了大幅调整与玩法创新。 首先是独特的科幻黄金时代视觉风格与现代审美的融合,带来了酣畅淋漓且运行流畅的战斗体验。 扎实的打击感、不肝不氪的养成系统,是留住玩家的关键。我们特别控制了付费深度,保证小额付费和免费玩家也能有良好体验。 同时,我们通过持续为玩家减负、简化重复操作,降低‘打工感’,并及时补充乐趣丰富的新玩法,保持游戏的新鲜感。 在长线运营中,团队也始终把握着最核心的游戏体验: 运行流畅、审美在线、设计新颖、不逼氪不骗氪,并密切关注留存、活跃、在线时长等核心数据。 Q3:《雷霆战机:集结》能够取得现在成绩的关键因素有哪些呢? 《雷霆战机:集结》的成功,是多方面因素共同作用的结果。 天时地利: 首先,微信小游戏平台足够成熟,其技术能力满足了飞行射击游戏的高性能需求。 即点即玩的特性和天然的社交分享优势,极大地便利了用户触达和传播。 经典 IP 的强大影响力也吸引了大量高质量的种子用户;同时游戏圈功能完善,可以巩固游戏和核心用户的关联。 产品定位: 游戏本身的弹幕飞行射击玩法,相比时下流行的 RogueLike,反馈更直接,恰好填补了市场的一个空缺。 研发基石: 当然,这一切也离不开高效的研发管线。 Cocos 引擎开发全流程完善的功能,与我们自研的自动化工作流完美结合,极大提高了研发、评审、验收、整合、QA 效率。 Q4:STG游戏对性能和流畅度要求极高。在开发过程中,有没有遇到什么印象深刻的技术挑战? STG 游戏对性能和流畅度要求极高,比如同屏海量弹幕的性能压力、群星意志等华丽战神的渲染压力、大量 C++ 代码移植到 TS,以及 UI 上的透视表现需求等。 逻辑优化上,我们使用了缓存池、碰撞分区等方法;渲染优化上,则采用了图集、分层等方式优化 DrawCall。 在移植方面,我们使用了多种 AI 工具来批量翻译代码。 我们在确保高性能的…
-
TypeScript编码规范
目的与声明 我们的目的是通过统一专业术语、统一规格标准的方式来提高团队整体协作的效率。 我们尊重每个成员的编码习惯,我们只纠正那些容易导致错误的不良习惯。 我们通过技术手段实现统一的编码规范,而非仅仅是口头约定。 我们的编码要求非常宽松,但是对于明显不符合要求的代码将拒绝签入。 编码格式 文件编码 统一使用 UTF-8 无 BOM 格式读写所有代码。 缩进 使用 1 个 TAB(占 4 个空格的宽度)(推荐)、4 个空格或 2 个空格创建缩进。 您在输入缩进时应使用 Tab 键,而不是使用空格键。 您在删除缩进时应使用 Shift+Tab 键,而不是使用退格键。 换行 您应该使用和操作系统相同的换行符。 这意味着您应该在 Windows 上使用 CR(Unicode 13) LF(Unicode 10) 作为换行符, 在 Mac/Linux 上使用 LF(Unicode 10) 作为换行符。 对于生成的代码应该忽略操作系统的区别,始终使用 LF 作为换行符。 在程序中您应该固定使用 ‘n’ 作为换行符。 空格 我们追加空格,可以让代码看起来不那么紧凑,减少阅读者的视觉压力。 代码中只允许使用空格键 (Unicode 32)…
-
AI Agent助力Cocos项目性能暴涨6倍!
最近老菜和圣子将 PC 端 3D 星图应用《Cosmos》 移植到移动端 Native 平台时,遭遇了性能灾难——帧率从 60FPS 暴跌至个位数,画面卡顿几乎无法使用。 面对近万个星体实例、数万条连线和复杂天文计算,移动端不堪重负。这就需要 AI 配合从多维度进行精准优化。 渲染优化 CPU 计算 内存管理等 老菜讲如何分享下使用 Agent 来帮助优化经验和系统性优化,最终实现了从 8FPS 到 60FPS 的性能飞跃。 三角形数从57万降至11万(-80.9%), GFX 纹理内存从305 MB 压缩到65 MB(-78.7%),且视觉效果基本不变。 优化前 优化后 Agent 创建 创建自己的 AI Agent,由多个 MD 文档组成,包括了 Agent 的 System Prompt 和 Agent 的优化案例。 你是一位精通 Cocos Creator 3.8 的高级性能优化专家。擅长使用各类 Profiler 工具进行性能分析和优化代码,重点关注:## 核心优化目标1. 减少函数调用开销 – 合并频繁调用的函数,减少函数调用层级2. 降低运算复杂度 – 简化算法,减少不必要的计算3. 最大化对象复用 – 使用对象池,避免频繁创建销毁对象## 具体优化要求### 1. 函数调用优化- 将高频调用的小函数内联化- 减少…
-
用Cocos实现三国志战略版六边形大地图
引言 传统的正方形网格地图如下图: 鬼武者战略版游戏截图 与许多传统战略游戏使用的正方形网格不同,《三国志战略版》采用了错位的正方形网格,可以理解成六边形网格的变种。 三国志战略版游戏截图 本文将给大家介绍《三国志战略版》中用到的六边形网格地图原理,以及如何在 Cocos Creator 中实现六边形网格地图! 什么是六边形网格地图? 文明6游戏截图 想象一下蜜蜂的蜂巢,或者一些策略游戏的地图,那就是最典型的六边形网格。 它是由正六边形这一种图形,以边对边的方式无缝、无重叠地铺满整个平面。 六边形网格地图有什么特点? 以下是六边形网格地图的主要特点: 方向:比传统的方形网格多2个方向,即6个方向。 距离:一个格子有且只有6个邻居,且中心到所有邻居中心的距离完全相等。 了解特点后,我们一起来看下如何在 Cocos Creator 中实现一个六边形网格地图。 来实现一个六边形网格地图 我们根据以下的步骤一步一步来实现一个2D版本的六边形网格地图: 1. 环境 引擎版本:Cocos Creator 3.8.7 编程语言:TypeScript 2. 资源准备 简单找两个六边形格子分别表示地图格子的不同状态,再找一个其他图片作为主角。 然后将资源放进去项目,并且简单制作一下地图格子的预制体和主角的预制体,方便生成。 3. 编写代码 首先新建一个Main.ts脚本,简单预制一下地图数据用于演示,可以通过配置加载。 其中0=空地,1=障碍物,2=玩家起点 然后绑定一下预制体、图片和切换关卡按钮,以及一些常量的定义。 将脚本拖拽到节点上,然后就可以进行绑定: 然后在start中初始化游戏,以及绑定按钮事件。 点击模拟进入下一关。 其中初始化游戏包括: 清理上一关的内容 获取当前关卡配置数据 创建关卡 创建关卡的关键在于: 1. 格子坐标的计算 偶数行的格子向右偏移1/4个宽度。 2. 格子和主角的创建 instantiate克隆预制体。 addChild添加到游戏世界。 3. 突出主角 为了突出主角,我们给主角加个简单的上下动的tween动画。 4.…
-
App Store Mini App Partner Program 隆重推出
苹果推出了 Mini App Partner Program,进一步扩展 App Store 对那些提供小程序的 App 的持续支持。小程序是使用 HTML5 和 JavaScript 等网页技术构建的独立体验。这项计划旨在帮助那些托管小程序的开发者拓展业务,进一步提升小程序在 App Store 上的销售范围,同时仍提供出色的顾客体验。 参与计划的开发者在销售符合条件的 App 内购买项目时,可享受 15% 的收益抽成减免。要符合享受这一收益抽成减免的条件,参与计划的 App 必须支持某些 App Store 技术,包括 Declared Age Range API 和 Advanced Commerce API,以便为所有年龄段的顾客提供安全流畅的体验。 点击【阅读原文】,获取更多信息。
