創世 — 世界が生まれる
mmorpg/9539b82「多くのプレイヤーが、同じ世界に同時にいられること」
最初の世界は、MMORPGの土台だけを持つ最小の世界でした。Flutter製のクライアントとNode.js製のWebSocketサーバーで、プレイヤーがログインし、歩き、モンスターを攻撃し、チャットできます。全体で約960行のコードから始まりました。
5D QUEST と〇だけクエストは、ルーラー(人)が世界の法則を決め、クリエータ(AI)がそれを形にすることで、一歩ずつ育ってきたMMORPGです。
このページは、その世界が生まれてから今日までの進化の記録です。
最終更新 2026.10.02 · 第9章「2026年の地球」の動画を追加
この世界には、ふたりの「つくり手」がいます。ルーラーは世界がどうあるべきかを決め、クリエータはそれを動くコードに変えます。どちらか一方だけでは、世界は動き出しません。
開発では、新しい法則を試すたびに世界をまるごと複製し、別の世界線として育てています。うまくいった世界線は本流(marge)へ合流し、〇だけクエストのように新しい世界として独立するものもあります。まさに「もし・IF」で分かれていく五次元世界そのものです。
開発の記録(Gitのコミット)から、世界が大きく変わった節目を章ごとにまとめました。それぞれの章で、ルーラーが決めたことと、クリエータが形にしたことを並べています。
「多くのプレイヤーが、同じ世界に同時にいられること」
最初の世界は、MMORPGの土台だけを持つ最小の世界でした。Flutter製のクライアントとNode.js製のWebSocketサーバーで、プレイヤーがログインし、歩き、モンスターを攻撃し、チャットできます。全体で約960行のコードから始まりました。
「この世界では、プレイヤー同士も戦えるようにする」
同じ日のうちに、世界に新しい法則が加わりました。プレイヤーにHPが生まれ、倒されると10秒後に世界へ戻ってきます。最初の世界は org/ と bk/ に保管され、PvPの世界線が独立しました。
「戦った経験が、キャラクターを成長させる」
経験値とレベルの法則が生まれました。モンスターやプレイヤーを倒すと経験値が入り、レベルが上がると最大HPが増えて全回復します。画面にはレベルアップの演出が加わり、クライアントは約640行に成長しました。
「分かれて育った世界を、ひとつの本流にまとめる」
ルーラーは、創世の世界をもとに本流 marge/ をつくり、そこへPvPの世界線、続いて成長の世界線を順番に合流させました。この日から、marge/ が5D QUESTの本流になります。
本流とは別に、Delphiで画像から四角い領域を見つけて「正方形・横長・縦長・文字らしいもの」に見分ける実験が行われました。外部の画像処理ライブラリを使わず、グレースケール化・二値化・領域の切り出しまでを自前で実装しています。形と色で世界を見分ける、という考え方の小さな試みです。
「プレイヤーを守る存在が、この世界にいてほしい」
プレイヤーでもモンスターでもない、第三の存在「Guardian(守護者)」が生まれました。守護者は自分の領域を持ち、領域に入ったプレイヤーを回復し、侵入したモンスターを攻撃し、領域ごとゆっくり移動します。世界の住人が、自分の役割で動き始めた章です。2026.09.06 に guardian_v0 として保存されました。
「もし世界が〇だけだったら?」
五次元世界のひとつ「〇だけクエスト」が、独立した世界線として動き出しました。最初に世界へ生まれたのは木です(このときはランダムに配置)。本流では、丸と丸が重なると「赤の色と重なりました」と色で知らせる仕組みが加わりました。すべてが〇で、色で分かれる世界の法則が、コードになり始めます。
「この世界に、海と陸と、自然の大地を」
木が生まれてから23分後、世界に大地が生まれました。標高と湿度の2つのノイズから、マスごとに地面の種類を決めます。海に囲まれた陸が島となり、地面に合わせて木や岩が置かれます。同じシードを使えば、同じ世界を何度でも再現できます。
「島に、人が集まる街を」
さらに10分後、世界は「島々」と「街」を持つようになりました。大きな島と小さな島をいくつも生み出し、ある程度の広さの島では平らな場所を探して街をつくります。中央に広場と井戸、そこから十字に道が延び、道沿いに家が建ち、外周には畑が広がります。平地が狭ければ小さな村になります。プレイヤーは街の広場から旅を始め、モンスターは街の外の自然に現れます。
「〇だけの世界の舞台を、2026年の地球にする」
ランダムな島々の世界は、実在の地球へと進化しました。地球を経度・緯度0.25度ごとのマスに分け、実際の陸地と海の形(Natural Earth のパブリックドメインの地図データ)に、砂漠・熱帯雨林・ツンドラ・山脈・氷床・湖を重ねました。世界の主要都市の位置には街が生まれ、プレイヤーは東京から旅を始めます。
地球はとても広いため、15度四方のルームに分け、同じルームにいるプレイヤーにだけ情報を送ります。ルームの端を越えると隣のルームへ移り、東と西は地球と同じようにつながっています。
日付とコミットIDは、リポジトリ mmorpg2 の開発記録にもとづいています。第6〜9章は、2026.10.02 の20:18から21:21までの約1時間のあいだに、続けて起きた進化です。木が生まれ、島ができ、街が建ち、そして世界は地球になりました。
第9章「2026年の地球」まで進化した、〇だけクエストの今時点の状態を動画でご覧いただけます。
YouTubeで動画を見る ↗世界のルールを動かしているのはサーバー(server.js)です。新しい法則が加わるたびに、世界の心臓部は大きくなってきました。〇だけクエストでは、server.js の横に「世界そのものをつくるコード」(地図の生成)が生まれ、心臓部は2つに分かれて育っています。
濃い色が server.js(世界のルール)、薄い色が地図の生成コード(世界そのもの)です。第9章では、このほかに地球のデータをつくるツール(build_earth_2026.js、487行)が加わっています。
それぞれの世界線が、どの法則を持っているかの一覧です。法則は消えずに積み重なり、新しい世界線へ受け継がれていきます。
| 世界線 | 移動・同期 | モンスター | チャット | PvP | 経験値 | 守護者 | 自然 | 街 | 地球 |
|---|---|---|---|---|---|---|---|---|---|
| mmorpg(創世) | ● | ● | ● | — | — | — | — | — | — |
| pvp(対戦) | ● | ● | ● | ● | — | — | — | — | — |
| exp(成長) | ● | ● | ● | ● | ● | — | — | — | — |
| marge(本流) | ● | ● | ● | ● | ● | — | — | — | — |
| guardian_v0(守護者) | ● | ● | ● | ● | — | ● | — | — | — |
| 〇だけクエスト | ● | ● | ● | — | — | — | ● | ● | ● |
ルーラーが法則を決め、クリエータが形にする。
その積み重ねが、世界の歴史になる。— 5D QUEST EVOLUTION LOG
分かれて育った法則を〇だけクエストの世界へ集め、5D QUEST の構想にある「世界がプレイヤーに応える」MMORPGへ近づけていきます。
東京から世界の都市へ。ルームを行き来しながら、2026年の地球を〇の世界として広げていく。
対戦・成長・守護者の法則を、〇だけクエストの世界へ合流させる。
□(時と空間と次元)を色で分け、能力・スキル・特殊能力を設計する。
AI NPCとクエスト生成で、プレイヤーとともに動き続ける世界へ。
次の進化の内容は構想段階で、開発の中で変わる可能性があります。このページは、世界が進化するたびに書き足していきます。
この記録ページそのものも、世界とともに進化しています。更新する前のページは、その時点の姿のままアーカイブとして残しています。
5D QUEST と〇だけクエストの世界観は、それぞれの紹介ページでご覧いただけます。