• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

nomanssky2D: 无人深空 宇宙生成技术 、随机生成技术、过程生成技术 简单模拟。 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

nomanssky2D

开源软件地址:

https://gitee.com/lisniuse/nomanssky2D

开源软件介绍:

 _   _       __  __                 ____  _          | \ | | ___ |  \/  | __ _ _ __  ___/ ___|| | ___   _|  \| |/ _ \| |\/| |/ _` | '_ \/ __\___ \| |/ / | | || |\  | (_) | |  | | (_| | | | \__ \___) |   <| |_| ||_| \_|\___/|_|  |_|\__,_|_| |_|___/____/|_|\_\\__, |                                               |___/

一、前言

无人深空(NomansSky)是什么:

       《无人深空》是一款以太空探索冒险生存为主题的游戏。游戏中理论上有18,446,744,073,709,551,616颗星球可以供玩家探索,几乎可以看做是无限大。同时因为游戏是使用算法生成星球,所以游戏本身体积不大,而且可以完全离线游玩。

       目前线上的交流社区比较活跃的是百度的贴吧:无人深空贴吧

项目起因:

       在无人深空发售之后,我看到了很多对无人深空进行剖析的各种文章、帖子,这些帖子的作者有懂技术的玩家也又不懂技术的玩家,也有资深的游戏玩家。在我看了这些高人的见解之后,作为开发者我决定亲自"会一会"这个神奇的算法游戏的技术。

       其实整个宇宙是随机出来且是固定的,但每一个星团星系的位置都是固定的都有绝对标识和坐标。所以我们在无人深空中可以将其命名并且上传到服务器上。

       整个无人深空的所有的内容物体均是由一坐标种子随机生成出来的,但是这个随机不是正真意义上的随机,而是伪随机,有一定的规则包含在里面。

       其实无人深空的动物系统做的并不是很好,还有星球太过于单调,很显然是个半成品,作为H5的开发者来说,像这种半成品的算法游戏,如果我想,我一个星期就可以做到差不多的效果。

接下来说说我开发的DEMO的一些情况:

       整个开发时间不超过48小时。

       首先说明一点,整个无人深空所使用的技术的原理和我这个DEMO几乎是一毛一样的,从宇宙的生成到星系的生成再到星球颜色的生成等等。

       本DEMO理论上有3.1310^30个星团,每一个星团有150个恒星系,每个恒星系平均有7个行星。也就是有3.2910^32次方个星球,这一点上可能和无人深空有点出入,说实话我并不知道我这个数字更大 还是无人深空的数字更大,尴尬 - -~。

       镜头和宇宙分离,镜头中宇宙固定区域的渲染技术 采用了大家耳熟能详的过程生成技术,可以使用WASD无缝穿梭整个宇宙。

       基于html5 canvas 2D API 绘制出来的,没有使用任何第三方canvas游戏引擎,所有代码纯手工手写,所有核心代码不超过600行。

       目前版本实现了整个宇宙星图的渲染,简单的恒星系统渲染(公转速度、颜色、大小、轨道半径)。

       另外在实现这个DEMO的过程当中也明白了一些知识和真理,另外在算法方面的知识也得到了提升。

二、操作方法:

键盘 : W A S D (分别代表 上左下右)鼠标:双击星点进入恒心系统。

三、在线体验地址 :

http://case.tiesec.org/noMansSky2d/

PS:

源码可以直接下载下来研究。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap