kashiwa.js

kashiwa.jsは、canvasを使ったゲーム開発に主眼を置いたJavaScriptフレームワーク+ライブラリです。

HTML5におけるゲーム開発の生産性をネイティブアプリケーション並みに高めることを目標としています。OS、ブラウザ、デバイス環境といった差異をライブラリが吸収し、開発者は、コンテンツの実装に集中することができます。

また、ライブラリに含まれる機能の中には、ゲーム開発に限らず、Web制作全般に活用できるものも含まれています。

コーディングスタイルは、プロトタイプベースの純粋なJavaScript準拠であり、特別な記法は必要ありません。このため、他のライブラリやフレームワークとの共存も容易です。

GitHubからダウンロード

特徴

  • canvasでのゲーム開発を支援

    画像の非同期ロード、スプライト化といった実装が面倒な機能が、ライブラリとして提供されます。

    タイトル画面、プレイ画面、スコア画面といったゲーム開発に欠かせないトランジションを独自の「シーン」オブジェクト単位で簡単に制御でき、トランジションアニメーションも簡単に作成できます。

  • デバイス/OSの仕様差を吸収

    PC/スマートデバイス、タッチ操作/マウス操作といった仕様差を吸収します。入力チェックはキューとして処理され、連打された場合も、フレームレートに沿って順次入力値が渡されます。また、ディスプレイのピクセル密度に依存しない描画メソッドを提供します。

  • 開発スピードの飛躍的な向上

    kashiwa.js内には、クラス継承で利用できるデザインパターンが定義されています。ブラウザの回転・サイズ変更検知、アニメーションのための繰り返し制御といったよく使う処理があらかじめ実装されているため、プロジェクト固有の処理を記述するところから開発を始めることができます。

ドキュメント

申し訳ございません。ただ今準備中です。

今後の開発指針

  • さらなる省コード化のため、メインテンプレートに包含する処理を増やしていきます。
  • シーンコントローラにおけるシーンオブジェクトの呼び出しタイミングにクセがあるため、実装を見直し予定です。
  • 現在メインループ機構を前提とした設計になっていますが、イベント駆動型にも対応可能な設計に見直していきます。
  • 描画オブジェクトの部分的な再描画など、描画高速化に向けた改善を行います。
  • その他、ゲーム開発に役立つ機能を充実させていきます。