【制作の裏側 6】「つくってほしい場所」の投票を、ずるができないしくみにしました
「制作の裏側」は、メタバースまちづくりプロジェクトの運営チームが、ワールドや公式サイトをつくる中で考えたことや、うまくいかなかったことを紹介するシリーズです。6回目は、「ワールドにしてほしい町」に投票できるしくみをつくったときの話です。
「この町もつくってほしい」を伝える方法
このプロジェクトのワールド(Roblox の中の街)は、今は京都府の木津川市・精華町・京田辺市と、奈良市(西部)です。まだワールドのない町をリクエストしたいときは、これまで「お問い合わせから連絡してください」という方法しかありませんでした。
そこで、公式サイトに投票のしくみをつくりました。
- 全国1,747の市区町村から選んで投票できます
- 投票できるのは会員だけで、1人につき毎月3か所までです
- 票の多い順(ランキング)は、ログインしなくてもだれでも見られます
- すでにワールドがある町は、選ぶところに出てきません
ただし、票の多い順に必ずつくるわけではありません。いただいた票は、次にどの地域をつくるかを決めるときの参考にします。ご要望をもとに順次つくっていきますが、すべてのご要望にお応えできるとは限りません。
いちばん悩んだのは「票をどこで数えるか」
ウェブサイトは、みなさんのパソコンやスマートフォンの中(ブラウザ)で動くプログラムと、運営のコンピューター(サーバー)で動くプログラムが、いっしょに働いて動いています。
最初は「町ごとの票の合計を、ブラウザから直接ふやす」という、かんたんな方法を考えました。でも、ブラウザで動くプログラムは、使う人の手元にあります。手を加えれば、「自分の推したい町を9999票」にできてしまうおそれがありました。
そこで、役わりを次のように分けました。
- ブラウザから書きこめるのは、「自分の今月の票(3か所まで)」だけ
- 町ごとの合計は、サーバー側で自動的に動く処理が数える。ブラウザからは見るだけ
学級の投票にたとえると、投票用紙は自分で書くけれど、票を数えるのは係の人だけ、というしくみです。これで、票の合計を手元から書きかえることはできないようにしました。

子ども向けのサービスでは、「数字がごまかされていない」と安心して使えることが、とても大切だと考えています。
見落としやすい落とし穴
ほかにも、気をつけたことがあります。
- 同じ処理が2回動くことがある:クラウド(インターネットの先にあるコンピューター)のしくみ上、1回の投票で数える処理が2回動くことがあります。数え終わった印を残して、二重に数えないようにしました
- 月の区切り:サーバーの時計は「世界標準時」で動いていて、日本の時計より9時間おくれています。そのままだと、毎月1日の朝9時までが前の月あつかいになってしまうので、日本時間に合わせる計算を入れました
- 票を取り消すとき:票を消してしまうのではなく、「1票へらす」として記録するようにしました。消してしまうと、あとで数え直す手がかりが残らないからです
うまくいかなかったこと
手元で動かす練習用の環境で投票をためしたとき、ランキングの数が増えませんでした。調べてみると、ブラウザ側のプログラムが本番用の設定を読んでいて、練習用とは別の場所に票を書きこんでいたのです。設定を直してやり直すと、正しく動きました。
この作業は、運営チームが AI(Claude Code)と相談しながら進めました。
「できないこと」をたしかめるテスト
完成したしくみは、24件のテストでたしかめ、すべて合格しました。中身の半分以上は、「ちゃんと断られるか」の確認です。
- ログインしていないと、投票できない
- 4か所目は選べない
- 同じ町に2票は入らない
- 前の月の票は書きかえられない
- ほかの人になりすまして投票できない
- 合計の数を直接書きかえられない
「できること」より「できないこと」をたしかめるほうが、安心につながるテストになりました。
京都府の外に住んでいるみなさんへ
今ワールドがある地域はまだ少ないですが、投票は全国の市区町村から選べます。「自分の住んでいる町が、Roblox の中にあったらいいな」と思ったら、おうちの人に話してみてください。
会員登録をして投票できるのは、18歳以上の大人の方です(会員登録は無料です)。会員登録は、受付中です。作品の応募も、同じく大人の方が会員登録をして行います。作品を置く場所は、木津川市・精華町・京田辺市と、奈良市(西部)から選びます。
次にすること
1. おうちの人と一緒に、地域ワールドのページで、今ある地域と投票の案内を見る 2. 「みんなでつくる」ページで、会員登録から作品応募までの流れを見る 3. 作品応募ガイドラインで、作品の決まりを確かめる
プロジェクトのくわしい説明は、「プロジェクトについて」のページにあります。