理解や文章に間違い等あればどんなことでもご指摘お願いします2018-01-10リバーシアプリ作ってみたスマホのリバーシアプリ作ってみたplay.google.com身近な人が、もし完成したらお子さん用にインストールしてくれるということだったのでターゲットを小学生か中学生またはリバーシ初心者にすることにした(公開してからスマホ持ってる小学生中学生ってあんまりいないだろうしターゲットとしてはあんまりふさわしくなかったのではと思った塾講師のアルバイトをしてる知り合いに聞いてみたらバイト先の中学生は結構スマホを持っているらしくターゲットとしてはそんなに間違ってなかったのかもしれない。「どうせダメだろ」という気持ちが僕の中で強くてあきらめてしまった。どうぶつしょうぎではない将棋をのスケールを小さくしたゲームを作ろうとしてみたが後手がひたすら先手の攻めを耐え続けるゲームばかりできてしまった。どうぶつしょうぎがものすごく難しいバランス調整を乗り越えて作られているということがわかってさらに「どうせダメだろ」という気持ちが大きくなってあきらめた。ホントにあれはすごいですよ。駒と駒が最初からぶつかり合ってるのに、完全解析の結果が後手必勝だし、あれだけサイズは小さいのに将棋のもつ難しさは残っているし作った人は天才としか言いようがないですね。物理でも自然現象の本質を残したまま簡単なモデルを作ることは非常に難しいし、大事な仕事である(ex.イジングモデル)ということを担当教官が言っていた。リバーシとか将棋のアプリって最低レベルの強さでもなんだかんだ強いんですよね(なんでもできる強い皆さんにはわからないかもしれない)かといって弱いのを売りにしてる他のアプリを別にインストールするのには抵抗がある。なんというか他の人が普通の教室で授業を受けてるのに自分だけ別室に移されてそこでレベルの低い授業を受けさせられている感覚というか数学の授業で自分には全然わからない問題を、さっきまで一緒に休み時間あそんでた友人達が黒板にスラスラ解いてて仲間外れにされたように感じ不貞腐れるしかない感覚たぶんそういう感覚を味わった人って僕のほかにもいっぱいいるんじゃないかなぁそういう人が(というかそういう人こそ)楽しめる、自信を持てるような設計にしようと考えたとりあえず強さを弱くするのは必要なので強くしないことにした強さのレベルには3種類用意してて強い、普通(というか中くらいの強さを表す単語として「普通」を使うべきではなかった)、弱いを用意した。弱いは0.05秒,普通は0.08秒,強いで0.1秒しか考えさせていない。そんなに短い時間で指し手を返されると遊んでる側としては「手を抜かれてるな」とか「手加減されてるな」と思ってしまうと考えたので実際に指し手を返すのは1秒後にすることにした(この1秒というのは固定だったのでAIが負けているときは深く考えているかに見えるように時間を変化させた方がいいかもしれない)強いモードでもそこまで強くないので頑張れば勝てる。(というか大学生の友人に遊んでもらうと強いモードでも弱すぎるといわれる。それでいいんだよそれで)強いモードに勝てれば自分はこのアプリの最高レベルに勝てたんだという自信を持てるんじゃないか、自信を持てたらどんどんリバーシ、さらにはほかのボードゲームを好きになれるのではと思ってこの設計にすることにした。これでも強すぎたみたいで反省。中学生でリバーシ初心者の弟にやらせてみたらこの探索時間でよさそうだったのでこれに決めたのだけれど...こういうボードゲームって勝ち将棋鬼のごとしといわれるように一方的にやられたりしますよね。いうのすごくつらくないですか。僕は昔リアル将棋で角道を開けた後、角を守る銀を動かしてしまって角をただでとられてしまったことあります。そこで投了しようとしたんですが「そんなにすぐ投了するの?」といわれてそのまま試合を継続したことがあります。ソフトでもαβ探索だとそういう加減をさせるには工夫が必要ですそこで囲碁で使われているモンテカルロ探索で探索させることにしましたモンテカルロ探索は勝率だけを最大化するので自分の陣地の最大化はせず「半目でも勝ちは勝ちっしょ?」って感じらしいですなのでリバーシでもそんなに大差で勝とうとはしないのではないかと思ってます(検証はしてない)なので負けてもまだ救いはあるように感じられるのではないかと思います。弱さではなくかわいさを売りにすることにした一番最初に言ったけど弱さを売りにしてるアプリに対して勝ってもうれしくないですよね(僕は)。いうアプリをインストールするのにも抵抗があります。自分の弱さと向き合うことは必要なことかもしれないけれど、そういうことをプレイヤーに求めるゲームは、「あなたはすごいよ!どんどん強くなってる!!」っていう報酬を与え続けてくれるゲームに比べて一般に嫌煙されるような気がします(なんでもできる強い皆さんにはわからないかもしれない)なんか話がずれてきたけど弱さをアピールするのではなくかわいさをアピールすることにしました私がリバーシのテストプレイをする中で身に着けた勝つためのコツみたいなのをルール説明のところに書いておいた(私も初心者なのでダメなコツかもしれないけど)後はトロフィー機能をつけてトロフィーを集める機能をつけた勝てても勝てなくてもトロフィー集めるのたのしーーー!(そろそろ文章書くの飽きてきた)ここからは今の実装の反省とこれからやろうと考えているアイディアについてとりあえず勝った時の報酬が弱い。エフェクトをつけて「あなたの勝ちですーーーーz_____!!!!すごーーーーーz_______い!」ぐらいしようそして勝った時しか報酬が与えられないというのは良くない。終盤に差し掛かって、勝てそうな場合は勇ましいBGMをかけて、勝ちそうになったことに対して報酬を与えたい。その曲は勝負がつくまではサビの前で止めておいて、勝敗が決まった瞬間にサビを流す。(RPGツクールのゲームにこういうのがあった。毎回プレイするのが楽しくなるシステムだった。)トロフィーを手に入れたことをちゃんとプレイヤーに知らせようルールなんて今どき誰も読まないのでそんなところに勝ち方のコツを書くのではなく、プレイヤーが勝負に負けてしまったらその時にTIPSとしてねぎらいの言葉として表示させよう石を置くのも気持ちよく置けるようにエフェクトをかけよう後は経験値やレベルの概念を導入したい。勝っても負けても経験値が入り(その量にはもちろん差をつけるが)、レベルが上がっていくのなら継続して遊びたいと思えるはず。敵にHPを用意してバトルものにするしかないように思えるが最近出てきたオセロニアというゲームとかぶりそうだし(アイディアとして参考になりそうだし遊んでみたいと思っているけどまだ遊んでないのでどんなゲームかはわかってないが)バトルがだめなのならリバーシなどといったボードゲームはほぼ実力であって、実力以外にレベルが上がれば有利にできるといった設計にするのは難しそうだな...レベルが上がればリバーシの試合を有利にできるスキルを使えるようにするのはどうだろう。スキルはある相手の石を自分の石にできる(心変わり)とか、絶対に相手にひっくり返されなくする(聖なる守り)とかを用意して、レベルが上がればそういうのを使えるようになる。(使える回数はMP(レベルが上がれば増える)で決める)みたいなのはどうだろう。(1)はてなブログをはじめよう!daruma3940さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。