Skip to content

Latest commit

 

History

28 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ebiten

English

Ebitengine (ebiten) をより強力かつ直感的に扱うためのゲーム開発ライブラリ群です。 ゲーム開発における共通のボイラープレートを排除し、ロジックの実装に集中できる環境を提供します。

クリーンなプロジェクト構造を保つため、各ライブラリのソースコードフォルダ内にはプログラムソースコードとテストコードのみを配置し、詳細なドキュメント類はすべて doc/ ディレクトリ配下に集約しています。

提供コンポーネント

コンポーネント 役割 状態
pad アクションベースの入力抽象化&バーチャルパッド UI Stable (v1.1.0)
scene シーン管理・スタックベースのオーバーレイ制御 Stable (v1.0.0)
physics Arcade/Box2D のバックエンド切り替え式 2D 物理エンジン Stable (v1.0.1)
emit 軽量かつ型安全なイベントディスパッチャー/エミッター Stable (v1.0.0)
asset 画像・音声・データ・マップ等の一元管理マネージャー Stable (v1.0.0)
sound サウンド・BGM/SE/ボイス・2D音源制御マネージャー Stable (v1.0.0)
save フラット保存・暗号化・自動穴埋めスロットマネージャー Stable (v1.0.0)
camera 2Dカメラ・マルチカメラ・ビューポート・シェーダー制御 Stable (v1.0.0)
tween イージング&動的コントロール・グループアニメーション Stable (v1.0.0)
ui ゲームUI・9スライス・状態別画像ボタン・レイアウト Stable (v1.0.0)
animation スプライトアニメーション再生機・汎用JSON(Aseprite等)全自動読込 Stable (v1.0.0)
tilemap Tiled JSON自動インポート・カリング描画・3種マップ構成・範囲クエリ Stable (v1.0.0)

各コンポーネントの概要

pad (入力管理)

キーボード、ゲームパッド、マルチタッチによるバーチャルパッド(スティック・ボタン)を、ひとつの論理的な「アクション」として統合・抽象化します。1画面分割対戦のようなマルチプレイヤー(複数コントローラー)にも標準対応しています。

詳しくはこちら

scene (シーンマネージャー)

ゲームの各画面(タイトル、ステージ、メニューなど)を独立したコンポーネントとして分離管理します。シーンの上に一時停止画面を重ねる「オーバーレイスタック」機能を内蔵し、Ebitengine の画面遷移コードをクリーンに保ちます。

詳しくはこちら

physics (共通物理エンジン)

RPGやプラットフォーマー向けの軽量な Arcade(めり込み防止AABB)モードと、パズルゲーム等向けの本格的な Box2D(円や剛体物理)モードを同一のAPIでシームレスに切り替えて利用できる、Ebitengine 専用の物理ラッピングライブラリです。

詳しくはこちら

emit (イベントディスパッチャー)

Go のジェネリクスを活用した軽量・型安全なイベントディスパッチャーです。他ライブラリに一切依存せず単体で動作し、コンポーネント間や Tween などの一時的なアニメーションイベントの発行・受講・登録解除をシンプルに行えます。

詳しくはこちら

asset (アセットマネージャー)

Phaser 風のシンプルな操作感を提供するアセット管理ライブラリです。画像(単体・コマ割りスプライト)、音声、Tilemap マップデータ、アニメーション定義、JSON/TOML/YAML/CSV データの一括ロード、型安全な変換、キャッシュ解除を一元管理します。

詳しくはこちら

sound (サウンドマネージャー)

Ebitengine 向けの直感的なサウンド管理ライブラリです。iota による柔軟なサウンドタイプ拡張(BGM, SE, Voice, Env, Custom)、クロスフェード、リアルタイムポジショナルサウンド(2D音源追従)、フェード制御の一括停止やポーズを一元管理します。

詳しくはこちら

save (セーブデータマネージャー)

直感的で安全なセーブデータ管理ライブラリです。平文テキスト (JSON/YAML) やバイナリでの安全なサブディレクトリ保存、SaveNewSlot による削除済み欠番スロットの自動再利用穴埋め保存、AES 暗号化、改ざん検出、クラッシュ時のバックアップ自動復旧を一元管理します。

詳しくはこちら

camera (2Dカメラマネージャー)

Ebitengine 向けの軽量・高機能な 2D カメラライブラリです。純粋な座標制御 (SetPos)、画面振動 (Shake)、境界制限 (Bounds)、cam.Render による外部ライブラリ (pad, physics) のクロージャ描画、ビューポート切り抜き、Custom Shader 自動切り替え、ZIndex 優先度によるマルチカメラ一括レンダリングを一元管理します。

詳しくはこちら

tween (イージング&アニメーション補間)

安全で高機能なイージング&アニメーション補間ライブラリです。tween.New(&Option{...}).Play() による安全な定義と明示的再生開始、OnUpdate コールバック、個別の動的制御 (Pause, Resume, Restart, Stop)、Group によるカテゴリ別一括コントロール、豊富ないイージング関数を一元管理します。

詳しくはこちら

ui (ゲームUIコンポーネント)

直感的で拡張性の高い 2D ゲーム UI ライブラリです。9スライス (NineSlice)、状態別画像切り替えボタン (Button)、文字入力 (TextInput)、スクロール枠 (ScrollBox)、スライダー (Slider)、自動配置 (VBox/HBox)、全要素での統一ゲッター/セッター (SetPos/Pos, SetSize/Size, SetText/Text, SetGrayscale)、camera / pad オプショナル接続を一元管理します。

詳しくはこちら

animation (スプライトアニメーション)

直感的な 2D スプライトアニメーション制御ライブラリです。手動でのコマ定義に加えて、Aseprite や TexturePacker などの汎用 JSON 形式からの全自動アニメーション構築に対応しています。Manager による一括制御/スローモーション演出と、各 Animator 単体での個別制御を両立しています。

詳しくはこちら

tilemap (2Dタイルマップマネージャー)

Tiled Map Editor (.json / .tmj) の全自動インポート、2次元配列からのコード直接生成、3種類のタイルマップ構成 (StaticTilemap, AnimatedTilemap, InfiniteTilemap)、視域カリング描画 (DrawRegion)、範囲指定クエリ (GetArea)、物理 AABB 結合矩形算出 (CreateCollisionBoxes) を提供する完全独立ライブラリです。

詳しくはこちら


ライセンス

MIT License

Releases

Packages

Contributors

Languages