本文由火星电竞产品顾问Alan原创
电竞!棋牌行业后的下一个大风口?
自从官方明令禁止德州扑克、腾讯等公司全面下架彩票玩法后,棋牌游戏也批不下来新的游戏版号,大量的棋牌行业企业面临转型。而同时在竞技领域 英雄联盟全球总决赛的观看人数超过了NBA总决赛的观看人数。在这背后是由于社会的转型和发展,导致年轻群体热衷与电子游戏,王者荣耀在活跃人数已经在上亿级别,大量的年轻群体只接触电竞,接触体育较少,电竞背后的巨大流量和潜力也开始被资本关注。
可能由于这个原因 大量棋牌行业从业者 开始入局电竞,但是呢基本上所有人都不懂电竞怎么做,包含那些元素,层级关系是怎么样的,怎么设计数据结构和数据库表
本文我们主要是来将一下 电竞产品的核心数据模块怎么设计
一、数据结构
赛事(Series)
意甲代表联赛事件的发生。 欧盟LCS联赛每年有两个赛事:2017年春季,2017年夏季,2016年春季,2016年夏季等。
比赛(match)
两个战队对战构成一场比赛,一场比赛又分为好几局,如bo5的意思为5局3胜 在2017年夏季举行的欧洲LCS中,A组的比赛是:G2 vs FNC,MSF vs NIP等。
小局(game)
一场比赛bo5分为5个小局,第一局,第二局等等
1.3.1 基础数据的数据结构
基础数据有游戏、赛事、比赛、战队、玩法等5项数据
基础数据定义一些固定的数据,比如比赛 RNG vs EDG 中含有战队RNG,战队RNG的ID是永远不会变的
比赛 RNG vs EDG 下的全场胜负玩法中含有基础玩法全称胜负,基础玩法全称胜负的ID是永远不会变的
1.3.2 胜率数据的数据结构
胜率数据在具体某一场比赛下,即比赛详情接口,比赛详情下就是这场比赛的玩法数据
玩法所属的基础玩法有个层级字段对应玩法属于那个层级的 全场/第1局/第n局
基础玩法放到具体某一场比赛下就可以组成一个玩法,玩法ID,基都是不同的,础玩法的ID是不变的
二、核心数据框架
2.1 数据概述
整个电竞竞猜 由基础数据和实时胜率数据组成
基础数据:游戏、赛事、战队、基础玩法、比赛
实时胜率数据:实时的玩法数据和选项胜率数据
2.2 数据获取方式
自己去写爬虫,或者直接接第三方写好的数据(例如https://www.marzsport.cn/)
通过接websock接收第三方数据和定时请求的方式去获取数据。
举例:胜率实时推送
{
"channel":"odds", //数据类型(odds胜率)
"data":{
"event":"update", //事件(数据更新)
"data":[
{
"id":15178, //选项ID
"match_id":202, //比赛ID
"odds":"2.27", //实时胜率
"last_update":"1607882993", //最近更新时间
"status":1 //选项状态(1开、2锁、4封、5结算、99取消)
}
]
}
}
三、数据字段设计
3.1 游戏数据
游戏接口设计
{
"id": 1, //游戏ID
"name_cn": "DOTA2", //游戏中文名
"name_en": "DOTA2", //游戏英文名
"tag": "DOTA2", //简称
"logo": "XXXXXX" //游戏logo
}
3.2 赛事数据
赛事数据设计
{
"id": 22, //赛事ID
"game_id": 6, //所属游戏ID
"name_cn": "ESEA MDL北美 - 保级赛", //赛事中文名
"name_en": "ESEA MDL North America Relegation", //赛事英文名
"logo": "XXXXXXXXX" //赛事logo
}
3.3 战队数据
战队接口设计
{
"id": 8, //战队ID
"game_id": 1, //所属游戏ID
"name_cn": "VG", //战队中文名
"name_en": "Vici Gaming", //战队英文名
"logo": "XXXXXXXXXXXXXXX" //战队logo
}
3.4 基础玩法数据
基础玩法数据设计
{
"id": 3, //游戏ID
"name_cn":<