レトロゲーム風RPGの全コードを掲載して解説した本。HTML5+JavaScriptで、ライブラリを使わずにゼロから開発しています。サンプルとして『OheyaQuest』という、マップ自動生成タイプのRPGが付属します。
レトロゲーム風RPGの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずにゼロから開発しています。サンプルとして『OheyaQuest』という、マップ自動生成タイプのRPGが付属します。
実際に遊べるRPGを試しながら、その中身を確認できる技術書です。シンプルなコードなので理解しやすいです。
サンプルゲーム『OheyaQuest』の紹介もします。広いマップを自由に旅して、街を回ってアイテムや呪文を集めます。最後は城に行き、闇の王を倒すとクリアです。10分ほどで遊べます。
本書を通して、ゲーム開発の勘所をつかんでいただければと思います。
-目次-
前書き
第1章 全体像
1-1 作るRPGの仕様
1-2 ファイル構造
1-3 大まかな分類
1-4 js-game/nest.js
1-5 シーンのファイルの構造
第2章 HTML、CSS、main.js他
第3章 ゲーム基本関数
第4章 リソース管理関数
第5章 タイトル シーン
第6章 マップ シーン
第7章 イベント シーン
第8章 バトル シーン
後書き
© 2019 柳井政和
ダンジョンを探検するアクションゲームの全コードを掲載して解説した本です。HTML5+JavaScriptで、ライブラリを使わずに開発しています。
サンプルのコードが付いており、実際に遊ぶことができます。遊んだり、改造したりしながら、ゲームの中身を確認できる技術書です。
ゲームは、以下の特徴を持っています。
・画面をタップして、その方向にキャラクターが移動する。
・迷路の要素を含んだダンジョンを自動的に生成する。
・鍵を取って、ゴールの扉まで移動するとクリアという、イベント要素が入っている。
・イベントが起きると、ドット絵のダイアログを表示する。
・移動速度やアルゴリズムの違う敵が、ダンジョン内を徘徊している。
・敵に当たると死亡する。
・レトロゲーム風に、ドットのみで構成された画面を表示する。
・外部ライブラリを使わない。
本書を通して、ゲーム開発の楽しさを体験していただければと思います。
目次は以下になります。
- 目次 -
・第1部:枠組み
・ 第1章:ゲームの構造と素材
・ 第2章:HTML、CSS、main.js他
・ 第3章:ゲームの基本処理
・第2部:ゲーム本体
・ 第4章:タイトル シーン
・ 第5章:ゲームのデータ
・ 第6章:ダンジョン生成1 アルゴリズム
・ 第7章:ダンジョン生成2 コード
・ 第8章:敵
・ 第9章:移動処理
・ 第10章:マップ シーン1 初期化
・ 第11章:マップ シーン2 移動とイベント
・ 第12章:マップ シーン3 描画
・第3部:基本処理
・ 第13章:基本処理
・ 第14章:リソース
・ 第15章:ユーティリティ
・ 第16章:UI部品
330円〜1,980円(税込)
Javaで「NyARToolKit」互換のARマーカー認識プログラムを、フルスクラッチで書いた時のレポートです。
入力画像からマーカーを検出して、3D上に配置するまでのアルゴリズムを解説しています。
ARマーカーを認識する基本的な処理の流れとともに、その処理の内容を、文章と図で説明しています。
-目次-
● はじめに
AR マーカー
ARToolKit
独自ARマーカー認識プログラム開発の経緯
独自ARマーカー
● アルゴリズムの大枠
はじめに
処理の流れ
用語解説
● プログラムを書く前に
GC対策
オブジェクトの参照
ループの判定内で計算を行わない
キャストを避ける
配列のコピーには、System.arraycopyを使う
その他細かな無駄を省く
● 画像の加工
ガウス・フィルタ
2値化
ラベリング
ラベルの排除
ラベルに付随して記録する値
通常のARマーカーを認識する方法
● パターン認識
ラベルのソート
パターン形成
4×4の行列を符号化
● 空間認識
はじめに
モデル・ビューのX軸、Y軸、Z軸を計算
Z方向の移動量を計算
X、Y方向の移動量を計算
モデル・ビューの行列を生成
● 終わりに
「+や%の演算子が使えない」「if文が使えない」「Mathが使えない」「数字や文字列が使えない」。そんな過酷な環境でのベストプラクティス。
コードゴルフは、コードを短く書く遊びです。ショートコーディングとも呼びます。
この本は、禁止文字付きコードゴルフを1年以上出題して、その解答ノウハウをまとめたものです。
以下、詳細です。
「CodeIQ」というサイトで出題してきた、特殊なコードゴルフ「ダンジョン問題」の解答ノウハウをまとめました。
「ダンジョン問題」では、レベルが上がるごとに、「+ - * /」などの演算子、「if」や「eval」などの予約語、「Math」などの組み込みオブジェクトが禁止されていきます。その制約の中で、短いコードを書かなければなりません。
筆者は、この「ダンジョン コードゴルフ」を出題するとともに、解説を書いてきました。そうした解説記事の中から、特定の処理を別の書き方で書いたコードをまとめた本を作りました。
-目次-
前書き
JavaScript コードゴルフの基本
値を得る
各種演算
文字列処理
その他
おまけコード
- The Art of Runtime Error -
実行してみないと発生しない「実行時エラー」は、プログラムを書いた時点では発見できない、厄介なエラーです。
本書では、100以上の手法で、実行時エラーを起こしていきます。また、それらを分類して整理していきます。
様々な実行時エラーを見ていくことで、「どういった時に実行時エラーが出るのか」といった知見を得ることができます。
また、普通にプログラミングしていたら見ることのできない、様々なエラーメッセージに出会うことができます。
本書では、実行時エラーを発生させる1行コードとともに、実際に出力されるエラーメッセージを掲載しています。
-目次-
第1章 基本
第2章 eval
第3章 パースやエンコード
第4章 toString
第5章 正規表現
第6章 Object
第7章 DOM操作
第8章 XMLHttpRequest
第9章 Canvas
小さな手作りシミュレーションRPG「TinySRPG」のアルゴリズムを、コード付きで解説した本です。
全7章で、「計算編」「マップ描画編」「マップ操作編」「戦闘編」「思考編」「マップ作成のTIPS」「レベル機能のTIPS」という構成になっています。
著者は、2016年のコミケ90(夏コミ)以降、「TinySRPG」というシミュレーションRPG(SRPG)のシリーズを出しています。また、過去のiモード時代に、iアプリとして多くのSRPGを出してきました。
そうした知見を元に、SRPGのアルゴリズムをまとめた本です。
この本には、実際に「TinySRPG」で使用されているアルゴリズム部分のコードが、そのまま載っています。SRPGを作る際の参考にしてください。
-目次-
1章 計算編
第2章 マップ描画編
第3章 マップ操作編
第4章 戦闘編
第5章 思考編
第6章 マップ作成のTIPS
第7章 レベル機能のTIPS
著者は、HTML5+NW.jsで同人ゲームを多数作成しました。そこで、NW.jsで同人ゲームを作るための基礎知識の本を書きました。
NW.jsは、JavaScriptの実行環境node.jsと、ブラウザのレンダリングエンジンWebKitが合体したものです。ファイルアクセスなどのローカルの処理をnode.jsのavaScriptで、表示はHTML内のJavaScriptで行えます。
NW.jsの環境には、色々と癖があり、それをあらかじめ知っておけば、面倒な試行錯誤をしなくても、ゲームを作ることができます。
各種バッチファイルや、リソース読み込みの関数などは、全てソースコード付きです。
配布用実行ファイルを、自動作成するバッチファイルも掲載しています。また、サウンド関係は、BGMの管理やSEの同時発音などを可能にしたライブラリにしており、そのまま使えます。
第1章 NW.jsについて
・ NW.jsとは
・ ドキュメント
・ 開発環境を作る
第2章 アプリの構成とファイル
・ ディレクトリ構成
・ package.jsonの作成
・ プログラムの実行
第3章 配布用実行ファイル
・ exeの仕組み
・ exeの作成
第4章 WebとNW.jsの処理の分岐
・ 環境判定用コード
第5章 カレントディレクトリ
・ 開発環境と本番環境の違い
・ 違いを吸収する処理
・ パスの解決
第6章 ファイル操作
・ テキスト読み込み 同期
・ テキスト書き込み 同期
・ ファイル削除 同期
・ 実行 同期
第7章 リソースの読み込みと利用
・ 全体の構成
・ 画像
・ Webフォント
・ サウンド
付与コインの内訳
500コイン
会員ランク(今月ランクなし)
0%
コイン還元キャンペーン
1,500円以上購入(※)で
50%
複数商品の購入で付与コイン数に変動があります。
クーポンご利用時はキャンペーンコイン付与の対象外です。
詳しくは決済ページにてご確認ください。
会員ランクの付与率は購入処理完了時の会員ランクに基づきます。
そのため、現在表示中の付与率から変わる場合があります。
※「13周年コイン大還元祭」は1回のお支払い金額1,500円(税込)以上購入の場合に還元コインが付与されます。