ESKEES in your browser
ESKEES Studio
A creative tool that assembles artwork as parts, adds motion and logic, and turns it into characters, wallpapers and small games. Nothing to install. Publish on showcase and anyone can play it right in the browser.
ESKEES Studio is opening to people on a waitlist (alpha). Signing up is free, with Google or an email address. Details may change without notice.
What you can do
- Assemble parts — bring in PSD, KRA, images, GIFs or sprite sheets and arrange layers as parts. Expression and outfit variants become switchable parts.
- Animate — timeline and easing (Elastic and Bounce too), nulls, and a simple mesh for hair and cloth sway and wind. Blinking and lip-sync as well.
- Switch states — keep expressions, outfits and props as states on separate axes and combine them at play time. Clicking a spot can swap an outfit.
- Make games — on top of scripts (below): tile stages, character controls and hitboxes, sound, camera, scenes, saves and on-screen UI.
- Test — 「テストプレイ」 (Test play) runs it on the same engine as the Player and showcase.
- Export and publish — the open EMG format (.emg) and the ESKEES extension (.eskx) with logic and more. GIF, APNG and WebM too. Post to showcase for ratings and leaderboards.
Scripts — a small Lua-like language
Games and interactions like "change the expression when clicked" are written in ESKEES script, which has a Lua-like syntax with blocks closed by end. The same script can be edited as blocks, text or a diagram, so you can start with blocks.
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
- Triggers —
on start,on frame(every frame),on key,on press(a click area) andon tap(a character), among others. - Classes and actors — describe enemies and bullets with
classand spawn as many as you like. Class variables can also be edited in the inspector. - Wait and move —
waitto pause,tweenfor smooth motion,playfor animations. - Saves and scores —
savekeeps records on the device;scoresends a value to the leaderboard (below). - Differences from Lua — functions only at the top level, no standard library,
+=is available, 0 and the empty string are falsy, and so on. The language is kept small so it runs safely.
References to missing parts or click areas are flagged as problems while you write. See Script language for details and How ESKEES works for the big picture.
Leaderboards and the API (api.eskees.com)
api.eskees.com is the ESKEES API for sign-in, works, ratings and leaderboards. showcase, Studio, the Player and works all use it.
A work only has to emit a value from its script to appear on a leaderboard.
on scene リザルト
score total as タイム lower
end
- Where it goes depends on where it's played — showcase submits it (as a member when signed in, as a guest otherwise). The Player asks first. Test play never submits.
- Games are identified by their content — boards are keyed by the SHA-256 of the .eskx, so it lands on the same board wherever it's played.
- Members and guests are separate — guest names can't be verified, so their scores never mix into the members' ranking. Only personal bests are kept.
- Anyone can read them — the top scores are a CORS-enabled GET away, so you can show a leaderboard on your own site.
GET https://api.eskees.com/v1/scores/<SHA-256 of the game>/<board>?limit=10
→ { "board": "…", "lower": true, "members": { "total": …, "entries": [ … ] }, "guests": { … } }
This is an alpha API. Its shape may change without notice.
Where your work runs
- showcase — play right in the browser at showcase.eskees.com.
- ESKEES Screen — run it as your Windows desktop wallpaper.
- EMG-compatible software — the .emg part follows the spec, so Unity, Godot, Ren'Py, YMM4 and web players can display the artwork (logic runs only on the ESKEES engine).
Getting started
- Pre-register (join the waitlist). When your turn comes, you can use Studio.
- While you wait, play the samples on showcase and use 「これを改造してみる」 (Try remixing this) to see what you can change.
- Once you're in, start with the getting-started guide and Remix a sample.