English | 日本語
crisp-game-lib
はブラウザゲームを素早く簡単に作るための JavaScript ライブラリです。
-
docs/getting_started/index.htmlをダウンロードします。
-
index.html
をテキストエディタで開き、<script>
エレメントにあなたのゲームのコードを書きます。 -
index.html
をブラウザで開き、ゲームを遊びます。 -
index.html
をあなたの Web サーバに置くことで、あなたのゲームを公開することもできます。
-
このリポジトリをクローン、もしくはダウンロードします。
-
npm install
-
docs/_template
ディレクトリをコピーしdocs/[あなたのゲームの名前]
にリネームします。 -
docs/[あなたのゲームの名前]/main.js
をエディタで開き(VSCodeを推奨)、あなたのゲームのコードを書きます。 -
npm run watch_games
-
http://localhost:4000?[あなたのゲームの名前]
の URL をブラウザで開くとゲームで遊べます。このページはコードを書き直すと自動的にリロードされます。
-
main.js
、docs/bundle.js、docs/index.htmlを、Web サーバに下記のディレクトリ構成で配置します。┝ [ゲームのルートディレクトリ(任意の名前)] ┝ [あなたのゲームの名前] │ └ main.js ┝ bundle.js └ index.html
-
[ゲームのルートディレクトリのアドレス]/index.html?[あなたのゲームの名前]
の URL をブラウザで開きます。
ゲームをバンドラー(例 Vite)を使ってビルドしたい場合は、以下のようにして下さい。
-
npm install crisp-game-lib
をプロジェクトのディレクトリで実行する。 -
docs/_template_bundler/index.htmlとdocs/_template_bundler/main.jsをプロジェクトのディレクトリにコピーする。
-
ゲームのコードを
main.js
に記述する。 -
バンドラーを使ってビルドする。
TypeScript を使いたい場合は、main.js
をmain.ts
にリネームして下さい。
-
Super HexagonやVVVVVVの開発者であるTerry Cavanaghのcrisp-game-lib に関する記事(英語)も参照ください
-
Juno Nguyenのチュートリアル記事、Guide to getting started with CrispGameLib(英語)には、
crisp-game-lib
を使ってゲームを作るために、どのようなコードを書けばよいか、どのようにデータを持つべきか、などの有益な情報があります -
crisp-game-lib
を使うための準備の詳細については、@cat2151によるcrisp-game-lib でゲームをつくるための手順も参照ください
color("transparent")
で描画することで、形を描画することなく衝突判定を行うことができます。- 衝突判定は描画履歴に基づいて行われます。ですので、形が背景色で上書きされたとしても、その形の衝突判定は消えません。
- 音の生成に使われるランダムシードの基本値は、
title
とdescription
の文字列を元に計算されます。オプションのseed
を使った生成される音の調整は、title
とdescription
を決定した後に行った方が良いです。 - ゲームのパフォーマンスを改善するためには、下記を実施ください(主にモバイルデバイス向け):
simple
もしくはdark
テーマを使いましょう。pixi.js を使うテーマ(pixel
,shape
,shapeDark
,crt
)は、WebGL のポストエフェクトの影響でパフォーマンスが低下する場合があります。- 棒、ライン、円弧の描画は最小限にしましょう。これらは四角の組み合わせで描画されるため、衝突判定処理に負荷がかかります。
- モバイルデバイスで快適に遊べるゲームを作るためには、下記の操作方法を採用することをお勧めします。
- ワンボタン
- 左右へのスライド操作
- 画面上のタップ
- ワンボタンゲームをどのように作れば良いかについては、次の記事も参照ください:ワンボタンゲームをたくさん作ったので、その作り方をおさらいしたい
- sounds-some-sounds ライブラリを使って音楽を再生できます。MML で記述された音声を再生するには、
sss.playMml()
関数を使います。 - crisp-game-lib で作られたゲームを M5Stack や Adafruit PyBadge などの小さなデバイスで動作させたい場合は、C 言語で実装されたcrisp-game-lib-portableの利用も検討ください。