Code-first · TypeScript · 2D
ゲームのしくみを、
理解できるコードで。
Simpludifyは、TypeScriptを中心に2Dゲームをつくる実験的なゲームエンジンです。ActorとComponentを組み合わせ、必要なときにイベントを使い、通常のコードとブラウザの道具で開発できます。
Experimental v0.1.0のnpm SDKを準備中です。配布アーカイブ・npm導入ガイドで独立プロジェクトを構築できます。レジストリ公開は未確認です。APIは変更される可能性があります。Windows版やネットワーク機能は未実装です。
組み合わせてつくる
Characterの既定値から始め、Transform・Renderable・Motionや独自Componentへ段階的に進めます。イベント駆動は必須ではありません。
見える部分と、動く部分を分ける
DOM非依存のCoreでシミュレーションを実行。Webが描画・入力・非同期準備・DOM UIを担当します。
接触をゲームのルールへ
円と回転矩形、TriggerとSolid、接触通知と問い合わせ。軽量な位置補正を必要なSceneだけに追加できます。
静的ファイルで配信する
シングルプレイのサンプルはゲームサーバーなしで動作します。サブパス配信と独自ドメイン用のビルドに対応します。
小さく始める
import {
Action,
ActionController,
Character,
defineActions,
Game,
KeyboardBindings,
} from "@simpludify/web";
const game = new Game();
const Actions = defineActions({ Move: Action.axis2D() });
const controls = new ActionController(Actions, {
scene: game.engine.scene,
input: game.engine.input,
bindings: { Move: KeyboardBindings.WASD },
});
game.add(Character({ movement: controls.reader(Actions.Move) }));
await game.run();
ゲーム領域へフォーカスしてWASDで移動します。ページには高さが必要です。実行可能なHTMLとセットアップは導入を参照してください。
試してから、仕組みを読む
サンプルギャラリーでは実行例を試せます。最小のCharacter、UI / Scenes、Beacon Field、30秒の収集ゲームSignal Run、落ち物パズルBlockfall、シューティングPrism Raid、画像アニメーションのSprite garden、地形配置のTile trail、Canvas UIと入力を統合したCanvas trail、数値・Actor・UI演出のTween lab、三角形・六角形のTile geometry labから選べます。Signal Run・Blockfall・Prism Raid・Canvas trailはスマートフォンのタッチ操作に対応します。
基本概念 → 入力 → SceneとUI → 衝突判定の順に読むと、サンプルを自分のゲームへ展開できます。
設計と検証を公開する
短さだけでAPIを選びません。所有権・更新順序・エラー時の状態を明確にし、ヘッドレステストとブラウザテストで検証します。AIによる生成・解析も、同じ型・コード・CLIを利用できます。ゲーム実行時にAIサービスは不要です。