ご挨拶
こんにちは。ちゃうねんと申します。みかんに囲まれています。
この記事は定期ゲ・竹 Advent Calendar 2020 - Adventarの7日目記事です。
SoLAのサービスも始まって、最近はたくさんやることがありますね。
そんな(定期更新ゲーム|APゲーム)で遊んでいる皆さんはもれなく、
一度はこんなことを思ったことがあるのではないでしょうか?
それは……
自分の思い通りの定期更新ゲームを作ってみたい!
そうなると気になるのが……定期更新ゲーム制作がどれぐらい大変か?です。
実際どうなんでしょう?カレー作りと比べるとカレー何杯分ぐらい大変なんでしょうか。
僕はコミュニケーション能力がボロカスびしょ濡れ犬なので、実際に定期更新ゲームを運営している人に聞くのもなんだかはばかられます。
そういうわけで、今回は試しに定期更新ゲームを1日で作ってみたいと思います!
テーマを決める
まずはどんなゲームを作るのか、テーマを決めてみたいと思います。
1日で作ると決めたからには、大規模なテーマはできそうにありません。
困った時はなんとやらということで、集団知の力を借りてみました。
どんなゲームを作ればいいか、知人に聞いてみましょう。
全員匿名限定ウンチ(全員匿名で、限られたウンチをする会)を開催しては
せっかくてぃろだの運営実績で稼いだ「まともで頼れる人」という印象がどっかにいってしまうので、この案は惜しまれながらボツとなりました。
代わりに今回は、割合ギャンブルゲームを作ることにします。
割合ギャンブルゲームとは僕が時々Twitterでアンケート機能を使って遊んでいるもので、もともとは「ニダーラン」というゲーム内でプレイヤーが開催していたものです。
仕組みはなんとなくわかってください。
条件に当てはまる項目を予想して当てるゲームですが、自分がベットすると自分がベットした項目が当選しにくくなる、というのがキモですね。例えば「ここの投票率が15%以下」が当選するには、他の85%が他の項目にベットしている必要があります。
これを、1日に一回とか、1時間に一回とか開催すれば「定期更新ゲーム」と言い張れそうです。
なんだか違う気もしますが、定期的に更新されればなんでもいいのです。
実際に作ってみる
それではやっていきましょう。
プレーンなPHPで やります。PHPが何かとかは説明しません。ここから先は一切の専門用語の説明を省くので、わからない単語が出てきたら必ず全部ググってください。
ポヒョイーン現象
機能を洗い出してみる
まずは、どんなページと機能を作ればいいか考えてみましょう。
定期更新ゲームですから、最低限交流機能と更新機能は欲しいですね!
多分「結果表示ページ」「宣言ページ」「更新機能」と「ルールブックページ」の4つぐらいで十分のはずですが、念の為もれなく洗い出しておきます。
考えていくと結構多いですね。最終的に7~8個ぐらいいるかもしれません。
- 現在行われているギャンブルと交流チャットを表示するメインページ
- 交流チャットを投稿する機能
- 自分が参加したギャンブルの過去結果を表示するページ
- 更新を行う機能
あれ?
- キャラクターを新規登録するページ
- ログインするための機能
- ログアウトするための機能
- 更新を行う機能
ちょっとちょっと
- ルールブックのぺージ
- 利用規約を書くページ
- 色々なページに表示する、共通のメニュー
- 上記のデータを保存するためのデータベースと、データを取り出すための機能
- その他もろもろ共通機能や細々とした機能や.....
いやいやいやいや
1日で定期更新ゲームを作ろうとしないほうがいいです。
全然終わりませんでした。
結果から言うと、2日でなんとか形にはなりました。
が、かなり雑にコードが書かれていますし、バグが大量に埋もれているはずです。
運用問題
さて、定期更新ゲームを作っている中で困ったことが一つあります。
このゲーム、いつまで更新し続けるの?
そもそも開発が終わったらこんなゲームに1秒だって時間は使いたくありませんし、毎日とか毎週予定が入るのも嫌です。
今回はゲームがゲームなので自動更新にするという手もなくはないのですが、それではものすごく重大な問題が発生します。
チキンレースができないのです。
チキンレース、更新予定時刻を過ぎても尚宣言を続ける行為、それはいわばGMとプレイヤーの性格と予定の読み合いであり定期更新ゲームで最もアツい行為と言っても過言ではありません。
なにより、自動的に更新されるゲームには人の手の暖かさ、ぬくもりがありません。プログラムだけで運営されるゲームの冷たさはすぐに人に伝わってしまうでしょう。
チキンレースは可能にしたい、でもこのゲームの運営につきっきりにはなりたくない……難しい問題ですね。
そこで、更新予定時刻以降は、ユーザーがいつでも押せる更新開始ボタンを設置しました。
これにより、プレイヤーは示し合わせて「押すなよ!押すなよ!」で遊ぶことができます。もしかしたら普通にだれも押さないかもしれませんね。嫌。ちゃんと押してください。
あとがき
ひとまず、定期更新ゲームを作るのが大変であることがわかりました。あまりにもひどいので、ソースコードの公開はしません。これを真似する人間が出てくると困る。
今回作成したゲーム「トバトバ」は、以下から遊ぶことができます。
10万のバグを内包しています。
こんなゲームやってないでSoLAで遊んでください。
以上、ご視聴ありがとうございました。
おわり~。