Old Dancer's BLOG
ここはてりぃが、趣味の共通する方々との得がたいつながりのために、自分の趣味に関係する諸々のことを、壊れながら書きつづるブログです。
   来訪者数: since 2004/12/2...    
個人ptと全体pt
スマホ向けソシャゲの、ジョジョのスターダストシューターズをやってるんですが。かれこれ一年半くらい前からでしょうか。

今、このゲームでは、運命(さだめ)キャンペーンというものをやっていまして。簡単に言えば、期間中のプレイ内容に応じて個人と全体にポイントが入り、個人でも全体でも、あらかじめ決められたポイント以上になると、アイテムやら何やらがもらえる、というヤツです。最悪、自分は怠けていても、周りが頑張ってくれてれば全体報酬の方はもらえるんで、ライトなプレイヤーにも訴求力のあるイベントですな。

さて。ゲームの方はまあ、そこそこにやってるんですが、ふと、このイベントってどんな風に実装されてるんだろう、なんてことが気になりました。わたしゃ、プログラマでもSEでもないので、本当に専門的なことはわかってないのですが、それなりの考え方なら、どうにかわかります。何千人、何万人という数のアカウント上で、刻々と変化している数値を、瞬時に集計してフィードバックするのは、結構大変なことなんですよ。Excelのシート上、つまり「一個のデータの上で」なら、大した話にはなりませんが、ものはオンラインゲームですから、データはあちこちのサーバに分散して置かれているはずです。これをリアルタイムに集計しようとすると、相当なマシンパワーが必要な上に、トラブルの嵐になりそうな、実に危険な匂いがします。

この問題をクリアするためには、「くそマジメに集計しない」のが一番でしょう。

個人のアカウント用データとは別に、「全体ポイントの合計値」を貯めるカウンタを用意しておき、個人ポイントが入るタイミングで同じ数値をカウンタに加算し続けていく、という。つまり、個人の値を毎回集計するのではなく、個人は個人、全体は全体で、それぞれ入れ物を分けて作って、それぞれに対して数字を入れていく、みたいなイメージですね。これなら、マシンパワーは段違いに低くて済みますし、各個人に対してほぼリアルタイムに全体ポイントを表示するのもラクです。

ただ、一つ問題があるんですが、それは、「個人アカウント上の値を真面目に集計したものと比べたら、どうしてもズレが出る」ということなんです。

基本的には、同じ数値をそれぞれ流し込んでいるのですから、ズレが出るわけはないんですが、この手のものの常として、「期待通りに動かない部分」はどうしたって出てきてしまいます。理由は、サーバ間の通信で落ちてしまうデータやら、負荷の高い瞬間に放り込まれたデータがロストする問題やら、分散処理上のミスやら、その他諸々…。それに、オンラインゲームに求められるのは、第一には「サービスが止まらないこと」なので、いい加減であっても許されるところなら、正確性は追求しませんしね。

あとは、そのズレをどこまで真面目に修正するか、或いは、ズレが生じない(若しくは生じにくい)ようなチェックの仕組みをどこまで真面目に実装するか、という話になってきます。この辺は、開発に割ける人的・物的リソースと、収益性とのバランスでしょうか。

刻々と増え続ける全体ポイントを見ながら、「これってどこまで正しい値なのかね~」とか、考えたりしています。こういう話をすると、正確じゃないなんて許せない!みたいに怒る人もいそうですが、サービスを享受するにあたっては、その辺の「ある程度なら許されてもいい
(多少なら違っても大勢には大きな影響のない)」ような部分には、あまりカリカリしないことも大事です。でないと、こういうサービス自体がなくなりかねませんので、ね。

それにしても、基本無料を謳うソシャゲって、「実際にサービスを支えている人=課金者」と、その他大勢の「サービスを享受しているだけの人=無課金者」とのバランスが酷そうで、こんなビシネスモデルがどこまで長らえるんだろうなぁ、て気持ちも湧いてきます。それはそれとして、享受できるものは享受しますけど。(ぇー
楽しんで頂けましたらWEB拍手をお願いします。
■関連記事~
 バイナリー伸びた! (2014/01/26)
 ミンサガ プレイ開始の印象 (2005/04/23)
 指・新曲配信だが… (2008/12/15)
 昨夜の指 (2008/11/19)
 CLANNAD、PS2移植キター! (2005/06/25)
 辞書を引こう! (2008/05/02)
 アレのアレ (2006/04/23)
コメント
この記事へのコメント
コメントを投稿する
※コメントについてのポリシーはこちらです。初めての方はご一読下さい。
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
※トラックバックについてのポリシーはこちらです。初めての方はご一読下さい。
http://terry.blog1.fc2.com/tb.php/5599-35756557
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック