« arduinoでIP Messenger | Main | 35歳からの勉強に単語カードを使う »

2010.02.03

arduinoでドラクエのレベルを自動的に上げる

今さらながらドラクエ8を買ったのだが、レベルを上げたり、お金を稼ぐためだけに無用な戦いを繰り返すのが性に合わない。まあ、その無用な戦いがあるからこそボスと戦うのが楽しいんだろうけど。

ところで、ドラクエ8は「くちぶえ」というコマンドを覚えると、わざわざ敵を探して歩き回らなくても、口笛で敵を呼び寄せることができる。ということは口笛を吹いて、あとは「◯」ボタンを連打する操作を自動化する「何か」を作れば、勝手に戦闘を続けて、お金も稼いで、レベルも上げてくれるはず。

arduinoで学習リモコンを作っている人がいたので、これを改造して、自動で口笛を吹き、相手と戦う操作を赤外線でPS2に送り込むプログラムを書いてみた。

え?意味不明?

別の書き方をすると

  • arduinoで赤外線LEDを光らせるプログラムを作り、PS2の赤外線リモコンで「◯」ボタンを押したときと同じ信号を送る
  • 同じように「→」「↑」「↓」の信号も送り、呪文「くちぶえ」を唱えさせる
  • 呪文が成功すると敵が集まってくるので、「◯」ボタンを連打する信号を送る

これで、少しは伝わったかな。arduinoが何か知らない人は、もっと親切なサイトを見つけてください。

必要なものは

赤外線LEDは、以前は100本入り700円のものしかなかったらしいが、最近、5本入り100円のものが買えるようになったので、こちらを使った。赤外線受信モジュールは、赤外線リモコンの解析に使っただけなので、このページで公開しているソースをコピペするだけなら不要。

ソースコードはこちら。

http://gist.github.com/296367

赤外線を適当な間隔で送るだけなので、当然ながらいろいろと制約がある。

  • ヤンガス(口笛を吹けるキャラ)が先頭になるようにしておくこと。ヤンガスが何番目にいるかを自動的に判別することはできない。
  • 敵を倒したら口笛を吹く、ということはできない。今のところ、30秒周期で口笛を吹き、その間の30秒は戦っていても戦っていなくても「◯」を連打している。
  • 30秒周期で口笛を吹くので、30秒以上の戦いになると、戦闘中に変なタイミングで「↑」「↓」を押してループしてることもある。(→修正済み:口笛を吹いた後に「×」ボタンを連打して回避するようプログラムを書き換えた)
  • MPが足りなくなったら自動で宿に戻ったりはしない。あまり長時間やってると全滅してるかも。
  • レベルが上がってスキルポイントを割り振るときも「◯」連打なので、特定のスキルばっかり上がってしまう。

私はドラクエ8しかやったことがありませんが、ほかのゲームでも自動化できそうだったら教えてください。

アルティメット ヒッツ ドラゴンクエストVIII 空と海と大地と呪われし姫君
アルティメット ヒッツ ドラゴンクエストVIII 空と海と大地と呪われし姫君
おすすめ平均
stars進化したドラクエ
starsグラフィックはがんばったけど…
stars鳥山明最高
stars長く楽しめました!
starsシリーズ最高傑作

Amazonで詳しく見る
by G-Tools

Arduinoをはじめよう
Arduinoをはじめよう 船田 巧

オライリージャパン  2009-03-27
売り上げランキング : 3998

おすすめ平均  star
star最終的には無くてもいいのだが
star正直がっかり
star日本語リファレンスだけでも価値があります

Amazonで詳しく見る
by G-Tools

Arduinoをはじめようキット
Arduinoをはじめようキット
スイッチサイエンス 
売り上げランキング : 1383

おすすめ平均  star
starUSBはB端子です
starここから大ジャンプは無理だけど

Amazonで詳しく見る
by G-Tools

|

« arduinoでIP Messenger | Main | 35歳からの勉強に単語カードを使う »

Arduino」カテゴリの記事

Comments

Post a comment



(Not displayed with comment.)


Comments are moderated, and will not appear on this weblog until the author has approved them.



TrackBack


Listed below are links to weblogs that reference arduinoでドラクエのレベルを自動的に上げる:

« arduinoでIP Messenger | Main | 35歳からの勉強に単語カードを使う »