2022-11-17 ver 1.4.0
・Electron 21.0.1 に対応。
2021-10-09 ver 1.3.0
・Electron 15.0.0 に対応。
・preload版、Node使用版同梱。
・28→38ページに増量。
HTMLレンダリングエンジンWebkitに、JavaScriptの実行環境node.jsが合体した『Electron』を利用すれば、HTML5の知識を利用してGUIアプリケーション(WinwosのEXEファイル)を作成できます。
『Electron』は、『Atom』や『Visual Studio Code』など、多くのソフトウェアで採用されている開発環境です。
この『Electron』を使って、GUIアプリケーションを作成する勘所を、本書ではまとめています。
サンプルとしてシンプルな「マークダウンエディタ」を作り、その全ソースコードを掲載しています。
-目次-
前書き
第1章 環境構築
1 nodistを利用したNode.jsの環境構築
2 Electronの環境構築
3 package.json
4 [preload利用] はじめの一歩
5 [Node利用] はじめの一歩
6 実行
第2章 Electron特有の知識
1 Node.jsとElectronの機能
2 メインとレンダラー 2つのプロセス
3 IPC - プロセス間通信
4 メニューとショートカット
第3章 配布用パッケージの作成
1~6
第4章 [preload利用] メイン プロセス側のコード
1~5
第5章 [preload利用] レンダラー プロセス側のコード
1~9
第6章 [Node利用] メイン プロセス側のコード
1~2
第7章 [Node利用] レンダラー プロセス側のコード
1~6
後書き
© 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円(税込)
いつの間にか、「Google Chrome」が「Internet Explorer」のシェアを圧倒して、けっこうな時間が経ちました。この「Google Chrome」のユーザーデータは、気付くとすぐに肥大化して、1GBを平気で超えるサイズになります。
そこで、数年前から「Google Chrome」のユーザーデータを、自動処理でメンテナンスしているのですが、そのことをまとめた本を書こうと思い立ちました。私以外にも、似たようなことを考えている人はいるだろうし、そのノウハウは別のことにも転用できるはずです。
というわけで、node.jsを使い、「Google Chrome」のユーザーデータを、自動処理でメンテナンスするプログラムを開発する本を作りました。是非、お手にとってください。
-目次-
第1章 序章
1-1 はじめに
1-2 環境
1-3 ユーザーデータの引っ越し
第2章 環境構築編
2-1 nodistを利用した開発環境の構築
2-2 package.jsonの作成
2-3 index.jsの作成と実行
2-4 実行用バッチファイルの作成
2-5 使用モジュール
2-6 メンテナンスの概要
第3章 プログラム編
3-1 ファイル構成
3-2 mod_report.js
3-3 mod_del.js
3-4 mod_clean.js
3-5 mod_db.js
3-6 index.js
第4章 終章
4-1 メンテナンスの実例
4-2 実行後
4-3 おわりに
本書は、形態素解析器『kuromoji.js』を使って日本語の解析を行なう方法を、『node.js』の環境構築から解説した本です。
私は2016年に『裏切りのプログラム ハッカー探偵 鹿敷堂桂馬』で小説家デビューをしました。とはいえ私は、文学畑の人間ではありません。小説の執筆についても、ソフトウェアの開発のようなアプローチで行なっています。そうした取り組みの一つが、『小説推敲補助ソフト「Novel Supporter」』の開発と公開です。
そうした、「小説をプログラミングで見る」際に役立つのが「形態素解析」です。「形態素解析器」(形態素解析を行えるツールやライブラ)を使えば、日本語の文章を品詞レベルで分解して、プログラムで詳しく見ていくことができます。
本書で扱うのは、JavaScriptから手軽に扱える形態素解析器『kuromoji.js』です。それでは、この『kuromoji.js』を使い、形態素解析で遊んでいきましょう。
第1章 序章
1-1 kuromoji.js について
第2章 環境構築編
2-1 nodistを利用した開発環境の構築
2-2 package.jsonの作成
2-3 index.jsの作成と実行
2-4 実行用バッチファイルの作成
2-5 使用モジュール
第3章 プログラム 基礎編
3-1 基本部分
3-2 引数の取得 getArgv関数
3-3 パスの初期化 getPths関数
3-4 ファイルの読み込み readFl関数
3-5 形態素解析の実行 tokenize関数
第4章 プログラム 応用編
4-1 形態素解析の結果そのまま fltrObj.plain関数
4-2 区切り位置で分割 fltrObj.split関数
4-3 読み方取得 fltrObj.yomi関数
4-4 単語集計 fltrObj.count関数
4-5 マルコフ連鎖 fltrObj.markov関数
第5章 おわりに
5-1 おわりに
2018年1月7日から準備を始めて、2018年2月22日にSteamでゲームをリリースした時の経験をマニュアル的にまとめた本です。
Steamworksへの登録準備から初めて、ストアの公開やアプリの登録、発売前後の広報や販促活動について一通り書いています。
2017年12月に、コミケで8bit風RTS『TinyWar』をリリースしました(RTS=リアルタイムストラテジー)。続いて2018年2月にSteamで、名前を『TinyWar high-speed』に改めて販売を開始しました(以下、全て『TinyWar』と表記)。
販売したゲームは、8bit風RTS『TinyWar high-speed』になります。
-目次-
前書き
第1章 はじめに
第2章 Steamworksへの登録
第3章 アプリ登録前の基礎知識
第4章 ストアの作成
第5章 アプリの準備
第6章 リリースまでの広報販促
第7章 リリース後の広報販促
第8章 おわりに
8bit風RTS「TinyWar」のアルゴリズムを、コード付きで解説した本です。「マップの自動生成」「ユニットの自動移動」「敵の建物自動配置」の処理を掲載しています。
2017年12月に、コミケで8bit風RTS『TinyWar』をリリースしました(RTS=リアルタイムストラテジー)。続いて2018年2月にSteamで、名前を『TinyWar high-speed』に改めて販売を開始しました(以下、全て『TinyWar』と表記)。
2018年4月に『技術書典4』にサークル参加したところ「TinyWarのアルゴリズム本が欲しい」と複数の人から言われました。過去に『TinySRPG アルゴリズムブック』という、SRPGのアルゴリズム本を出しているので、そのRTS版が欲しいという要望です。
そこで、本書『TinyWar アルゴリズムブック』を執筆しました。『TinyWar』のアルゴリズムをコード付きで解説する本です。『TinyWar』は、非常に機能が絞られているのでコードも短いです。
楽しく遊べるゲームでも、中身は単純に作れることを知っていただければと思います。実際のゲーム『TinyWar high-speed』もプレイして動作を確認していただくと、よりよく理解できます。
-目次-
前書き
コードについて
第1章 ゲームのルール
1-1 大まかなルール
1-2 必要なアルゴリズム
第2章 データ構造
2-1 マップ
2-2 ユニット
2-3 建物
第3章 マップの生成
3-1 生成の種類
3-2 土地の生成
3-3 街の生成
3-4 エリア分け
第4章 ユニットの移動
4-1 移動の概要
4-2 移動コスト表の作成
4-3 移動経路の作成
第5章 敵の建物配置
5-1 AIの思考方法とパラメータ
5-2 渦巻き状の処理
5-3 各マスの処理目次
二次元ゲームのワールドマップを自動生成するための本です。
小マップから、大マップまで、3種類のサンプルを元に、ワールドマップを自動生成する方法を、勘所とともに解説していきます。
コードは、実際にリリースしたゲームのコードを一部改造して用いています。それぞれのゲームのコードを元に、サンプルとして分かりやすいように簡易化してまとめています。
・『解像度「低」のマップ』
・生成比率で粗いマップを作成。
・『解像度「中」のマップ』
・高度生成、高度比率による地形創造。
・一定以上離散した町の生成処理。
・各町の領地を求めるエリア分け処理。
・『解像度「高」のマップ』
・畳み込みによる町候補地の算出。
・町間のネットワーク形成。
・地形を考慮した街道の生成。
本書を通して、二次元ワールドマップの自動生成の勘所をつかんでいただければと思います。サンプルコードを確認できますので、実際にコードを動かしてみると、よりよく理解できます。
-目次-
前書き
第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章 おわりに
付与コインの内訳
153コイン
会員ランク(今月ランクなし)
1%
初回50%コイン還元 会員登録から30日以内の初回購入に限り、合計金額(税抜)から50%コイン還元適用
複数商品の購入で付与コイン数に変動があります。
会員ランクの付与率は購入処理完了時の会員ランクに基づきます。
そのため、現在表示中の付与率から変わる場合があります。
【クーポンの利用について】
クーポン適用後の金額(税抜)に対し初回50%コイン還元分のコインが付与されます。
詳しくは決済ページにてご確認ください。