Twitterで遊べる株取引シミュレーションゲーム「カブトリ」をリリースしました

先々週、友人と福井の方に開発合宿に行ったのですが、その際に作ったソフトがようやくできたので公開させていただきました。Twitterで遊べる株取引シミュレーションゲーム「カブトリ」です。

詳しくはカブトリのサイトをご覧いただければと思うのですが、要するにTwitterをUIとして使った株シミュレータです。専用のボットである@kabutoriをフォローして、「@kabutori トヨタ自動車 100株 買い」みたいな感じでpostするだけで株を買うことができます。あとは取引終了時に@kabutoriからその日のレポートが送られてきます。

世の中にはいろいろな株シミュレータがあるのですが、カブトリはそれらと違って、現実の株取引を大幅に簡略化して実装しています。ですので、株シミュレータというよりは、現実の株価変動を利用した別のゲームだと思っていただければと思います。

今後のこと

本当はサイトの方で、週間・月間などの総資産上昇ランキングとか、あと株価をボードみたいに表示する機能とかもやりたかったのですが、ひとまず遊べるようになったのでリリースしてしまいました。この機能は後ほど追加したいと思います。

ルールはなるべくゲームになるように考えたつもりなのですが、現実の株取引と違う関係で、もしかしたら総資産を増やす必勝法のようなものがあるかもしれません。もしそうなったらルールを修正しなければいけなそうです。ご容赦ください。

あと、直近で困っているのは日本航空上場廃止になってしまうことです。今のところ、「上場廃止になった株はずっと最後の株価で取引可能」というルールで矛盾ないと思うのですが、まずい部分がある可能性もありそうです…。そもそも、一回上場廃止になった企業が戻ってくる可能性もあるそうなので、強制的に持っていないことにするのはまずそうなのです。上場廃止の扱いについては、追ってアナウンスしたいと思います。

技術的なこと

カブトリは典型的なTwitterボットと同じ作りで、サーバに置いたスクリプトを10分毎に走らせることで動作しています。

開発言語はruby1.8.7、外部ライブラリとしてgemのsqlite3-ruby、oauth、twitterを使用しています。特にtwitter gemは神gemでした。これを使うと、4行くらいでTwitterにアクセスできます。

開発中、以下のサイトにお世話になりました。

Ruby 1.8.7 リファレンスマニュアル
以前使われていたWikiの方が有名ですが、最新の状況についてはこちらの方が正しいです。Googleから全然引っかからないような気がするのはなんでなんだろう?
TwitterのbotをOAuthに対応させる - しばそんノート
OAuth対応に関する素晴らしい記事です。この記事がなかったら、OAuth対応できなかったと思います。感謝です!
Twitter API 仕様書 (勝手に日本語訳シリーズ) - 観測気球
Twitter APIの翻訳です。素晴らしい仕事で、本当に助かりました。それほど長い文章ではないですし、twitter gemを使うにしても、一通り読んでおいた方がよいと思います。

また、合宿を企画してくださったwakenさん、SQLiteについていろいろ教えてくださったsh4さんにも大変お世話になりました。どうもありがとうございました!