ブラウザで使う ESKEES
ESKEES Studio
イラストをパーツとして組み立て、アニメーションとロジックを付けて、キャラクター・壁紙・小さなゲームを作る制作ツールです。インストールは不要です。作った作品は showcase で公開でき、ブラウザでそのまま遊んでもらえます。
ESKEES Studio はアルファ版で、順番待ちの方から順にご案内しています。登録は無料で、Google アカウントまたはメールアドレスで行えます。内容は予告なく変更される場合があります。
主な機能
- パーツの組み立て:PSD / KRA / 画像 / GIF / スプライトシートをインポートし、レイヤーをパーツとして配置します。表情や衣装の差分は、切り替え可能なパーツになります。
- アニメーション:タイムラインとイージング(Elastic・Bounce を含む)、ヌル、メッシュによる髪や服の揺れと風に対応しています。まばたきや口パクも設定できます。
- ステート:表情・衣装・小物を軸ごとのステートとして管理し、再生時に組み合わせます。クリックで着せ替える演出も作れます。
- ゲーム制作:スクリプトに加えて、タイルのステージ、キャラクターの操作と当たり判定、サウンド、カメラ、シーン、セーブ、画面に重ねる UI を利用できます。
- テストプレイ:Player・showcase と同じ再生エンジンで、その場で動作を確認できます。
- エクスポートと公開:オープンなファイル形式 EMG(.emg)と、ロジックなどを含む ESKEES 拡張形式(.eskx)でエクスポートできます。GIF / APNG / WebM にも対応しています。showcase に投稿すると、評価とランキング付きで公開できます。
スクリプト:Lua に似た言語
ゲームや「クリックしたら表情が変わる」といった演出は、Lua に似た構文の ESKEES スクリプトで記述します。ブロックは end で閉じます。同じスクリプトをブロック・テキスト・図の 3 つの形式で編集できるので、プログラミングに慣れていない方はブロックから始められます。
var score = 0 to 999999 save
class 鳥
vy = 0
gravity = 900
power = 290
function update(dt)
self.vy += self.gravity * dt
self.y += self.vy * dt
end
function flap()
self.vy = -self.power
end
end
on key Space
for each in 鳥
self:flap()
end
end
- トリガー:
on start(開始時)・on frame(毎フレーム)・on key(キー入力)・on press(クリック領域を押したとき)・on tap(キャラクターを押したとき)などがあります。 - クラスとアクター:
classで敵や弾の動作を定義し、複数生成して動かせます。クラスの変数はインスペクターからも変更できます。 - 待機とアニメーション:
waitで待機、tweenで値をなめらかに変化、playでアニメーションを再生します。 - セーブとスコア:
saveで記録をブラウザに保存し、scoreでランキングに値を送信します(後述)。 - Lua との違い:関数はトップレベルにのみ定義できる、標準ライブラリがない、
+=が使える、0 と空文字列も偽として扱う、などの違いがあります。安全に動作するよう、機能を絞っています。
存在しないパーツやクリック領域を参照すると、入力した時点で「問題」として表示されます。詳しい書き方は スクリプト言語リファレンス、ESKEES 全体の仕組みは ESKEES の仕組み を参照してください。
ランキングと API(api.eskees.com)
api.eskees.com は、ESKEES のログイン・作品・評価・ランキングの機能を提供する API です。showcase・Studio・Player・作品のすべてがこの API を使います。
作品のスクリプトで値を送信するだけで、ランキングに掲載されます。
on scene リザルト
score total as タイム lower
end
- 送信するかどうかは実行環境によって決まります:showcase ではランキングに送信します(ログイン中は会員、それ以外はゲストとして)。Player は送信前に確認します。テストプレイでは送信しません。
- ゲームは内容で識別します:ボードは .eskx の SHA-256 ハッシュごとに分かれます。どこで遊んでも、同じゲームなら同じボードに記録されます。
- 会員とゲストのランキングは別です:ゲストの名前は本人確認ができないため、会員のランキングには含めません。記録は各プレイヤーの自己ベストだけを保存します。
- ランキングは誰でも取得できます:上位の記録は、CORS に対応した GET リクエストで取得できます。自分のサイトにランキングを表示することもできます。
GET https://api.eskees.com/v1/scores/<ゲームの SHA-256>/<ボード名>?limit=10
→ { "board": "タイム", "lower": true, "members": { "total": …, "entries": [ … ] }, "guests": { … } }
アルファ版の API です。仕様は予告なく変更される場合があります。
作品を再生できる環境
- showcase:ブラウザでそのまま遊べます(showcase.eskees.com)。
- ESKEES Screen:Windows のデスクトップ壁紙として表示します。
- EMG に対応したソフト:.emg の部分は仕様に準拠しているため、Unity / Godot / Ren'Py / YMM4 や Web のプレイヤーでも画像として表示できます。ロジックは ESKEES の再生エンジンでのみ動作します。
利用を始めるには
- 事前登録(順番待ち)をします。順番が来ると、Studio を利用できるようになります。
- お待ちいただいている間に、showcase でサンプルを遊んでみてください。「これを改造してみる」から、変更できる項目を確認できます。
- 利用を開始したら、はじめてガイドとサンプルを改造するをご覧ください。