skip to content
文章 · 2026年6月 Posts · June 2026

Field Day


威斯康星大学麦迪逊分校 Field Day Lab——教育游戏实时数据监控平台

1. 项目概述(Overview)

在 UW–Madison Field Day Lab 担任数据科学产品实习生,参与教育游戏实时数据监控平台建设,负责需求分析、产品方案设计、数据可视化及核心功能落地。


2. STAR

Situation(项目背景)

实验室研究人员主要依赖游戏日志进行事后分析,无法实时观察玩家行为,也缺少统一的平台对多款教育游戏的数据进行监控和分析。随着支持游戏数量增加,研究人员希望能够实时查看事件流、玩家行为及关键指标,提高研究效率。


Task(目标)

负责梳理研究人员需求,设计实时数据监控产品方案,在兼容现有 OpenGameData 日志系统的前提下,搭建统一的数据分析平台,实现多游戏、多维度的数据可视化能力。


Action(行动)

  • 与研究人员持续沟通,梳理实时监控场景,完成产品需求分析,并设计 Dashboard 信息架构,包括 Session、Player、Population 三层分析模型、游戏选择器及多维筛选能力。

  • 针对现有 PHP Logger 已稳定运行、直接替换风险较高的问题,调研多种技术方案,最终采用 Flask + Flask-SocketIO 搭建 REST 与 WebSocket 中继服务,实现实时事件推送,同时保持原有日志系统不变。

  • 基于 D3.js 开发实时事件流及数据可视化组件,完成响应式前端页面,实现教育游戏事件实时展示及玩家指标监控。


Result(结果)

  • 完成教育游戏实时数据监控平台核心功能开发,实现研究人员实时查看游戏事件及玩家行为数据。

  • 建立统一的数据分析入口,支持 5 款以上教育游戏的数据监控与分析。

  • 在保留现有日志系统的基础上,实现实时数据推送能力,降低系统改造风险,为后续 Dashboard 与 Replay 功能扩展提供基础。


3. 产品思考(Product Thinking Highlights)

  • 从研究人员的实际工作流程出发,而不是从技术实现出发定义产品需求。

  • 将分析能力拆分为 Session、Player、Population 三个层级,满足不同粒度的数据分析需求。

  • 在系统稳定性与开发成本之间做权衡,选择兼容现有日志系统的技术方案,而非整体重构。

  • 将产品需求与技术实现结合,推动实时数据监控能力真正落地。


4. 挑战与解决方案(Challenges & How I Solved Them)

挑战一:现有日志系统已投入使用,无法贸然重构

直接替换 Logger 会影响已有教育游戏的数据采集流程,技术风险较高。

解决方式: 调研多种实时通信方案,最终采用 Flask + Flask-SocketIO 构建中继服务,实现实时事件推送,同时保持现有 Logger 不变。


挑战二:需求在开发过程中不断演进

研究人员随着原型体验不断提出新的分析维度和展示需求。

解决方式: 将 Dashboard 按模块设计,预留筛选器及分析模块扩展能力,便于后续增加新的指标和可视化组件。


挑战三:不同教育游戏事件结构存在差异

各游戏产生的数据格式及关注指标不同,统一展示存在一定难度。

解决方式: 设计统一的数据分析框架,以 Session、Player、Population 为核心抽象层,并通过游戏选择器支持跨游戏分析。


5. 项目成果(Impact Summary)

  • 完成教育游戏实时数据监控平台需求分析与产品方案设计。

  • 搭建统一的数据分析框架,支持多款教育游戏的数据监控。

  • 完成实时事件流可视化及 Dashboard 核心功能开发。

  • 在兼容原有日志系统的前提下,实现实时数据推送能力。


6. 项目反思(Reflection)

这个项目让我认识到,技术平台型产品的核心并不是追求最新技术,而是在理解用户工作流程和现有系统约束的基础上,找到风险与价值之间的最佳平衡点。相比重新设计一套系统,兼容已有基础设施并逐步扩展能力,往往更符合真实产品开发的决策逻辑,也让我更加理解产品经理在技术方案取舍中的价值。

评论Comments