Skip to content

Latest commit

 

History

History
100 lines (61 loc) · 8.41 KB

README_ja.md

File metadata and controls

100 lines (61 loc) · 8.41 KB

crisp-game-lib

English | 日本語

crisp-game-libはブラウザゲームを素早く簡単に作るための JavaScript ライブラリです。

始め方

  1. docs/getting_started/index.htmlをダウンロードします。

  2. index.htmlをテキストエディタで開き、<script>エレメントにあなたのゲームのコードを書きます。

  3. index.htmlをブラウザで開き、ゲームを遊びます。

  4. index.htmlをあなたの Web サーバに置くことで、あなたのゲームを公開することもできます。

ゲームの書き方(コード補完と自動リロード付きで)

  1. このリポジトリをクローン、もしくはダウンロードします。

  2. npm install

  3. docs/_templateディレクトリをコピーしdocs/[あなたのゲームの名前]にリネームします。

  4. docs/[あなたのゲームの名前]/main.jsをエディタで開き(VSCodeを推奨)、あなたのゲームのコードを書きます。

  5. npm run watch_games

  6. http://localhost:4000?[あなたのゲームの名前]の URL をブラウザで開くとゲームで遊べます。このページはコードを書き直すと自動的にリロードされます。

ゲームの公開

  1. main.jsdocs/bundle.jsdocs/index.htmlを、Web サーバに下記のディレクトリ構成で配置します。

    ┝ [ゲームのルートディレクトリ(任意の名前)]
       ┝ [あなたのゲームの名前]
       │  └ main.js
       ┝ bundle.js
       └ index.html
    
  2. [ゲームのルートディレクトリのアドレス]/index.html?[あなたのゲームの名前]の URL をブラウザで開きます。

バンドラーを使う

ゲームをバンドラー(例 Vite)を使ってビルドしたい場合は、以下のようにして下さい。

  1. npm install crisp-game-libをプロジェクトのディレクトリで実行する。

  2. docs/_template_bundler/index.htmldocs/_template_bundler/main.jsをプロジェクトのディレクトリにコピーする。

  3. ゲームのコードをmain.jsに記述する。

  4. バンドラーを使ってビルドする。

TypeScript を使いたい場合は、main.jsmain.tsにリネームして下さい。

機能紹介デモ

描画 / 衝突判定 / 入力判定 /

関連記事

Tips

  • color("transparent")で描画することで、形を描画することなく衝突判定を行うことができます。
  • 衝突判定は描画履歴に基づいて行われます。ですので、形が背景色で上書きされたとしても、その形の衝突判定は消えません。
  • 音の生成に使われるランダムシードの基本値は、titledescriptionの文字列を元に計算されます。オプションのseedを使った生成される音の調整は、titledescriptionを決定した後に行った方が良いです。
  • ゲームのパフォーマンスを改善するためには、下記を実施ください(主にモバイルデバイス向け):
    • 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の利用も検討ください。