見出し画像

iPhoneで自動周回プレイ ②24時間実行させよう

前記事にてiPhoneでマクロ操作を行うためのスイッチコントロールの使い方について解説した。
本記事では自動周回する目的として多い就寝中に繰り返し実行させて24時間戦う方法についてまとめる。

警告

多くのゲームではスイッチコントロールなどによる自動操作は規約によっては禁止事項となっている。最悪の場合アカウント削除処分となるので使用する際には十分確認とリスクを承知した上で使用すること。
高額課金してても消される場合あるよ。

まとめ結論

ぶっちゃけ、スイッチに画面タップを使用するのは使いたいときにすぐ起動できるのが利点だが、大きな欠点があって使いにくいのですよ。




レシピを繰り返し実行させる方法

全記事で作成した内容では画面タップ1回したらレシピ実行というものであった。つまり、実行させたい回数分を画面タップすれば就寝中に自動処理を行うことができるということ。

作成したレシピが10秒であれば就寝前に
・5時間動かす場合は…1,800タップ
・8時間動かす場合は…2,880タップ
すればよい。

1秒に3~5タップできると仮定すると、
・5時間動かしたい場合は…6~10分
・8時間動かしたい場合は…10~16分
連続タップすれば理論的には可能となる。

ただし、何かの条件でタップしたカウントがリセットされる場合があり、途中で終了してしまう場合もある。
そう考えると寝る前に連打するのはしんどいのに動作が不安定という問題がある。

それならスマホを物理的にタップする動作を自動化してしまえば問題解決とすぐに思い付くはずだ。



スマホを物理的にタップする方法

同じことを考える人は多くいる。方法をまとめると4点。
これらの方法を使用すれば就寝前に連打する必要はない(人力方式を除く)。

人力方式

自分ががんばる!たかが15分程度の連打は根性さえあればできる!

利点
・追加コスト0
・己の指の限界まで高めれば無限の可能性が開花する!
・外出先でも電車の中でもトイレの中でも起動可能
欠点
・指・腕が疲れる
・リゲイン飲んでも24時間戦えません


からくり方式

からくりメカを作成して自動的にタップさせる。

利点
・本当の物理タップによる操作
・感圧方式・静電容量方式のどちらのタッチパネルにも対応可能
欠点
・仕組みが大掛かり過ぎる
・組み立てるのに多少スキルが必要となる
・動作音がうるさい


自動連打装置

Amazonなどで「スマホ 連打」などで検索すれば色々見つかる。

利点
・ハンダ付けやプログラムなど不要。買ってすぐ使える
・タップ回数を変更できるものもある
欠点
・動作が不安定。タップされないこともあるらしい
・これなりにコストかかる


リレータッチボード方式

リレータッチボードとは、動作時にGND信号をスマホ画面に流すことで疑似的にタップ動作を行わせる部品。多くのスマホで採用されている静電容量方式のタッチパネルに対応している。

これを活用し、画面タップにリレータッチボードを、制御にはArduinoやRaspberryPiなどのマイコンボードを使用する。
製作例として下記のようなページがいくつか見つかる。

利点
・プログラム次第でタップタイミングなど柔軟に制御できる
・複数個のリレータッチボードを使用すれば複数個所のタップも可能(スイッチコントロールを使用しなくても自動化できる)
欠点
・小さいながらリレータッチボードの動作音がする
・静電容量方式のタッチパネルでしか動作しない
・ハンダ付け作業が必要
・動作が不安定
・揃えるパーツ次第でコストが変わる

補足
親父も以前この方法で自動タップ装置作った(初号機)。
ちなみに、しばらくするとタップされない現象が出る場合はスマホのGNDと制御ボードのGNDを繋ぐと安定しやすい。が、最近のiPhoneにはインフォン端子がないので難しい。同じ充電器に接続して近い位置にすると多少安定する。

表面。制御基板はDigispark Kickstarter Attiny85。
裏面。
内部。ホットボンド止め。



実行中の中断

通常の終了方法

スイッチコントロールの終了方法はレシピが実行されていない状態のときにサイドボタンをトリプルクリックする。
もし、レシピが実行中にトリプルクリックをすると実行中・実行待ちになっているレシピ全てが実行終了した後に終了される

そうなると下記の問題が発生する。

 電話に出ることができない
・ LINEが届いても見れない
・その他のアプリの通知が届いても見れない
・レシピの実行が終わるまで他のアプリが使えない
タップしても実行回数が1回増えるだけ。
恐ろしいですね、鬼上司から緊急連絡が来ても連打して1時間実行するようにしている場合は1時間経過しないと反応できない…。

少し発想が豊富な人なら他のアプリの通知をタップするようにレシピを組んで切り替えるという手を考えそうだが切り替わってもレシピの実行が続くので操作はできない。
そもそも、そんなレシピを組んだ場合は深夜のくだらないアプリの通知でもゲームアプリ以外に切り替わってしまうので使いにくい。

レシピの実行を強制中断させる方法

iOS16時代にスイッチコントロールの改修が入る前(10秒以内5タップまでの頃)は終了動作を行ってしばらくすると中断ができた。が、現在の仕様に変更になった際に中断できなくなった。
現在唯一できる強制中断方法電源シャットダウンのみだ。これなら制御を乗っ取れないスイッチコントロールより強い力で制御を取り返せる。

もちろん再起動するので電話は切れるし、未保存のデータがあれば消える。



中断できるようにレシピを実行する方法

理論解説

ようやく本記事のメイン本題。

就寝前に連打 → 連続実行

を行うからレシピ実行時間が非常に長くなって中断できなくなる。
だったら、

レシピの実行時間+1秒くらいの間隔でタップ

すればよい。これなら実行待機中のレシピは非常に少なくなる。
あとは普通の終了方法であるサイドボタンをトリプルクリックするだけだ。
実行が終わっている状態ならすぐに
実行中でも1回レシピの実行が終われば
スイッチコントロールを終了できる。

実施方法

上記のスマホを物理的にタップする方法にて取り上げた4方式で対応できるか調べる。

人力方式
× ほぼ無理
寝ながら一定のリズムでタップできる人はやってみよう!

からくり方式

機械の組み方や、マニュアルミッションのような回転数切り替えができる機能を盛り込めばよい。

リレータッチボード方式

動作させるプログラム側に軽い修正を入れるだけで対応可能。
スイッチボタンが実行されていれば、ボタン押下数で間隔を変更できる機能を追加すると利便性も上がる。

自動連打装置

商品説明からは連打をメインにしていると見受けられる。1秒間にxxタップは設定できそうだがxx秒に1タップが設定できるか不明のため△。

補足
複数のレシピ作成の際にジェスチャを大体同じ長さにするのは、タップ間隔をレシピによって変更せずに使うため。



最後に

スイッチコントロールのレシピを繰り返し実行する方法と、中断させやすい方法をまとめた。
次記事では別方向からのアプローチでもう少し使いやすい方法をまとめる。


いいなと思ったら応援しよう!