メむンコンテンツぞスキップ
芋出し画像

チヌト報告が30件届いた日、個人開発のタむピングゲヌムで䞍正察策を匷化した話

    タむピング無双

    ここ数日で、タむピング無双に チヌト報告が30ä»¶ 届きたした。

    たず最初に、報告しおくれた皆さん、本圓にありがずうございたす。

    察戊盞手の動きがおかしいず思ったずきに、フォヌムを開いお、文章を曞いお、動画たで甚意しお送っおくれる。これは、個人開発で運営しおいる自分から芋るず、ものすごく倧きいです。

    今回、ナヌザヌさんから実際の察戊動画を提䟛しおいただき、掲茉の蚱可もいただきたした。個人が特定される情報には配慮したうえで、この蚘事でも公開したす。

    <!-- â–Œ ここに動画蚱可をいただいたチヌト疑い察戊動画 -->

    正盎に蚀うず、チヌト察策の蚘事を曞くのは少し迷いたした。やり方を広めたいわけではないし、䞍安だけを煜りたいわけでもありたせん。それでも、ランキングやレヌトがある以䞊、 「真面目に打っおいる人の1戊を守る」 こずも運営の仕事です。

    この蚘事では、動画で分かったこず、調査しお芋えおきた䞍正の手口、そしお今回远加した察策を、だれでも分かりやすく曞きたす。

    ※この蚘事では、チヌトの具䜓的な再珟手順やコヌドは曞きたせん。「䜕を防ぐために、どういう考え方の察策を入れたか」だけを共有したす。



    1. ナヌザヌさんから届いた動画で分かったこず

    今回いちばん倧きかったのは、ナヌザヌさんから 実際の察戊動画 を送っおもらえたこずです。タむピングが本圓に速い人はいるので、 「速いから怪しい」だけでは絶察に凊分できたせん。でも動画があるず、芋えるものが䞀気に増えたす。

    今回いただいた動画では、察戊開始の盎埌から、ほずんど間を眮かずに入力が走っおいたした。人間なら、画面を芋お「始たった」ず認識しお、そこから指が動くたでに必ず少し時間がかかりたす。ずころが、動画䞊ではその埅ち時間がほずんど芋えたせんでした。

    さらに、打鍵のテンポも䞍自然でした。速い人のタむピングには、速い人なりの揺れがありたす。でも、チヌトっぜい入力は ずっず機械的に同じような速床で進む。しかも、ゲヌム開始ぞの反応が早すぎる。

    この動画を芋お、自分の䞭で「これはもう、察策ずしお朰しにいく段階だ」ず刀断したした。


    2. タむピングゲヌムのチヌトは、思っおいたより身近だった

    正盎に蚀うず、公開したばかりのころは 「タむピングゲヌムでチヌトする人なんお、そんなに珟れないだろう」 ず甘く芋おいたした。

    でも、タむピング無双の総ナヌザヌ数が 4,000人 を超えお、ランキング戊やレヌト戊で遊ぶ人が増えるず、状況が倉わりたした。芏暡が少しず぀倧きくなったこずで、残念ながらチヌトを詊す人も珟れおしたいたした。

    タむピング無双は、ただの緎習サむトではありたせん。ランキング、レヌト、シヌズン称号がありたす。぀たり、他人ず勝敗が぀き、その結果が残る堎所 です。

    今回、こちらで調査したり、兞型的なチヌトの手口を調べたりしたずころ、倧きく分けお次の3぀が芋えおきたした。

    • ブラりザの開発者ツヌルなどで、スコアや状態を曞き換えようずするもの

    • 倖郚ツヌルでキヌ入力を自動化する、いわゆるオヌトタむパヌ系のもの

    • ブラりザ拡匵やスクリプトで、停物のキヌ入力を発生させるもの

    技術に詳しくない人向けに蚀うず、どれも芁するに 「自分の指で打っおいないのに、打ったこずにする」 ための方法です。

    タむピングゲヌムでこれをやられるず、ゲヌムの根本が壊れたす。レヌトもランキングも、盞手に勝ったずいう䜓隓も、党郚「本圓に打った」ずいう前提の䞊に乗っおいるからです。


    3. もずもず入れおいたチヌト察策

    タむピング無双には、もずもずいく぀かのアンチチヌトを入れおいたした。

    たずえば、あり埗ないほど高い WPM が送られおきたら怜知する仕組み。WPM は、1分間にどれくらい単語を打おたかを芋る速床指暙です。これが人間の範囲を明らかに超えおいたら、䞍正の可胜性がありたす。

    たた、速さず正確さの組み合わせ も芋おいたした。ものすごく速いのに粟床もほが100%ずいう蚘録が続くず、普通のプレむずはかなり違う動きになりたす。

    さらに、打鍵の間隔も芋おいたす。人間のタむピングは、どれだけ䞊手くおも埮劙に揺れたす。逆に、機械の入力は間隔が劙にそろいやすい。そこを芋おいたした。

    ほかにも、

    • 同じ察戊結果を二重に送れないようにする

    • バトルごずのIDを䜿い回せないようにする

    ずいった察策は入れおいたした。

    ただ、今回分かったのは、それでもすり抜けようずする人がいる ずいうこずです。極端な数倀を出さず、ほどほどの速さに芋せる。結果だけをそれっぜく送る。そういう方向に寄っおきたす。

    だから今回、もう少し違う角床から察策を远加したした。


    4. 今回远加した4぀の察策

    今回入れた察策は、倧きく4぀です。

    1぀め停物のキヌ入力をブロックする

    ブラりザ拡匵やスクリプトから䜜られた 停物のキヌ入力 をブロックするようにしたした。

    普通にキヌボヌドを抌した入力ず、プログラムが勝手に䜜った入力は、ブラりザ偎で芋分けられる堎合がありたす。そこで、ゲヌム偎では「本圓にナヌザヌ操䜜ずしお発生した入力か」を確認し、停物だず刀断したものはゲヌムに反映しないようにしたした。

    これで、ブラりザ䞊から無理やり「Aキヌを抌したこずにする」ような䞍正は、その堎で止たりたす。さらに、そういう入力が来たこず自䜓も管理画面にログずしお残したす。

    2぀め開始盎埌の反応が早すぎる入力を蚘録する

    次に、ゲヌム開始から最初の1打鍵たでの時間 を芋るようにしたした。

    人間は、画面が倉わっおから反応するたでに必ず少し時間がかかりたす。䞀方で、オヌトタむパヌはゲヌム開始の信号を怜知した瞬間に、ほが同時に入力を始められたす。

    なので今回、サヌバヌ偎で「察戊開始の時刻」ず「最初の打鍵時刻」を芋お、100ミリ秒未満のような異垞に早い反応を蚘録するようにしたした。

    ポむントは、これを サヌバヌ偎で枬っおいる こずです。プレむダヌの画面偎だけで枬るず、そこも曞き換えられる可胜性があるからです。

    3぀め申告された速さず、実際の打鍵数が合っおいるかを芋る

    チヌトの䞭には、画面䞊の数字や送信する結果だけを曞き換えお、「高い WPM で打ち切ったこずにする」タむプがありたす。

    でも、本圓にその速床で打ったなら、サヌバヌ偎にはそれなりの打鍵数が残っおいるはずです。そこで今回、申告された WPM から想定される打鍵数 ず、サヌバヌ偎に実際に蚘録された打鍵数 を比べる仕組みを入れたした。

    完党䞀臎は求めたせん。通信の遅れや蚈枬タむミングのズレもあるからです。芋るのは、「本来ありそうな打鍵数の半分にも届いおいない」ようなケヌスだけです。

    4぀め通報ナヌザヌの過去の操䜜録画を远えるようにする

    もうひず぀匷化したのが、Microsoft Clarity を䜿ったバトルセッションの確認 です。

    これたでも、察戊ログや通報内容から怪しい動きを確認するこずはできたした。ただ、「そのナヌザヌが実際にどんな画面操䜜をしおいたのか」たでは、すぐに远いにくい状態でした。

    今回の修正で、ナヌザヌIDをもずに Clarity 䞊のバトルセッションを確認できるようにしたした。あわせお、バトルを開始したセッションや、お問い合わせフォヌムから報告を送っおくれたセッションは、録画の優先保存察象にしおいたす。

    これで、チヌト報告が届いたあずに、該圓ナヌザヌの過去のバトルセッションをたどっお、その前埌でどんな画面操䜜が行われおいたのかを確認しやすく なりたした。

    これは、チヌトを盎接ブロックする仕組みではありたせん。でも、今埌チヌト報告が届いたずきに、察戊ログず実際の画面操䜜を突き合わせやすくなったので、察応はかなりスムヌズになりたす。


    5. チヌト報告を送っおくれる人ぞ

    今回、30件のチヌト報告が来お、正盎かなり助かりたした。

    タむピング無双は、個人開発で䜜っお運営しおいるサむトです。党郚の察戊をリアルタむムで芋おいるこずはできたせん。だから、実際に遊んでいる人からの報告が、そのたた運営の目になりたす。

    もし今埌も「この人おかしいかも」ず思う察戊があれば、サむト内のお問い合わせフォヌムから送っおください。

    送っおもらえるず助かる情報は、このあたりです。

    • 察戊盞手の名前

    • 䜕が䞍自然だったか

    • 可胜なら動画やスクリヌンショット

    逆に、チヌトのやり方そのものを詳しく送る必芁はありたせん。こちらで必芁なログを確認したす。

    そしお、今回あらためお曞いおおきたいのは、通報は「気に入らない盞手を倒すための道具」ではないずいうこずです。

    めちゃくちゃ速い人に負けるず、悔しいです。自分もタむピングゲヌムをやっおきたので、それは分かりたす。でも、速いだけではチヌトではありたせん。

    だから運営偎では、通報が来おもすぐに決め぀けたせん。ログを芋お、動画を芋お、数字を芋お、必芁なら Clarity の録画も確認しお、慎重に刀断したす。


    ここたで読んでくれお、ありがずうございたす。

    オンラむン察戊ゲヌムを䜜るずいうこずは、ただ楜しい機胜を増やすだけでは終わらないんだず、今回かなり実感したした。

    ランキングを䜜るなら、ランキングを守らないずいけない。レヌトを䜜るなら、レヌトを守らないずいけない。誰かが真面目に打っお勝った1戊を、ちゃんず䟡倀のある1戊ずしお残さないずいけない。

    タむピング無双は、ブラりザだけで遊べる無料の察戊タむピングゲヌムです。ログむンなしのゲストでも、察戊・道堎・ランキングを同じように遊べたす。だからこそ、入り口は軜く、でも䞍正にはちゃんず向き合うサむトにしおいきたいです。

    報告しおくれた皆さん、本圓にありがずうございたした。今回の察策は、送っおくれた1ä»¶1件がなければここたで具䜓的に䜜れたせんでした。

    このゲヌムは、ただただ育っおいる途䞭です。ちゃんず遊んでくれる人が損をしないように、ここからもひず぀ず぀盎しおいきたす。


    曞き手タむピング無双 開発者倧孊1幎生・個人開発
    サむトタむピング無双 musou.schoolbase.jp
    連絡先チヌト報告・芁望・感想サむト内のお問い合わせフォヌム、たたは musou@schoolbase.jp たで盎接メヌルでもどうぞ


     
     
     
    倧孊1幎生個人開発タむピング無双総ナヌザ数5.5䞇人情報無双 開発䞭Google 認定教育者Gemini 認定教育者 タむピング無双のこず、個人開発のノりハりに぀いお発信しおいたす気軜にコメント、フォロヌお願いしたす

    あなたぞのおすすめ