查看: 488|回复: 0
收起左侧

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

[复制链接]

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

懒洋洋 发表于 2017-8-29 20:13:06 [显示全部楼层] |只看大图 回帖奖励 |倒序浏览 |阅读模式 回复:  0 浏览:  488
互联网时代,大数据分析已成为了一项极为有用且有意思的学科。用马云的话来说,通过大数据分析,“全中国胸罩最大的是哪个省?我都知道!” 那么,我们也来小试牛刀一下,通过数据分析看一看,游戏开发商最喜欢给游戏取什么名字。& ~3 d! L* Q9 T5 g0 L( {4 ]1 W5 ^
  u0 |$ E* N9 j2 y( L' z
目标% e$ e& W, u0 o6 M5 O$ t

3 C$ {' s0 P7 n* K9 N9 I通过分析Steam游戏库中的全部游戏名称,尝试罗列出出现频率较高的词汇。2 G/ h2 w% a3 M- S4 y

3 v/ A/ E% Y  J3 g( p范围
/ u$ x- [% i. ^+ S! x' g
* B  E+ {5 X, Q8 X. J% \$ p一开始,我便将数据采集范围锁定在了Steam游戏库之上。事实上,对于本文要研究的问题, Steam也许并不是一个非常理想的数据库。相比起VGchartz等包含全平台和全年代的游戏数据的网站来说,Steam的游戏库容量有些太小了,但是Steam作为一个现象级平台,有很多除了标题以外其他有意思的数据可供挖掘。而且其数据量较小,分析起来也比较节省时间。
3 I" k( M6 o5 ?& T7 {/ {* s8 u/ V8 }. G
DSC0000.jpg
' v0 s$ O( T0 z% @9 Q0 B) e
# ?  x0 X6 [/ [2 |/ g
另外,为了方便分析,本次统计过滤了Steam App库中所有DLC、软件和视频等。一开始我并没有过滤这些内容,但发现结果偏差太大,并不合理。例如Steam的视频栏目下有很多动画和剧集,一放就是好几季(死神和行尸走肉啥的,国区貌似没有),导致了这些剧集的标题单词高频出现,影响统计可靠度。至于DLC,其标题也会重复出现其游戏本体名称,影响结果。7 J6 W; \, E- T  Q# n

. i3 I# ?/ R+ w: a, P2 @1 A工具/实现
! e1 b  w0 q* t( M; R- b) q- ?7 c: J* r6 O% s4 p
分析程序基于Java语言,主要分为数据获取以及文本处理两大模块。程序引用了GSON与Jsoup两套API,分别用来解析Json以及HTML文本。
8 o. U6 H+ f3 }; }7 F" ?" U
" h7 ]  h9 r) P) t+ l5 t1 T3 x5 P
DSC0001.png

* \8 W1 }$ C0 u: b: p: E$ ]  j! Q
(对以下具体实现部分不感兴趣的同学请直接略过)

% z: ~. X4 M# i' l( K6 |% Q2 [, u
5 d5 q+ e. |- }: \/ v( m数据获取+ q; p5 n8 \- V2 L% Y' Z

( D4 o/ b, w1 k; L# p9 H, A8 cSteam对爬虫是比较友好的,但是本弱鸡一直没有解决锁区和年龄限制的问题,导致大量数据遗漏。被迫无奈,我只能曲线救国,在获取了Steam全部APP的ID之后,改到SteamDB之上运行爬虫程序。
9 l( c. O+ g$ R. k1 E7 n& @4 d% }
* H6 z, k; W9 w/ uSteamDB有着相对比较严格的防机器人手段。在添加了Header伪装成浏览器访问之后,我又在每次访问之间加了个1.5s-2.0s的随机间隔时间,防止被Ban。即便如此,一开始我仍被Ban了一次,原因是原程序中有一个访问失败则休眠20s之后尝试再次访问该网页的功能,导致受限后继续频繁访问,最终被ban。在换了个新IP之后,我把这个功能删除了,访问失败之后手动关闭程序再开即可(有中断记录),最终成功获取了所有数据。
; w3 U) Z& u0 Z2 p8 Y7 `
- [" Z" p  K2 f3 x" a/ J
DSC0002.jpg
9 k* f$ J" m; m
; z, L2 {+ k+ j* Z: U
文本分析
$ H# d4 n0 S3 j. V. N
; d! j% E  E# B3 V  Y在本程序中,我仅仅用了最简单且传统的单词分割方法作为统计标准。因为库中大多数游戏还是以英文名为主,所以对于每一个游戏名,首先将其中所有非A-Za-z的字符替换为空格,接着将改标题转化为小写,最后根据空格分割成单词。
: i- p7 Y7 M# B" d5 V' S$ J0 ^1 u8 @% u% w
当然,为了使统计更有意义,我添加了停用词列表(Stop Words),除了一般的“a,the, of, with”等介词冠词,我也在这个列表中加入了不少针对游戏的特殊高频词语,例如“edition, HD, remastered, episode”等等。
  w- m4 P& g4 ~! o, R  G- k6 X8 D8 b5 {2 O. U- T
最后,我们就可以非常开心的把剩下的所有单词扔进HashMap中推算每一个单词的出现频率了。
/ r$ `" F3 n( e! J/ @" v  _; V3 _
0 o* }7 Y5 G- ^$ g5 x8 n
DSC0003.png
. F1 F- G2 ~8 j
$ u6 L2 o5 X  A( ]' S
统计结果3 O, K! k9 A" }5 O2 Q

$ d) N4 U6 a! ?闲话少说,咱们书归正传(这就说的不少了)。不过,在谜底揭晓前,大家不妨先猜一猜,哪些词最受开发商的青睐?" A; u& q7 |7 V4 _
( [, f/ L+ Q- }5 \4 R4 c4 p/ ?. p
DSC0004.gif

/ i( I; R% M0 n- Z
* c; o6 X5 e$ b3 i
! T# s0 J4 d( f: f
第一名:War

# I- h) k+ i7 V1 q  H
“War! War never changes.”
* r0 a4 t, P, M
+ o3 V4 O. q+ N. K! ^* p1 k
“战争”名至实归的拿到了本次分析中的冠军席位。在还没有电子游戏的时代,“战争”就已经是最古老的桌面游戏甚至是真实博弈的题材之一。大到军事模拟沙盘,小到各类棋牌,无一不是对战争的模拟重现。在电子游戏问世之后,游戏制作者也尝试将“战争”这一永恒的题材带给玩家。无论是射击游戏,经营游戏,即时战略还是角色扮演,也不管是奇幻,历史,科幻,写实,都可以在“战争”这一框架下编织出精巧的玩法与剧情。所以,War斩获今天统计的榜首,真是不足为奇了。4 T3 W6 I! K- M4 g) d

% H  I7 J# R7 n% F- K1 A" {  O+ z( a
DSC0005.gif
8 x! u- [. S; p  D2 l
也不乏有游戏表现的是对战争的反思
, Z8 u9 z0 l8 f/ V5 r" E2 J" G
! G" @" ?" \* Z
( p" k% ~7 |* f+ c. e( o$ u
第二名:Space: o, t  y* c* y
“人类的征途是星辰大海!”1 l$ A" B) u/ H; i' ~8 k' j

: m' g4 c$ J3 T" o2 V* q  N事实上,我对“太空”出现在榜单的第二名是有些吃惊的。我相信这个结果带有了一些steam平台本身的气质。从坎巴拉太空计划(Kerbal Space Program),到太空工程师(Space Engineers),乃至无尽太空(Endless Space),都带着浓浓的Steam风格。对于这些游戏的制作人(很大一部分是独立游戏的开发者)来说,“太空”大概是他们最爱的题材之一。与第一名的真实感与厚重感不同,“太空”题材带有浓重的幻想精神与浪漫主义情怀。无论是太空歌剧,宇宙战争,还是太空飞船模拟,都可以在玩家群体中找到属于它们的一片天地。
4 b: d* Y) M) y- S% ~. f( x
! x9 R0 f8 l# m3 V7 ]: g/ L
DSC0006.jpg
7 }& h3 D& ~2 L; u& v" n
坎巴拉太空计划
5 q3 E: y3 u4 ^: y

, C4 Q9 z4 M/ b' q5 F第三名:World
" z2 R) U& O1 h8 {) P9 |“一花一世界,一叶一菩提。”3 V4 G2 W* l) L' J5 |/ i" c) Y
. ^5 o+ H7 [; ?5 r0 u, D
中文里,“世界”一词来源于佛经,追溯其源头乃出于佛教,“世”为时间,“界”为空间,涵盖了时间空间不可分隔的道理。/ i4 S$ D# b4 U3 P- H
$ f# }9 k2 P: b
事实上,每一个游戏都有他们独特而富有魅力的世界,我们通常称其为“世界观”。对于一些以世界观为卖点的游戏,开发商自然而然地将游戏名取成《XXX World》亦或是《The world of XXX》,更别说还有一些游戏名为了标榜自己规模庞大,特意在前面加上“World”的限定语了。超级马里奥世界,魔兽世界,坦克世界,战舰世界。哇!真是拿脚趾头就能想出很多很多。该说是开发商起名偷懒呢,还是说“世界”这个词实在太好用了呢?:-D& ?7 Q! A4 m9 G* H
7 N4 v1 |0 _5 A$ G0 F
DSC0007.jpg
6 A3 L% _) {3 W/ h" S) d
魔兽世界的世界(虽然不是steam游戏,但很具代表性)

% D1 o4 e# f$ W+ x
. ^, n4 o$ ], [5 y* n8 }改进建议
8 g; b6 S; g9 I0 ^3 C6 Q
" l8 h3 |. C( S7 b" @8 A& F首先做自我检讨:不论是“语言分析”还是“信息检索”,我都不是专家。这篇文章也仅仅是一个兴趣使然的自我学习过程。如果有走过路过的大神,请原谅我的班门弄斧,多提宝贵意见。这次统计当然也有一些可以改进的地方:7 p; h( I9 N. l8 J" s
" Q) [, C* t& {1 J- N- ?2 Q! p
1.在数据获取阶段,理想的目标对象应该是IP而非游戏本身。对于一个游戏系列,其续作出的越多,名字在库中出现频率也越高。对于我们想要研究的问题,这样的统计其实是不太合理的。但是另一方面,系列作品得多少从某种角度也代表了这个游戏的受欢迎程度,再加从Steam库中合并游戏系列确实有些困难,故本次统计分析仍然是针对游戏个体而非系列进行的。  P( m, T0 V& h5 ~1 Y4 Y
4 G) a$ ?: ^3 u( {: }9 f/ G
2.在这次统计直接排除了所有DLC,这一做法其实也有待商榷,毕竟很多DLC都有自己独立的名称。这个问题其实可以通过从DLC标题中除去本体游戏名称的方式解决,但是由于我在处理阶段没有建立DLC与其本体的关系,这个功能最终没有实施。. p5 q5 Q3 X$ m+ C1 T5 p" m
9 b0 a7 j7 T& d: t* n/ q& a4 h
3.我们知道很多游戏名称都是生造词,而在本次分析中,我没有对每一个单词的内部构造进行解析。比如最近的新游戏Hellblade就是由Hell与Blade两词拼接而成。同样,我也没有对单词的不同变形进行统一,比如名词单数和负数形式没有合并。虽然对于我们来说这种组合或者变形非常明显,但是让程序完全掌握这种规律则需要比较复杂的算法,故在本次分析中也不再做进一步研究。* ~$ |6 s$ ^8 ^/ K3 @

$ l- I/ c0 [: e; M注:数据截止于2017.08.23) @) m/ o* ^4 x4 J
' A8 n# r# b; Y" K6 |7 E
附录:- e: ^8 D  L$ T% e* Z: f" [0 O+ R( _

9 L! E2 R- v* F, [Steam游戏名常用词汇前一百:- R+ L/ U; ?, i; P6 b
0 t5 d/ @, i$ `$ l6 _: e
篇幅关系,这里只着重分析一下我们的前三甲。而下面则是这次统计中排名前一百的单词条目。跟你们的预测是否一致呢?  @1 r/ @3 d/ I4 u3 e5 U. J
  V. R2 k5 o) ?
排名.单词:频率- I/ C) D2 x7 X% }0 K
* l" I# z; l0 Q9 g, H  J; p+ {7 n
1. war:224. @4 S1 \1 _! o' O" p# @
2. space:201
9 D% X; y. G3 O& S+ v5 N. `3. world:194
% P% _! B4 c4 H' P' q4. dark:153; x" i+ ]- P% W
5. heroes:140
! J' r& t/ i5 c9 R5 h6. super:137% g6 w# [1 B9 y4 h7 S
7. battle:128
% |' ~" n- v$ [8. quest:127
4 \- M% K$ p( N: G7 E1 j# R9. lost:120
3 }- y& g" I. [3 F10. adventure:1182 K9 Q# x4 }( Y9 F7 Z
11. dead:118* P' ~/ J( v$ F2 Y; d7 a
12. star:110& v: K/ o) Q1 a% `, h
13. wars:1027 ]+ \! u3 ~! U& c, F  O
14. last:981 X  X6 B% N# I' ?: D2 `
15. one:98
- c5 X) x' s( o3 ^7 x16. time:96
' u! `( w4 y0 q% T. ^+ d5 P17. manager:918 I1 o2 d' w; s. f
18. island:88! b$ k2 F+ g) Y' X# D) F5 n
19. escape:85- C3 ]+ T5 a! r* Q  B
20. city:84
+ b2 n; P$ e! k& N" `21. zombie:84/ d3 v- _8 |: C& |
22. gold:83( T, z5 C/ s3 s
23. life:83
8 }' I; Y4 C! ?7 q: _3 K24. dungeon:827 m9 d7 x* m/ s: _8 y# b/ D2 k9 e
25. adventures:79! ?& [0 B* F1 h" n, k3 A) W$ S
26. tales:77+ f4 v  ?3 i8 B: i' H3 C1 k
27. red:757 u' f, u  G* V2 j+ l" n
28. black:745 b: Z4 l9 @4 f) g, F5 n6 h2 `2 J/ q1 e
29. magic:73
1 f% F8 o, B. }* |; x0 q  d3 Y30. night:73
+ o' C( R. p3 Q+ x# m3 j3 K6 ^, r31. arena:72- L, ]- {+ n) @0 M* Y1 |
32. hero:72
# J. I* Y1 Z. T( o/ |33. dragon:69
, r2 t/ G4 s4 T0 [0 X$ p) r' \34. project:68
* q- w" _( U& u. M35. age:67
# m& ^) z) Z4 ?0 z+ t, }' H, m, H7 ^36. final:666 F9 M" p3 y5 [4 R$ O
37. defense:66, T* c  v, S" K8 N" ]
38. death:654 k  {  q3 ~, N2 G- u
39. legends:63/ P4 q" K$ w; X% r" W, b+ N7 d
40. sky:62  w9 L5 X% D4 C9 \0 [4 Z
41. call:62
. {, f0 l0 [1 X% h# r42. planet:61
7 f- Y4 h' g; T" `$ b/ |% M43. blood:61( y+ |$ K8 U+ u9 U1 g3 B
44. tower:60
' V2 K* f' U; ]9 L9 b) q45. mystery:59* Z& K6 e& x5 Z( r' I6 M
46. light:59
9 ~$ `2 Y6 s0 B0 N3 }/ p8 H8 W47. ultimate:59
9 @7 F; l' l7 R, }1 ?48. racing:583 L+ Y6 S4 R7 B. S/ X0 k; X
49. earth:57- c6 e9 G  H8 n
50. shadow:57
) I, V! m4 V' C51. journey:56
; `5 r: G; \3 J* z52. king:56
  W; L' i; ^1 S/ l0 ?53. rise:56. a' D3 D% ]7 O. o$ y
54. story:55' E8 w8 ]; K* t9 l/ b
55. day:541 [) Y# w1 d# m4 u& h
56. puzzle:54
/ }, v; V7 q/ H! Q7 a8 ?! s' f57. hunter:54
" C9 n' w" p/ M4 i6 W% Q3 T: X; |58. chronicles:54
9 S8 a% X/ \. u. V  A59. die:53) M: X4 y0 V$ V% A
60. legend:53
+ D( m" o3 H( k5 e/ v9 y61. tycoon:53; r$ g5 \/ n% \* V9 V$ x  k
62. fantasy:533 C. Y5 b7 X! A0 d2 v- K& K$ u
63. you:53$ T6 G8 P! [0 L7 X; o; C0 j( P3 q6 A
64. evil:52
3 N4 A3 \! U7 K% h, e: C2 r65. pixel:52( Y$ X' }& O- z% Z
66. kingdom:52
4 E) c# Y  P* z; P6 D67. football:51
% y6 i% i1 g2 |' f5 A0 Q7 O% V68. secret:491 j0 F5 L, p3 L* s. m
69. man:49
! E2 b" z4 Y7 h! U1 Q! F70. tale:49
# ~7 {" }5 d4 S71. legacy:49
- Y; E5 S- G6 C5 x72. beyond:495 N0 H0 `1 F7 p" n( g% S
73. vs:48: \. e7 K- @# n6 f7 m3 s. N0 n# ^" {
74. force:48
* m" {# k: A& T. {) E" {75. your:48
, H3 }3 c% M8 X, T/ F2 z76. empire:48
" i% |) `/ ~0 y4 w77. love:46% Z  t4 a9 }4 M3 F
78. dream:45
2 b6 q) t' g1 `* v" V- e$ r0 l! l79. dawn:45! Z) H) C$ w. Y9 S
80. storm:457 `& h) Q. s' P0 k6 d/ w
81. strike:44
; }/ j7 S8 y% k+ A7 u, z82. warfare:44
8 R2 R6 V0 @# S  a83. run:44% c5 b- A2 A# d- o$ [* F
84. fall:44; t  a- D! x- b
85. home:444 D; I. Y, ]; W( X  P7 I6 Q' L
86. rogue:44
" i8 O8 G4 J0 k0 m$ [$ m: P87. zero:44
7 r6 H& G. T( _, w( w88. up:430 x7 V6 I2 }5 K7 x# i$ n- H) Q
89. rising:43% E& u! A( d( A; y% M2 t6 ~" N
90. sam:437 F. i" w! i+ w8 a0 N+ ~
91. no:42
3 H9 r+ {( s' \7 y; v92. master:42
+ v% F- P' M# ]# l3 u! }+ i4 H93. darkness:42
9 X1 B5 U6 F0 G: @; @94. survival:42
! B5 Z* K) a  Y1 y* K95. tactics:42
4 k$ q% P. H4 `4 G/ i96. bit:42
) r: w3 L% @7 I* M6 R0 X97. order:41
! }. I- d- c! Q, c# q& c6 r98. classic:41; Q+ j% j8 l) [
99. max:41- ?. L. D0 `* O5 k) N9 q
100. saga:416 |& Z1 a# V: H$ x5 a! ~" V6 w; `
' C* Z: _" ~9 C  z1 l
把前五名融合到一个游戏名称里大概就是《黑暗太空世界:战争英雄》(World of Dark Space: War Heroes),简直是一个有着强烈既视感的大俗套名字。6 D8 f) ~& ~+ f

3 R& U, F0 Y2 D3 H5 T+ W
DSC0008.jpg
9 T. P6 _' y3 q9 Z
根据单词出现频率生成的文字云(生成:wordart.com)

3 B+ e% L. j; C: F6 e3 h3 ]* G# j' o3 E; Q  v. R0 K
via:机核  n) j% @+ Z- j4 ]" v
3 L% Q( }$ ^& ~3 \1 X
% z3 w1 J5 p4 w6 j
Steam, 游戏名称/ w% R1 T' ?: S' F: v% g
5 P9 [9 J! Y) O! N" U. p1 m
. K, `6 y+ y. \0 d

+1
479°C
沙发哦 ^ ^ 马上
因分享而快乐,学习以自强!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

1
QQ