网站公告 | 泰课在线2017年双十一活动11.7~11.17全站6.8折,三大活动点击查看
查看: 183|回复: 0
收起左侧

从Steam上所有游戏名称看出开发商最喜欢给游戏取什么名字

[复制链接]

从Steam上所有游戏名称看出开发商最喜欢给游戏取什么名字[复制链接]

懒洋洋 发表于 2017-8-29 20:13:06 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式 回复:  0 浏览:  183
互联网时代,大数据分析已成为了一项极为有用且有意思的学科。用马云的话来说,通过大数据分析,“全中国胸罩最大的是哪个省?我都知道!” 那么,我们也来小试牛刀一下,通过数据分析看一看,游戏开发商最喜欢给游戏取什么名字。# j# |; {0 _2 ~0 n1 Y
: _# r3 c: _1 M) ~
目标0 y8 [2 T/ N( M5 C+ x

" ~( q# h' }$ u: j" O7 j通过分析Steam游戏库中的全部游戏名称,尝试罗列出出现频率较高的词汇。
  c( p  f$ D: w  L) ?: i
* D" ]1 x/ p  y& H; A. }范围+ ^% u. y- c5 f5 ]& @$ g: ^! n
+ }% ^# f$ {8 Z+ L. P
一开始,我便将数据采集范围锁定在了Steam游戏库之上。事实上,对于本文要研究的问题, Steam也许并不是一个非常理想的数据库。相比起VGchartz等包含全平台和全年代的游戏数据的网站来说,Steam的游戏库容量有些太小了,但是Steam作为一个现象级平台,有很多除了标题以外其他有意思的数据可供挖掘。而且其数据量较小,分析起来也比较节省时间。  |+ u0 J' Q3 I+ _

$ P$ e1 }, S* k) S
DSC0000.jpg

# \# F! |3 y$ }. V
& ]2 C) G  P9 T9 G1 G另外,为了方便分析,本次统计过滤了Steam App库中所有DLC、软件和视频等。一开始我并没有过滤这些内容,但发现结果偏差太大,并不合理。例如Steam的视频栏目下有很多动画和剧集,一放就是好几季(死神和行尸走肉啥的,国区貌似没有),导致了这些剧集的标题单词高频出现,影响统计可靠度。至于DLC,其标题也会重复出现其游戏本体名称,影响结果。. D2 Y  @1 `9 z, W+ N. }% M( F
: p/ {; D/ {  a2 @. n) Z
工具/实现
. A# J" q. n( T* V( K6 ]9 M8 ~9 e: V9 P- |. G2 J8 n4 A  @# h$ y
分析程序基于Java语言,主要分为数据获取以及文本处理两大模块。程序引用了GSON与Jsoup两套API,分别用来解析Json以及HTML文本。6 Q/ j3 ?. X* y% w
( H% d  [) t6 o4 {6 F' d
DSC0001.png

/ \- q' m( i) s" b. k
(对以下具体实现部分不感兴趣的同学请直接略过)

+ j/ n, f. y( w. [0 `" E& ]5 {( z: h/ B! l+ x$ w
数据获取
8 A( Z5 P& V9 a1 S9 y2 ]( s/ @
! f) u' e! z9 e' G2 S/ BSteam对爬虫是比较友好的,但是本弱鸡一直没有解决锁区和年龄限制的问题,导致大量数据遗漏。被迫无奈,我只能曲线救国,在获取了Steam全部APP的ID之后,改到SteamDB之上运行爬虫程序。
8 V- q  G0 F; g. P. C
' u$ T3 T( A8 t7 a  t  L3 c0 _; X0 g) TSteamDB有着相对比较严格的防机器人手段。在添加了Header伪装成浏览器访问之后,我又在每次访问之间加了个1.5s-2.0s的随机间隔时间,防止被Ban。即便如此,一开始我仍被Ban了一次,原因是原程序中有一个访问失败则休眠20s之后尝试再次访问该网页的功能,导致受限后继续频繁访问,最终被ban。在换了个新IP之后,我把这个功能删除了,访问失败之后手动关闭程序再开即可(有中断记录),最终成功获取了所有数据。. y; o! ^" w  S# d

