# 游戏玩家进入的下一个游戏场景预测

## 课题背景

用户行为预测其中一个重要方面就是未来地点预测（Next Location Prediction），对挖掘用户行为模式，理解用户潜在目的有着重要意义。

在基于地点的用户社交服务中（Location-based Social Network），未来地点预测已经应用到社交网络、线上点评、外卖、地图等服务中，如客户推荐、商家推荐、路线规划、定向营销等。

在逆水寒等大型MMORPG游戏中，精细化地图模块会占用较大存储资源，游戏玩家在切换地图时经常遭遇客户端卡顿、切换较慢的情况，严重影响到玩家的游戏体验。

因此，精准的游戏玩家未来地图预测可以帮助游戏客户端提前预加载下一个地图资源，为玩家节省切换时间，提升玩家游戏流畅度。

相似的问题还可以迁移到移动应用使用预测问题中，在资源较为有限的智能移动设备上，通过预测用户未来使用情况进行移动应用预加载，可以大幅提升用户的使用流畅度。

## 问题定义

如图1所示，对于每一个游戏玩家，给定玩家信息（等级、经验等）、玩家的历史地图序列、玩家的历史动作序列（购买道具、对战、聊天等）以及玩家之间的交互关系（组队、交易等）。目标是预测玩家接下来即将进入的地图以及进入地图的时间。

![图1：游戏地图预测](https://noterminus.gitee.io/image_bed/images/tu-pian%20%286%29.png)

游戏地图预测可以定义为用户关系网络中的个性化时序建模问题。通用序列模型可以捕捉群体行为模式，发现地图之间的通用转移关系；针对个体而言，不同类型的玩家具有不同的行为特点，在不同情境下也会呈现出复杂的移动倾向；同时，用户的行为还会受到其他用户的影响，例如师徒、组队、帮会等。

游戏地图预测包含两个目标，可以形式化为一个多任务学习问题。同时地图切换时间戳存在非均匀性的特点，玩家的地图切换也可以表示为一个时序点过程。玩家之间存在复杂的关系网络，该问题也可以从动态异质图建模的角度定义问题。

## 问题挑战

该课题主要存在以下挑战：

* 游戏玩家每日产生海量行为日志和切图记录，如何选取合适的训练样本是决定模型效率的关键
* 游戏玩法存在显著周期性，如何学习和融入周期特征也是模型难点
* 地图场景加载可能会影响玩家当前地图体验，因此停留时间的预测精度要求较高

## 评价指标

游戏地图预测主要通过两个指标进行评估：

* 地图预测准确率：地图总体预测准确率，分类别的地图预测精度、召回率与F-score
* 地图切换时间准确率：RMSE

## 数据集描述

数据集主要分为四个部分：用户出入图序列，用户画像数据，用户行为序列，用户关系网络。

* 用户历史地图序列

| 字段        | 类型     | 描述         |
| --------- | ------ | ---------- |
| role\_id  | string | 玩家id       |
| map\_id   | int    | 地图id       |
| timestamp | int    | 玩家进入地图的时间戳 |

* 用户画像数据

| 字段           | 类型     | 描述     |
| ------------ | ------ | ------ |
| role\_id     | string | 玩家id   |
| level        | int    | 玩家等级   |
| role\_class  | int    | 职业     |
| online\_time | int    | 在线时长   |
| total\_exp   | int    | 总经验    |
| total\_gold  | int    | 游戏代币数量 |
| ……           |        |        |

* 用户历史动作序列

| 字段             | 类型     | 描述                 |
| -------------- | ------ | ------------------ |
| role\_id       | string | 玩家id               |
| action\_id     | int    | 动作id               |
| objective\_ids | string | 动作对象id，多个对象id以逗号隔开 |
| time\_stamp    | int    | 动作发生的时间戳           |

* 用户关系网络（以游戏组队和师徒为例）

| 字段          | 类型     | 描述     |
| ----------- | ------ | ------ |
| role\_id    | string | 玩家id   |
| team\_id    | int    | 游戏队伍id |
| teacher\_id | int    | 师傅id   |
| student\_id | int    | 徒弟id   |
| ……          |        |        |

## 相关学术论文

Fuxi-UP团队针对该问题，从多重周期性和时间异质性角度出发，提出深度行为预测框架MATE，工作已发表在[CIKM'2020](https://nos.netease.com/mg-file/mg/neteasegamecampus/art_works/20200812/202008122020238606.pdf)

> Runze Wu, Hao Deng, Jianrong Tao, Changjie Fan, Qi Liu, and Liang Chen. "Deep Behavior Tracing with Multi-level Aligned Temporal Embedding." In Proceedings of the 29th ACM International Conference on Information and Knowledge Management, ACM, 2020.

## 联系我们

有任何问题，请联系 <wurunze1@corp.netease.com>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fuxi-up-research.gitbook.io/open-project/research_topics/map_prediction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
