3D 小游戏《飞跃地平线 Plus》开发分享

近日,ID“woskymi”的开发者在 Cocos 社区分享了他采用 Cocos Creator 2.1.2 制作的 3D 小游戏《飞跃地平线 Plus》引发论坛热议。

论坛帖截图

这款小游戏的策划、美术和程序都是由 woskymi 一个人完成的。今日,woskymi 受邀来到 Cocos,让我们一起来聊聊他的开发故事吧!

C姐:Hi,woskymi,简单介绍一下您开发的这款 3D 小游戏《飞跃地平线 Plus》吧?

《飞跃地平线 Plus》是一款完全基于 Cocos Creator 2.1 研发的 3D 跑酷小游戏。

目前只上线了“海面浮冰”这一个奔跑场景,下一版本准备增加一个“海底潜水”飞驰场景。

游戏玩法很简单,按住屏幕即可控制主角进行跳跃,躲避障碍物,跑得越远,得分越高,拖拽页面可以更改游戏视角。

《飞跃地平线 Plus》试玩

C姐:您的本职工作是游戏开发吗?

我是做企业技术管理的,和编程完全不搭界,算是一名业余的编程爱好者吧。只是对于 PHP、JavaScript 比较熟悉,曾经做过公司内部小范围使用的企业办公、数据管理之类的系统。

C姐:那怎么会跑去做小游戏呢

在一行做久了,难免遇到职业瓶颈,找不到工作的激情。“悟以往之不谏,知来者之可追”,大约半年前,看到微信小游戏很火,我就开始尝试着学习游戏开发,希望把爱好变成事业吧。

C姐:为什么选择 Cocos Creator 呢?

没有游戏开发的基础的我,一开始踩了很多坑,也先后研究和使用了国内和国外的好几种有引擎,最后选择了 Cocos Creartor,因为我觉得它最适合我,引擎功能强大,编辑器方便直观容易上手,官方教程很丰富,最值得称赞的是论坛非常活跃,官方答疑很及时,对于初学者的我来说,在开发过程中遇到的问题,大多数都是在论坛找到答案。

C姐:你是如何从零开始学习 Cocos Creator 呢?

初学阶段,建议大家一步步按照官方文档和范例源码来学习,通过文档和源码的学习,我做了几个简单的 Demo,然后用一个多月的时间尝试着做了一款叫“创业富豪”的小游戏。

《创业富豪》游戏截图

游戏属于放置经营类,玩法很简单,消耗用户的时间,赚取金币,升级建筑。这款游戏中,图片都做了 PS 压缩处理,总共用了 79 张图,具备完整微信小游戏功能,源码才 3.8M。

C姐:什么时候开始接触 3D 项目开发呢?

通过这个 2D Demo 项目熟悉了 Creator 之后,我就开始尝试做 3D 项目,就是这款《飞跃地平线 Plus》。

相比前一款,这个 3D 项目用的图片就比较少了,素材主要是 Low Poly 低多面体风格的 FBX 模型和材质文件。游戏基本功能实现用了半个月,因为个人美术设计水平真的很有限,美术和特效用时就 1 个月,各种画面尝试,比编码时间长多了。源码 3.1M,开始主要是用 Cocos Creator 2.1.1,v2.1.2 发布之后,就用 2.1.2 重新编辑了一下就上线了。

我是一个游戏开发初学者,技术有限,所以一开始就在考虑,我要怎么才能做出一款像样的游戏呢?

我的思路就是在技术上完全采用官方文档,然后各种节点组合搭配粒子特效,追求的就是流畅度和视觉效果。

网上有人说 Creator 做 3d 不好用,我觉得一点问题没有的,起码 3D 物体在一个平面上的移动、碰撞等效果还是非常简单就能实现的。

C姐:游戏里的碰撞是怎么实现的?

《飞跃地平线Plus》中物体碰撞是用 2d 节点下面挂接了 3d 节点,采用 2d 的刚体碰撞检测,实现了跑酷游戏的跑跳效果。

本来是想做“上下左右前后”六个方向的碰撞检测,官方教程中的射线检测应该可以做到这个,可惜我没看懂。哈哈,下一步就好好研究研究这个。

C姐:《飞跃地平线 Plus》使用了哪些开发工具呢?

开发过程中用到的 IDE 工具包括(仅供参考): Cocos Creator、Particle2dx 免费在线工具、Cinema 4D、Photoshop、Google Chrome、Sublime Text 、微信开发者工具。

