在2013年年底,Riot的地图团队开始全速更新英雄联盟核心地图召唤师峽谷。这是一个异常艰巨的任务:团队不仅要更新地图的观感,同时还要保留玩家喜欢的元素,而且不能增加最低硬件要求。自召唤师峽谷升级(也可以称为SRU)以来,已经过去了一年多时间,现在回首来看,我有理由相信我们的团队做了一件了不起的事情。升级后的地图更具活力,更加吸引玩家,同时让游戏更具竞技性。在这篇文章中,我将介绍我们在这个项目中克服的一个困难:战争迷雾的优化。

召唤峽谷旧新版本对比

当地图团队拉开召唤师峽谷更新序幕时,每个功能,每个创意,甚至每个半夜梦到的东西都一一摆上台面。总体艺术方向和风格是什么?我们在地图的什么地方可以收缩移动路径?或者我们在地图什么位置可以添加新功能?河流的走向又要如何设计?当他们开始对新地图做改进,尝试一些新的资源时,某些事情像手指疼一样折磨着我们。其中一个就是战争迷雾—地图中那些黑暗的区域,包含隐藏地图,团队可以通过英雄,技能或者侦察来破除战争迷雾。艺术家已经知道战争迷雾有一些视觉保真度的困难,但在新地图的水晶效果背景下,这是很难看的。

旧的战争迷雾在新地图开发版本中的效果图

旧的战争迷雾在新地图开发版本中的效果图2

注意九尾狐视野边缘的锯齿和渐变的离散度。这两种情况都是视觉分散的游戏体验。在召唤师峽谷升级以前,这些问题因环境的高频细节,是不易察觉的。(旁白,请注意最终改进和抛光处理后的版本与前面开发版本的比较)

消除分离渐变是一个没有尽头的工作,为了一个简单的可视性标志,我移除了一个离散梯度的概念。不幸的是,几乎没有直接的办法可以消除战争迷雾的锯齿以达到边缘平滑。构成英雄联盟可视化系统的一些低分辨率数据导致一些底层问题。为了节省资源,让游戏可以在低性能的硬件上流畅运行,我们通常特意将一些元素以低分辨率存储,如阴影和视觉效果。在战争迷雾中整个地图被一个128x128网格所覆盖。

一个显而易见的简单办法是通过战争迷雾来解决。然而,在调研过程中我发现相关代码存在性能问题,一个流行的双倍256x256分辨率即便使用四倍的CPU成本仍然会遇到不可接受的性能问题。代码重构是一个有意思的挑战,但在我们的计划中没有足够的资源来做这件事情。我开始在底层数据不变的情况下寻找方法来改善这个情况。

使用战争迷雾渲染之前,我们已经对128x128数据做高斯模糊处理,所以我想如果增加模糊度,有可能隐藏难看的锯齿。不幸的是,它们并不是这么容易就能搞定的。首先我注意到,当前的战争迷雾渲染代码不支持一个可分离的模糊处理。如果你利用图像过滤器的可分离性,是可以使用更低成本达到相同或相似效果(在这种情况下是指模糊效果)。我还知道一个比较流行的技术,可以巧妙地利用线性纹理采样,以进一步降低模糊成本。我开始尝试使用不同的模糊类型和技术,但是同样的128×128图片,过于模糊,而且速度太快。出于玩家的明确需求,游戏设计师希望在可视区和战争迷雾之间的过渡可以严格遵循设计效果。所以我需要在一个狭窄波段内做一个平滑的,视觉上令人愉快的过渡。很明显,我需要更高的分辨率来达到这种效果。

我面临一个艰难的决定,我是不是要咬紧牙关,找时间来重构整个可视化系统?我准备和产品经理坐下来聊聊,我突然顿悟,对游戏造成影响的不是底层数据的精度,而是它的视觉表现。巧妙地将数据从128x128升级到512x512(足以实现在狭窄波段内平滑过渡的目标,我曾以为会很大)可以极大的提高战争迷雾的外观。经过集思广益和深思熟虑,我想出以下简单的升级方案:

每一个像素变成一个4x4的反锯齿块,一劳永逸地解决锯齿问题。QQ账号卖号左边的 2×2块代表一个原始的像素(红色部分)和三个相邻的128×128图片。右边的4×4 块代表一个升级后的512x512,全部使用灰色像素或者反锯齿来缓解过渡。总共有16种独特的模式。下面是拍摄的一个对比

128×128 FoW (4倍缩放)

512×512 FoW (升级后的4倍缩放)

512×512 FoW (升级后的4倍缩放并且经过模糊处理 )

我终于打败了锯齿?你可以看到,原始数据升级后,可以很好的削除锯齿。这种技术的高级版本已经使用了一段时间。如果你在一个老游戏机上面使用模拟器,你可能已经体验了这种技术,如果你感兴趣,有一篇2011年的论文和相关主题的文章。

在召唤师峽谷的开发过程中,战争迷雾产生了很多复杂性,功能和一些彻底的失败,但我想告诉你一些糟糕的细节,好吧,可能只是一个糟糕的细节。虽然还不清楚,但旧的战争迷雾确实让我们的地图过于暗色化。

旧的代码确实让部分地图过于暗色化,导致完全清除了战争迷雾。这意味着艺术家所创造的每一种质地都比预期稍微暗淡一些。没有人注意地!我刚刚战胜了可恶的锯齿,但我充满了信心,并同样搞定了暗色化问题。我只是简单地将色彩可视放大参数从差不多0.9调整到1.0,现在游戏界面明亮了很多。

当前地图中的战争迷雾 图1

