GDC Day2:图形和机器学习在游戏中的应用

GDC第二天,今天主要集中在Khronos关于图形API和机器学习相关的话题:

1. glTF and WebGL (Presented by Khronos)

gdc

主要分享了关于WebGL2.0更新的内容和glTF文件格式,WebGL作为未来H5游戏的底层API,会变得越来越强大,glTF是Khronos协同几个大公司制定的图形交换文件,可能会成为未来Web端3D模型、纹理(KTX2、CTTF)等资源等文件的标准格式。同时下面几个公司演示了对glTF的支持情况:

  • Windows:提供了相应的SDK。
  • Google:演示了model-viewer。
  • Adobe:3D设计产品Dimension。
  • Moz://a :hub和spoke编辑器。
  • Facebook:3D Posts 和 3D 照片。

PS. WebGL2.0的更新主要由Intel Web Graphics上海团队搞定!点个赞!

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

2. Machine Learning for Everyday Programming (Activision)

gdc

科普了一下机器学习在日常编程中的应用:

  • 大概了解下深度学习和所谓的“浅”层学习及其对比。
  • 特征工程
  • 数据分析和可视化
  • 提出了几个好玩的想法和示例:机器学习协助编程,完成参数的推导,通过数据得到匹配的方程式。

演讲者给出的建议:

gdc

大概内容如下;

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

3. Getting Started with Machine Learning and Artificial Intelligence (Presented by Amazon)

gdc

接着昨天Amazon的一波,今天继续听各位大佬吹他们的技术多牛逼:基于机器学习让服务器根据线上情况进行自动扩容和缩容、为了个性化推荐有一个叫Amazon Personalize的服务、还有就是关于防止游戏作弊的行为分析的。分享的形式依旧是几位大佬台上对话的形式,内容比较多,都没有细节,总之上面几件事绝非想象中那么简单。各位在尝试之前最好做好详细地考察和规划,否则死都不知道怎么死的,需要庞大的系统和技术支持。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

4. Making Use of New Vulkan Features (Presented by Khronos)

gdc

Vulkan做为新一代的图形API,旨在提供高效简洁的图形API,替代OpenGL、Metal、DirectX等。此次分享主要是鞥关于Vulkan的新特性介绍,说实话OpenGL都没有细看过,Vulkan这种底层图形API,不是做引擎开发的,完全无感,介绍几个新的API,貌似很强大,没听明白,总觉得函数名字看着头疼,都快占用一行了。

gdc

gdc

gdc

gdc

gdc

5. Reinforcement Learning in Action: Creating Arena Battle AI for ‘Blade & Soul’ (NCSOFT)

gdc

NCSoft两位AI中心/AI实验室/强化学习小组的同学,分享了他们在一个叫“Blade and Soul”的MMORPG游戏中,1v1竞技场中的战斗AI的研究。他们通过强化学习来实现,所谓强化学习就是说成白话就是:把学习后的结果再次作为数据去训练模型,直到能满足要求。Alpha Go和此次分享中的1v1战斗AI都是使用来此方法。

他们在研究过程中遇到的四大挑战:

  • 极高复杂度:大概只有10个技能的1v1PK的复杂度远高于Alpha Go(在想想我们自己的游戏,技能众多会咋办?那换成2v2、5v5复杂度会变成啥样?)

  • 实时响应要求高:围棋等一分钟走一步问题不大,作为游戏响应时间至少得0.1秒吧。

  • 泛化困难:训练好的AI将要面对是玩家的各种出其不意的操作。

  • 战斗模式:三种不同的战斗模式。

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

gdc

6. 小结

图形学中WebGL和glTF将会变得越来越强大,让Web对于3D的支持会更加完善。机器学习,在游戏开发中用途极广,用于数据分析,个性化推荐,做弊行为识别,为商业决策提供支持,训练战斗AI等等。但是个人觉得,方向正确,道路漫长,在走这条路之前最好先能找到使用小数据能解决问题的方式,一步一步慢慢来,否则大数据做出来的东西,理解都成困难。

David++