WAZANA.IO如何在3个月内从2D变为3D?

Wazana.io的历史已经过去了一个重要的里程碑。

新的3D渲染使游戏的图形界面变得非常逼真。 它提供了更好的游戏体验和游戏沉浸感,因此我们的玩家可以在最佳环境中相互挑战。 但是我们如何做到这一点呢? 让我告诉你一个故事…

第一步是找到引擎。 的确,WAZANA并不是传统的io游戏(可在线玩,基于真实地图,可提供多种设计,等等 ),因此,引擎的选择对于计划的下一阶段至关重要。 我做了一个基准测试,看哪一个最适合我们的需求。 虚幻引擎,Unity等我经历了所有功能,工具,灵活性,限制以及浏览器的可移植性。 几天之后,很明显,这些研究的赢家是BABYLONJS,这是一种基于WebGL / Web Audio和JavaScript的3D引擎。 显然,它是立即开发此新版本的最佳引擎。 我喜欢BABYLONJS的原因在于它非常灵活 ,例如,由于WAZANA.io土地基于真实的全球地图,因此我在Engine中需要这种灵活性。 然后,BABYLONJS被一个非常活跃的社区备份了,当您计划在像我这样的Engine上使用零知识编写游戏时,这一点非常重要。

一旦有了引擎,我就开始测试可以做什么和不可以做什么,以对将要面临的主要挑战有一个大致的了解。 主要的是建筑物和单元形状。 在以前的版本中,只有图标在2D地图上移动,但是现在我需要场景中的每个详细形状。 我很快意识到我无法照顾那部分。 我联系了该项目的几位设计师,最终与驻澳大利亚的William合作。 我们一起想象了三个WAZANA.io派系的形状,William向我解释了许多有关游戏引擎和场景参数的概念。 因此,当我在WAZANA.io的主要场景中工作时,William正在设计您今天在游戏中可以看到的建筑物和单元的形状。

完成时,我遇到了新的困难 。 WAZANA.io基于全球地图,在以前的版本中,我使用Mapbox库在世界任何地方创建不同国家的边界​​。 现在,因为必须以3D呈现地面,所以这是全新的,而且难度更大。 在那种情况下,数据源非常重要:我必须找到遍布所有沿海地区的全球基地,以定义地面和水源。 一旦找到该数据库(庞大的数据库),我就必须找到一种方法可以轻松地将其导入游戏中。 我这样做的窍门是,我只是将世界按经度切成片,这样海岸数据就不会太重而无法加载。 然后,通过正确的数据链接到用户选择的城市坐标,我调整了玩家场景中的地面高度。 目前,这是非常基础的,但我计划在河流,道路等进一步的改进中添加越来越多的数据。

最终,我将所有内容放在一起,使其适应原始游戏,完成了一些您原本没有计划的调试任务, 最后有了一个新的3D版本!

wazana.io的创始人瓦伦丁

文章最初发布在 Wazana.io博客上