websim.ai作例 ストップバトル(ストップウォッチでコンピューター対戦ゲーム)
ストップウォッチを対戦ゲーム風にしよう
ゲーム風とは、対戦できたり、ハイスコアを目指すなどの要素です。他の競う要素があればそれでも構いません。
完成ゲームはこちらからどうぞ
https://websim.ai/@readmaster/stopbattlegame
最初のトライから失敗まで
今回は例えば、「ストップウォッチをぴったり止める」「狙った秒数で止める」というようにしていきます。
命令文:「指示された秒数でぴたりと止めるとスコアがもらえるゲームにしてください。」
このピタリと止めるゲームが面白いかはおいておいて、概ね指示したものが出来ています。早速スタートして遊んでみてください。
プレイすると分かりますが、秒数が0.01秒単位になっていて細かくなっていますよね。最初は1秒単位でしたので。
また「目標時間」があり、その付近に止めるとスコアが高くなることが分かります。
「新しいゲーム」をクリックすると、新しい目標時間となるようです。
対戦をしたいので、今回はコンピューターと対戦するようにしてみましょう。
命令文:「コンピューター対戦できるようにしてください」
コンピュータースコアという項目出来ましたね。早速スタートしてみましょう。スタートしてみると分かりますが、コンピューターが勝手に動いてくれるわけではないようです。プレイヤーVSプレイヤーみたいな感じですね。
そこで、コンピューター画面も同じように作って、同一画面で対戦するというようにしてみましょう。
命令文:
「プレイヤーとコンピューターで対戦できるようにしてください。プレイヤー画面とコンピューター画面で別々に分けて、プレイヤーのスタートでコンピューターも開始するようにしてください。」
少し長くなりましたが、はっきりと伝えると意図が伝わりやすくなる感じです。画面レイアウトは乱れていますが、動くか試してみましょう。
近い動きですが、コンピューターにスコアが入らないのでそこを修正してみましょう。
命令文:「コンピューターにもスコアが入るようにしてください。」
さあ試してみましょう。
やはり「ストップ」時にコンピューター側にはスコアが入ってないですね。
同時にやると難しいかもしれません。
ここで、別々に、つまりプレイヤーがスタート&ストップしてから、コンピューターがスタート&ストップする、というようにタイミングをずらすようにしてみましょう。
命令文:
「プレイヤーとコンピューターのカウント開始は別々にしてください。
プレイヤーがストップした後、コンピューターもスタートしてストップするようにしてください。
その際、コンピュータープレイ中ということを画面に表示してください。」
※入力欄での「改行」は、「Shift+Enter」で可能です。
スタートしてみると残念ながらコンピューターがスタート&ストップしてくれないようです(笑)
こうなったら気合いです(笑)
命令文:
「コンピューターも、スタートしてストップするということをしてください。
プレイヤーと対戦できるようにしてください。
3回スタート&ストップをして、スコアが高い方を勝ちとしてください。」
勝利条件を明確にしてみました。3ラウンドで競う形です。変化はあるでしょうか?試してみると、コンピューターがやはりカウントアップしないのですが、何度もスタート&ストップしていると動き始めました。このあたりで動きが伝わってないようですね。
命令文:
「プレイヤーがスタートしたタイミングで、コンピューターもカウントアップするようにしてください。
プレイヤーがストップするのは別で、コンピューター側はコンピューター側で「ストップ」してください。コンピューターの方が正確なので、多少手加減してください。
プレイヤーとコンピューターがストップしたら、1ラウンド完了です。
これを合計3回行い、スコアが高い方を勝ちとしてください。」
スタートすると、同時スタートに戻せました。今回はコンピューターもカウントアップしています。しかし、2ラウンド目になると動かなくなりました(笑)
命令文:
「毎ラウンド毎に、プレイヤーがスタートすると、コンピューター側のタイマーもカウントアップするようにしてください。
コンピューター側のスコアも反映されるようにしてください。」
これではどうでしょうか?
これでも思い通りの動きはしてくれなさそうです。
こういう時はどうするか?
一つは、最初からやり直すパターンです。または途中まで戻して再度命令を書くというものです。
体感的には、最初から書き直すとあっさりうまくいくこともありますので、今回は最初からさっと書き直してみましょう。
※ホーム画面に戻ると、先までのゲームは消えます。履歴には残ります。残しておきたいなら「ブックマーク」をお忘れなく。
気を取り直していきましょう。
再挑戦!もう一度チャレンジして作ってみる
命令文1
「コンピューターと対戦するストップウォッチゲームを作ってください。指定された秒数で止めればスコアが高くなります。3回競ってスコアが高い方が勝ちとします。コンピューターの強さも選べるようにしてください。」
今までの知見から一気に書いてみました。さあどうなるでしょうか?
スタートしてストップ。その後リセットしてを繰り返すと一応それっぽく動きます。コンピューターのプレイ画面はありませんが、できる感じがしますね!つまり、内部的にコンピューターが動いているということですね。
リセットはおそらく「次のラウンド」でかつ、タイムをリセットする動作が自然なのでそのように命令しましょう。
命令文2
「「リセット」ボタンは「次のラウンドへ」にいく動きにして、タイムを0秒にクリアしてください。」
これでもう少しスムーズにできるようになるはずです。どうでしょうか?
この場合もスタート&ストップ後に、何度もスタート&ストップが出来てしまうので、ストップ後は「次のラウンドへ」だけが出るようにしましょう。
命令文3
「ストップ後は「次のラウンドへ」ボタンだけ表示するようにしてください。」
命令を理解していないと「ラウンド毎」で「ストップボタン」を不可視にするなどはできないのですが、スムーズに理解してもらいました。やった!
この時点でも概ね遊べる気がしますが、もう少し作り込んでみましょう。
命令文4
「プレイヤーのストップウォッチ画面とは別に、コンピューターのストップウォッチ画面も表示してください。
画面全体をわくわく楽しいイメージのデザインにしてください。」
はい。再度別画面に出来ないかを指示してみました。そして、画面全体のデザインも指示してみました。
さあ、これで動くでしょうか?やってみましょう!
コンピューター側の「タイムカウントアップ」は残念!ながら出来ませんが、ストップ時では見えています。面白いですね。
また、最後でも「次のラウンドへ」となっているのが気になりますね。
あとはゲームタイトルも少し変えてみましょう。この3点を修正してみます。
命令文5
「ゲームタイトルを「ストップバトル」としてください。
スタート後のコンピューター画面は「0」のままでなく、「コンピューター試行中」のように、コンピューターもやっている感じを出してください。
ラウンド3終了後は「次のラウンド」でなく「ゲーム結果へ」としてください。」
さあどうでしょうか?
ゲーム名は修正されましたね。次のラウンドの動きも最後は問題なさそうです。問題は、コンピューター試行中が、常に出てしまって気持ち悪いのでここは修正したいですね。
命令文6
「「コンピューター試行中」は、プレイヤーがスタートを押した後と、ストップが押されるまでとしてください。それ以外では表示しないでください。」
これでどうでしょうか?
概ね動きますね!「コンピューター試行中」の文字が少し大きいせいか、画面が動いてしまうので、文字を小さくするようにしてみましょう。
命令文7
「「コンピューター試行中」の文字サイズをもう少し小さくしてください。」
いい感じですね!
なお、上級は相当強いです。僕は勝てませんでした(笑)
完成したゲームはこちらでも公開してみます。うまく出来なかった人はこちらも参考にしてみてください。
https://websim.ai/@readmaster/stopbattlegame
命令文まとめ
再挑戦してうまく出来た方の命令一覧です。
「コンピューターと対戦するストップウォッチゲームを作ってください。指定された秒数で止めればスコアが高くなります。3回競ってスコアが高い方が勝ちとします。コンピューターの強さも選べるようにしてください。」
「「リセット」ボタンは「次のラウンドへ」にいく動きにして、タイムを0秒にクリアしてください。」
「ストップ後は「次のラウンドへ」ボタンだけ表示するようにしてください。」
「プレイヤーのストップウォッチ画面とは別に、コンピューターのストップウォッチ画面も表示してください。画面全体をわくわく楽しいイメージのデザインにしてください。」
「ゲームタイトルを「ストップバトル」としてください。スタート後のコンピューター画面は「0」のままでなく、「コンピューター試行中」のように、コンピューターもやっている感じを出してください。ラウンド3終了後は「次のラウンド」でなく「ゲーム結果へ」としてください。」
「「コンピューター試行中」は、プレイヤーがスタートを押した後と、ストップが押されるまでとしてください。それ以外では表示しないでください。」
「「コンピューター試行中」の文字サイズをもう少し小さくしてください。」
以上から命令自体は7回となりました。
試行錯誤して、プレイしたり、考えたり、命令を打ち込むなどで時間は溶けがちですが、楽しんでいきましょう!