Particle2dx 免费在线工具很好用,可以做出各种粒子特效,在此强烈推荐一下,《飞跃地平线Plus》中奔跑产生的尘土、烟雾、星辰、光圈等,都是用这个做的。

C姐:在用 Cocos Creator 开发 3D 小游戏过程中,有遇到什么困难吗?

过程中的确踩了不少坑,大部分都通过官方文档和论坛解决了。唯一需要吐槽的就是暂不完善的 3D 材质组件和三维的刚体碰撞了。如果这点也完善了的话,我觉得那就没有 Cocos Creator 开发不了的游戏了,如果有,那说明你的创意和思路还不够。

C姐:有没有小游戏上线的经验可以分享给个人开发者呢?

申请软件著作权一定要提前。我是在完成了游戏之后,于 5 月 13 日申请的,找了北京的朋友去版权中心大厅现场办理,到 6 月 29 号才办好,7 月 15 号才把证书拿到手,整整历时 2 个月。

另外,小游戏申请不必非要打印 60 页代码,像微信小游戏这种源码较少的 30 页也可以。

C姐:后续有什么计划吗?

《飞跃地平线 Plus》功能目前还不完善,下一步计划就是对这款游戏进行迭代升级。我非常喜欢 Cocos Creator 的开发方式,用着也很爽!祝 Cocos Creator 发展越来越好,百尺竿头更进一步!

C姐:谢谢 woskymi,非常感谢你为社区做的贡献。把爱好当成事业在做,亲手编织梦想,或许才是生活的真谛,祝您的游戏事业越来越好!

截止目前,Cocos 引擎已拥有注册开发者超过 130 万,作为一款开源跨平台免费引擎,Cocos 从不因“免费”而将技术问题全然丢给开发者。

恰恰相反,Cocos 引擎团队在社区投入了大量人力,对于每一个引擎用户,我们都提供了热心的技术支持,为开发者答疑解惑。

作为引擎与开发者之间沟通的桥梁,Cocos 社区一直以来都保持着高度的活跃,我们希望在未来,能够携手更多的开发者将社区建设得更加美好!

感谢支持!

本文分享自微信公众号 - Creator星球游戏开发社区(creator-star)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员一一涤生

文本标注工具brat简介

建议下载brat的release版本,地址:https://github.com/nlplab/brat/releases/tag/v1.3p1

28930
来自专栏CSDN技术头条

开发者如何学好 MongoDB

作为一名研发,数据库是或多或少都会接触到的技术。MongoDB 是火热的 NoSQL 之一,我们怎样才能学好 MongoDB 呢?本篇文章,我们将从以下几方面讨...

12630
来自专栏前端一会

Vue 2.X 文档阅读笔记二 (深入组件)

官方推荐使用写法1来定义全局注册组件命名,以避免可能出现的与HTML元素相冲突的情况。

7930
来自专栏程序员一一涤生

用深度学习做命名实体识别(二):文本标注工具brat

brat是一个文本标注工具,可以标注实体,事件、关系、属性等,只支持在linux下安装,其使用需要webserver,官方给出的教程使用的是Apache2。

21510
来自专栏杰的记事本

nodejs定时器详解

只要用到引擎之外的功能,就需要跟外部交互,从而形成异步操作。由于异步操作实在太多,JavaScript 不得不提供很多异步语法。这就好比,有些人老是受打击, 他...

25620
来自专栏一路向前端

现代JavaScript函数库 usuallyjs 的安装和使用

usuallyjs 是一个面向现代 Web 开发的 JavaScript 实用函数库。

7630
来自专栏小蔚记录

微信小程序 this.getOpenerEventChannel is not a function

小程序 添加新的功能, 页面跳转后,通过事件的发布订阅,实现 from => to 或者 to=> from 数据传递

68840
来自专栏web秀

Vue + Vuex + Element UI实现动态全局主题颜色

经常用Element UI的小伙伴,应该知道,Element UI官方文档,可以自由更换主题。那么,我们怎么把这个功能用到自己项目中呢?其实官方文档也有所说明,...

18020
来自专栏业余草

JSON 与 JSONB

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

9710
来自专栏Linux内核及编程语言底层相关技术研究

VirtualBox的各种网络模式要如何选择?

一直在使用virtualbox,感觉挺好用的,平时也没怎么遇到过问题,所以也没有详细看过virtualbox的官方文档。

34320

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励