当前地图中的战争迷雾 图12

我非常乐意倾听来自于您的任何反馈,并尽我最大努力回答你的所有疑问。谢谢!

《英雄联盟》核心地图召唤师峽谷:战争迷雾的优化相关推荐

  1. 英雄联盟LOL地图修改.三种地图任由你改.

    这个方法是我最近才研究出来的,自己也一直在用.每天玩这个英雄联盟,看着召唤师峡谷这张地图是不是有些厌倦了呢?我就有这种感觉,现在我来教大家吧. 召唤师峡谷的冬天 是不是有种很清新的感觉? 我来教大家怎 ...

  2. no amd graphics driver怎么解决_《英雄联盟手游》卡顿怎么解决 游戏设置优化教程...

    导读 很多玩家在玩英雄联盟手游的时候都会发现使用起来比较卡,就算是借助了其他工具也是很卡,遇见这样的问题我们就需要进行优化,这样才能够玩起来比较的流畅.对于英雄联盟手游优化的方法,大家可能都不是很清楚 ...

  3. 在英雄联盟地图中寻找“数据结构的大门”

    作者 | 韩小乐  责编 | 张文 头图 | CSDN 下载自东方 IC 来源 | 乐享Coding(ID:hhl_1393603513) 英雄联盟里的数据结构 程序=数据结构+算法 不知各位有没有玩 ...

  4. 英雄联盟世界的地图抓取与分析

    0.背景 S11比赛正在如火如荼的举行.作为一个S3赛季的老玩家和地理人,我想从另外个角度带你了解LOL的世界. 1.数据获取 1.1数据初探 英雄联盟推出了其世界地图网页版,访问地址为:https: ...

  5. 杂谈:英雄联盟和魔兽

    一直从大学开始玩魔兽冰封王座,对魔兽的地图都有很深刻的印象,因为魔兽的地图编辑器实在太过强大.很多diy的玩家都乐意去创作很多有趣的地图. 最近转向玩英雄联盟,我是个菜鸟级的,玩竞技类的游戏我总是玩不 ...

  6. 英雄联盟开发linux平台,/开发者:任务系统

    大家好.我是游戏设计师"Revenancer" Evan,今天我来和大家聊聊即将到来的新功能-任务系统. 我们中的大部分玩家已经在英雄联盟中度过了几十,数百,甚至上千个小时了.要在 ...

  7. 数据结构入门概述笔记,结合英雄联盟游戏举例,通俗易懂!

    数据结构入门 已同步微信公众号乐享Coding,欢迎关注! 程序=数据结构和算法 不知各位有没有玩过一款名为英雄联盟(LOL)的游戏,或者王者荣耀的MOBA类游戏,因为这是数据结构的第一篇文章入门,只 ...

  8. 【笨木头Cocos2dx 041】战争迷雾效果 第4章_真正的迷雾来了!

    错过了前面章节? 没关系,传送门在这: 战争迷雾效果 第1章_要探索,不要地图全开! 战争迷雾效果 第2章_先把地图加进来 战争迷雾效果 第3章_准确地获取屏幕上的瓦片位置 经过这么多铺垫,我们要来正 ...

  9. 《英雄联盟》——召唤师峡谷模式 游戏设计元素分析

    <英雄联盟>--召唤师峡谷模式 游戏设计元素分析: 前言 玩家 游戏目标 规则与行动 挑战 成功的因素 前言 本文只针对<英雄联盟>这款游戏中的其中一个模式<召唤师峡谷& ...

最新文章

  1. Python网络请求urllib和urllib3详解
  2. jrebel不能使用ajax,Jrebel不生效的原因和解决办法
  3. Could not resolve the package 'english_words' in 'package:english_words/english_words.dart'
  4. lin通信ldf文件解析_手把手教你在CANoe中创建一个LIN通讯工程
  5. 【ArcGIS遇上Python】从入门到精通系列之第二章:ArcGIS Python基本语法基础速递
  6. Flink 与 Hive 的磨合期
  7. .NET Remoting Security使用小结 – TcpChannel
  8. 4g网络切换软件_5G 网络NSA与SA模式 互操作策略研究
  9. 【Spark工作原理】Spark任务调度理解
  10. angular 生命周期钩子 ngOnInit() 和 ngAfterViewInit() 的区别
  11. 新建一个express工程,node app无反应
  12. 拓端tecdat|如何从xml文件创建R语言数据框dataframe
  13. mysql注入多语句执行_MySQL注入总结MySQL暴错注入方法整理
  14. 微信ipad协议源码
  15. LCD12864 液晶显示-汉字及自定义显示(并口)
  16. 威纶通触摸屏的自由口通讯
  17. 扬天t4900d u盘linux,联想扬天T4900d台式电脑u盘启动设置方法
  18. 笔记本电脑如何安装Linux系统
  19. faster-RCNN tensorflow-gpu环境配置及安装出现的问题
  20. 初一作文写作技巧,中学写作文的七大技巧

热门文章

  1. Mysql的普通索引复合索引执行优化
  2. 看好友抖音显示服务器,抖音怎么看访客记录 抖音7天访客记录查看方法入口
  3. 大数据揭秘:怎样才是高效率的工作?
  4. 【安全设备】面试·HVV专题
  5. 虚拟机启动后黑屏无法进入系统的解决方法
  6. Find系列回归背后,OPPO的探索精神有了新定义?
  7. 退役后,他们在抖音找到人生的另一种可能
  8. 软件设计师 计算机网络
  9. 物联网为主流技术带来减肥运动
  10. 择天记小说 全本html,择天记小说结局是什么_