二次元ゲームのワールドマップを自動生成するための本です。小マップから、大マップまで、3種類のサンプルを元に、ワールドマップを自動生成する方法を、勘所とともに解説していきます。 私はよく、ゲームを作ってコミケで出しています。その際に、マップの自動生成機能をよく組み込みます。理由は、私が一人でゲームを作っていて、あまり大量のデータを手作業で作れないからです。ボリューム感を出すためには、マップの自動生成機能は不可欠です。 そうしたことをよくしていると、コミケでブースに来た人から「マップの自動生成についての本を出して欲しい」と言われました。確かに、その内容の本は自分でも書こうと思っていました。そこで、サンプルコードを書き起こして本を作成しました。 コードは、実際にリリースしたゲームのコードを一部改造して用いています。それぞれのゲームのコードを元に、サンプルとして分かりやすいように簡易化してまとめています。 ・『解像度「低」のマップ』 ・生成比率で粗いマップを作成。 ・元にしたゲーム『Army Defense』シリーズ(タワーディフェンス) ・『解像度「中」のマップ』 ・高度生成、高度比率による地形創造。 ・一定以上離散した町の生成処理。 ・各町の領地を求めるエリア分け処理。 ・元にしたゲーム『TinyWar high-speed』(8bit風高速RTS) ・『解像度「高」のマップ』 ・畳み込みによる町候補地の算出。 ・町間のネットワーク形成。 ・地形を考慮した街道の生成。 ・元にしたゲーム『無限世界SRPG』(ローグライクSRPG) 本書を通して、二次元ワールドマップの自動生成の勘所をつかんでいただければと思います。サンプルコードを確認できますので、実際にコードを動かしてみると、よりよく理解できます。また、上記の「元にしたゲーム」も遊んでいただければ嬉しいです。 目次 前書き 第1章 マップ自動生成の基礎知識 1-1 ゲームの目的に合わせたマップ生成 1-2 擬似乱数と再現性 1-3 マップの解像度と生成方針 第2章 コードについて 2-1 js/game.core.js 2-2 js/ui.js 2-3 index.html 第3章 解像度「低」のマップ 3-1 比率表による生成 3-2 全体のコード 第4章 解像度「中」のマップ 4-1 全体のコード 4-2 高低差の生成 4-3 比率表による生成 4-4 町の生成 4-5 エリア分け 第5章 解像度「高」のマップ 5-1 全体のコード 5-2 町候補地の生成 5-3 町間の接続の生成 5-4 道路の生成 第6章 おわりに
더보기