+ a& @; [. T, b4 r: [
DSC0002.jpg
  f- h1 I! i% z; p# K# L) l3 f, k

' q9 @6 z0 V# z文本分析. T! h6 z5 M" H# ]- {
* D$ Q% F% o8 g# H
在本程序中,我仅仅用了最简单且传统的单词分割方法作为统计标准。因为库中大多数游戏还是以英文名为主,所以对于每一个游戏名,首先将其中所有非A-Za-z的字符替换为空格,接着将改标题转化为小写,最后根据空格分割成单词。* w: r% ^. w) ]2 _# k
5 L9 w: v+ i7 \/ ?: x8 V$ \
当然,为了使统计更有意义,我添加了停用词列表(Stop Words),除了一般的“a,the, of, with”等介词冠词,我也在这个列表中加入了不少针对游戏的特殊高频词语,例如“edition, HD, remastered, episode”等等。) T1 L8 G+ @* c$ R7 u- Q

0 d  [' Z, R4 p最后,我们就可以非常开心的把剩下的所有单词扔进HashMap中推算每一个单词的出现频率了。
* q8 z* f) q* K
4 X* W% l, Y% [& K/ v
DSC0003.png

. `' d" R2 a9 m7 m3 N; W6 s4 F0 A8 a/ K4 U1 t6 Y
统计结果# i+ P# K' Y- R6 S" |$ H5 a
/ e4 i8 m2 {9 G8 N
闲话少说,咱们书归正传(这就说的不少了)。不过,在谜底揭晓前,大家不妨先猜一猜,哪些词最受开发商的青睐?
' X& H/ w( W& `# i, }8 |- m8 t! [
) n) j# V5 t+ z( C1 W
DSC0004.gif
+ x, h& [1 Z0 ?; A3 @3 n9 k
1 V+ J/ h9 }) N3 x
! S1 y, \& @5 F$ q/ p( y7 m' Q
第一名:War
' c" U$ `. O5 n0 w" g
“War! War never changes.”
7 z6 S. p! v5 j7 r; j
+ R6 u4 z- K' M" U# n% c
“战争”名至实归的拿到了本次分析中的冠军席位。在还没有电子游戏的时代,“战争”就已经是最古老的桌面游戏甚至是真实博弈的题材之一。大到军事模拟沙盘,小到各类棋牌,无一不是对战争的模拟重现。在电子游戏问世之后,游戏制作者也尝试将“战争”这一永恒的题材带给玩家。无论是射击游戏,经营游戏,即时战略还是角色扮演,也不管是奇幻,历史,科幻,写实,都可以在“战争”这一框架下编织出精巧的玩法与剧情。所以,War斩获今天统计的榜首,真是不足为奇了。9 z5 W# j3 D: y: s" ]
. v6 z3 `: E8 M. ?3 _* T5 E! q8 s
DSC0005.gif
+ S7 _4 U, F; }/ T
也不乏有游戏表现的是对战争的反思
5 e: Y. R7 h! U) o# z6 P% m- Q+ `
( o: y6 y5 F5 m: _! E0 B

% |# r$ U  ~$ O5 j' ~9 v% k8 o9 m# y第二名:Space
6 a  {! i) Q3 W/ X4 v1 [“人类的征途是星辰大海!”
( l0 ?& o: E4 G9 ]! h5 t! ~+ q% _; A/ k. Y
事实上,我对“太空”出现在榜单的第二名是有些吃惊的。我相信这个结果带有了一些steam平台本身的气质。从坎巴拉太空计划(Kerbal Space Program),到太空工程师(Space Engineers),乃至无尽太空(Endless Space),都带着浓浓的Steam风格。对于这些游戏的制作人(很大一部分是独立游戏的开发者)来说,“太空”大概是他们最爱的题材之一。与第一名的真实感与厚重感不同,“太空”题材带有浓重的幻想精神与浪漫主义情怀。无论是太空歌剧,宇宙战争,还是太空飞船模拟,都可以在玩家群体中找到属于它们的一片天地。: r7 A" ]; j& K) ^4 ]; @0 |
5 B" e4 \8 f3 o9 N; o1 u: w% ]
DSC0006.jpg

6 Y! o9 `2 U9 g; j7 X2 i4 Z
坎巴拉太空计划
( f) J0 Q+ A9 k, Y0 R
/ g$ }4 N" x' k* f4 K
第三名:World! X# `! _4 ]5 C: h3 u$ L3 H6 h4 y
“一花一世界,一叶一菩提。”8 Y3 V# d) M9 f' Q3 H
) r8 j/ y1 |$ o
中文里,“世界”一词来源于佛经,追溯其源头乃出于佛教,“世”为时间,“界”为空间,涵盖了时间空间不可分隔的道理。( S1 a1 A2 q  P. S7 {7 n, C& Q
) a- m2 L3 O* p% R! D* F" n
事实上,每一个游戏都有他们独特而富有魅力的世界,我们通常称其为“世界观”。对于一些以世界观为卖点的游戏,开发商自然而然地将游戏名取成《XXX World》亦或是《The world of XXX》,更别说还有一些游戏名为了标榜自己规模庞大,特意在前面加上“World”的限定语了。超级马里奥世界,魔兽世界,坦克世界,战舰世界。哇!真是拿脚趾头就能想出很多很多。该说是开发商起名偷懒呢,还是说“世界”这个词实在太好用了呢?:-D
8 y; \" T/ }- B0 z. Z
6 ~6 K! S% J' ^9 ^) f
DSC0007.jpg
2 R! v" Q* g4 ~7 z! O+ V2 {; [
魔兽世界的世界(虽然不是steam游戏,但很具代表性)

+ `8 ^$ s, h2 C1 n/ S0 k# x3 X/ Z6 ?0 `" \# `
改进建议9 M( A9 [1 E+ d! i" M6 n

/ Y& ^( ~) _9 z: a首先做自我检讨:不论是“语言分析”还是“信息检索”,我都不是专家。这篇文章也仅仅是一个兴趣使然的自我学习过程。如果有走过路过的大神,请原谅我的班门弄斧,多提宝贵意见。这次统计当然也有一些可以改进的地方:: V' _+ p8 d7 k+ @; J1 j
7 _2 C1 R5 _6 V
1.在数据获取阶段,理想的目标对象应该是IP而非游戏本身。对于一个游戏系列,其续作出的越多,名字在库中出现频率也越高。对于我们想要研究的问题,这样的统计其实是不太合理的。但是另一方面,系列作品得多少从某种角度也代表了这个游戏的受欢迎程度,再加从Steam库中合并游戏系列确实有些困难,故本次统计分析仍然是针对游戏个体而非系列进行的。
; N) p( h) S+ F' b+ {1 D# @' S/ S1 O
2.在这次统计直接排除了所有DLC,这一做法其实也有待商榷,毕竟很多DLC都有自己独立的名称。这个问题其实可以通过从DLC标题中除去本体游戏名称的方式解决,但是由于我在处理阶段没有建立DLC与其本体的关系,这个功能最终没有实施。8 A2 f9 l9 \* \3 P3 u4 a( g
# ]9 N; o7 c; }$ g$ w( a
3.我们知道很多游戏名称都是生造词,而在本次分析中,我没有对每一个单词的内部构造进行解析。比如最近的新游戏Hellblade就是由Hell与Blade两词拼接而成。同样,我也没有对单词的不同变形进行统一,比如名词单数和负数形式没有合并。虽然对于我们来说这种组合或者变形非常明显,但是让程序完全掌握这种规律则需要比较复杂的算法,故在本次分析中也不再做进一步研究。7 V) o) Y- N4 }! n
4 U' d  z* F& j6 A
注:数据截止于2017.08.236 C% e* i& n3 \: E6 _4 e
) B5 s$ r* M& J- R: [7 d
附录:! T9 a2 B; M/ H) b8 H* V
' H2 O9 P& D# P
Steam游戏名常用词汇前一百:
- l* Q; J8 g. R+ Y* e4 P4 m, |) ~1 n0 K: W4 V, g0 B2 V( M
篇幅关系,这里只着重分析一下我们的前三甲。而下面则是这次统计中排名前一百的单词条目。跟你们的预测是否一致呢?0 q" C; Z  j, P, X
' r- g+ W, `$ K& l
排名.单词:频率8 I: C3 J; P8 E3 t6 [) g
3 ^6 \2 V$ \; X6 J
1. war:224+ k! n& a' a2 K. J* l
2. space:201. o# M* z4 u* t
3. world:194. G1 `, Y5 K6 V6 `' `+ S( S
4. dark:153! A/ q# z6 E8 j) }
5. heroes:1403 }6 Y; U; P  y3 M" a
6. super:137
0 r1 `4 A/ W: @& Q8 l7. battle:128
5 N: N& U! v# |+ u# w9 W  {- Z) L! D8. quest:127
4 n0 J& @3 a( u+ B- M: U" l9. lost:1202 _, y- N, S8 a$ U" ^5 d0 h
10. adventure:118( e/ i* E. W1 i2 w
11. dead:1183 Z+ B1 O/ O& ]% [
12. star:110$ i$ V; n  S1 ]; T8 E, H8 U# v
13. wars:1022 E- q6 B5 ?$ w
14. last:98; n2 }. ?. x1 J) y
15. one:980 H+ Y$ I4 V) v0 a/ y2 |
16. time:968 R% o, h4 l# P* m5 V
17. manager:91! R8 u0 K0 c' S7 d. |, @
18. island:88
4 v& k2 ]8 Q4 ~19. escape:85
$ b+ q: L4 a* F& I4 W% A- ]20. city:84  m( d# V) g6 Y5 e7 O3 X
21. zombie:84
9 g& M9 |$ o- R) J22. gold:83- S& _  [5 S- g) E
23. life:83
5 A  M7 z- Z- `% c, i3 g24. dungeon:82
! ^; J& w' p* b25. adventures:79* t* F* T( p+ ?8 S
26. tales:774 V0 @/ M: H6 \. J, f4 z( E& W7 q# k
27. red:753 v- |. t( B, w1 n/ ?, f
28. black:74
2 g1 j+ v6 _& A) ]29. magic:73
( Q4 m% Y+ a, U' k8 Z9 n- x1 @0 H' z30. night:73& G* t* y7 D, V! L
31. arena:729 f6 e' P1 A& n( }' D  }, J
32. hero:72
5 v2 A4 ]7 n9 S  i7 t2 S7 A) k( @33. dragon:69
8 c  ?2 D9 S, W. W/ F34. project:685 T8 s$ d# V3 C6 M/ p7 g+ e
35. age:67
( ?! @  J3 R$ N+ N$ L4 o$ S3 G* v36. final:66
0 |& T" D! f" _8 v* `37. defense:66- |# w! C, t( V2 H& g6 ]; s% i
38. death:65
3 @1 p- M- N, {, }) ]( x1 y& b39. legends:630 E' s; {" z) @" U" q
40. sky:62
7 o5 S+ d* t& c41. call:62& N! ~; J4 u, @3 A+ j1 c+ [
42. planet:61: B( w' z- m. }1 O0 q4 F7 y
43. blood:61) x  L8 D' x  L0 R; _( e! O
44. tower:60
* W  e" M  Q/ x4 W45. mystery:59* J. t6 e4 l9 l; Z+ S# c% |
46. light:599 X% n9 e6 a! o5 c, g' k7 n( d
47. ultimate:59; f, [  @+ L! z8 N( T2 q
48. racing:584 B. X' k5 u/ Y+ A# K
49. earth:57+ Q5 ~9 z$ r" ?' k2 m
50. shadow:578 K% L# D) r9 P9 c4 _" h
51. journey:56  D% Q  M% B" v3 m
52. king:56, S* w' ~7 {5 C6 f, i( G7 M
53. rise:56/ q+ \( M% G) B- d) e8 B
54. story:55- W' l* i& p8 x! i- U: a- q) ~: V, N
55. day:54
9 t/ {) H" ]" Y3 T" v% D56. puzzle:54
+ U+ s' X1 E4 [( A# A( s57. hunter:54
$ a$ M9 K" L7 C4 s* I" e5 r" S3 |; m6 t58. chronicles:54. |- E, `+ Q5 X9 A. l
59. die:536 m. X! S' [: ^2 w* W' l9 y+ O$ t
60. legend:53
+ _' k0 `6 m9 z( g6 _. w8 ]61. tycoon:532 m9 @8 o% T3 d; x
62. fantasy:53
" `# ^4 b9 s- j; m0 Y! U- B! p63. you:539 t- L' l* l9 U, s: o0 d* q& ~
64. evil:52
, f% K; O7 ]4 u8 i65. pixel:52' N' Q8 B- f8 L" V
66. kingdom:52
2 S- ?* ^$ i+ Z7 `% j; R. q67. football:51
; ?9 q+ D5 L! o& s! H+ s& {- h68. secret:49; ?. Q4 P$ K( r, T6 q- O/ D
69. man:495 ?3 b6 s6 }3 S  N+ H
70. tale:49; e# g& q2 b1 J
71. legacy:49! b6 k. f, h5 I( @# x
72. beyond:49
% ~) q6 \' x2 S5 _/ y: _& j. h73. vs:48) ?  F- y& S! e  G) V7 i" f7 S
74. force:485 H: k" z, b% m/ I7 g! N3 o% c8 k* v
75. your:488 n1 u% B+ [- N* d
76. empire:48
6 B9 w: P/ b1 Q77. love:46
. [* m0 H8 {& k78. dream:45) G2 e: \: z: z: j6 J% H) H
79. dawn:45
! q( O, E$ |' S9 q80. storm:454 H; p# m4 l4 A( @7 N" [
81. strike:44# B2 {; \: b, k* t# r0 J/ j
82. warfare:44, e/ }/ Z" n1 r$ x: v. s2 q
83. run:44/ F  \7 c; n, T' v
84. fall:44
7 `, o6 u' E( T, k; v85. home:441 b: E# `1 f2 A/ \" P5 H. S6 n
86. rogue:44
2 P+ c! v! c& k' ^  D" }2 k7 L87. zero:44& L" x' u( I/ v) A  I
88. up:43" M+ n" l% N8 x7 E- F" a, B, A1 T
89. rising:43* F. {6 d4 o+ x6 b* ]
90. sam:43" }, n( V# Q$ V5 s/ M# q2 G
91. no:422 C! l  F. U5 U; l* ~( s* U4 t( G5 X: ^: G+ A
92. master:42$ q+ q5 a, e6 s" L" U' M
93. darkness:42. A% P8 a* F' }: v6 p
94. survival:420 c5 I, C0 E: ^; Z; |: a8 E
95. tactics:42
( X4 B  ~/ n. k  J7 h0 G" J; \96. bit:425 v. ~. E2 c! i! n( B9 Q( C" ?
97. order:41
/ D& O/ C5 ^& c5 i- h+ h98. classic:41* q" ]0 l% C$ o- }8 }+ W0 S
99. max:41) q# r5 m* J1 F7 Y( P$ B' @
100. saga:41; r: _# P( T8 P; o' i4 K
9 @6 O- R5 e3 ^: M6 c* F
把前五名融合到一个游戏名称里大概就是《黑暗太空世界:战争英雄》(World of Dark Space: War Heroes),简直是一个有着强烈既视感的大俗套名字。! V' u7 p6 F  S& ?" _9 T# z% }+ x* S; J

% R2 L' ~% o; d) e3 ~) \* O% x2 k
DSC0008.jpg
4 T% K& [- |0 r7 I
根据单词出现频率生成的文字云(生成:wordart.com)

% t' i9 Y( n/ _2 Z; q0 f  R
1 {, \2 Q2 n2 N( l2 Uvia:机核, _3 ]/ T) V, u* E* Z7 @$ J

' ~, x! F6 s# o& w" M0 c2 V- b+ `7 p/ [: K$ h2 u
Steam, 游戏名称
* H. M6 e/ ~- A+ W7 R
% \0 N) D5 a5 ~0 @* Z& a
( g8 \7 Q' @+ L/ O, l
+1
174°C
沙发哦 ^ ^ 马上
最近访问 头像模式 列表模式
因分享而快乐,学习以自强!

本版积分规则

VR/AR版块|Unity3d|Unreal4|新手报道|小黑屋|站点地图|沪ICP备14023207号-9|【泰斗社区】-专注互联网游戏和应用的开发者平台 ( 沪ICP备14023207号-9 )|网站地图

© 2001-2013 Comsenz Inc.  Powered by Discuz! X3.2

1
QQ