{ "schemaVersion": "1.0", "sourceHash": "2222222222222222222222222222222222222222222222222222222222222222", "profile": { "tickModel": "realtime", "inputModel": "continuous", "progressModel": "metric" }, "gameDefinition": { "entities": [ { "id": "paddle", "transform": { "position": { "x": 155, "y": 790 } }, "components": ["r-paddle"] }, { "id": "ball", "transform": { "position": { "x": 170, "y": 40 } }, "components": ["r-ball"] } ], "components": [ { "id": "r-paddle", "kind": "render", "shape": "rect", "w": 80, "h": 16, "color": "#4af" }, { "id": "r-ball", "kind": "render", "shape": "rect", "w": 24, "h": 24, "color": "#fc4" } ], "behaviors": [ { "id": "b-control", "trigger": "input", "op": "control-x", "entity": "paddle" }, { "id": "b-fall", "trigger": "update", "op": "fall-and-catch", "faller": "ball", "catcher": "paddle", "speed": 400, "topY": 40 } ], "scenes": [ { "id": "s1", "entityRefs": ["paddle", "ball"] } ], "rules": [ { "id": "win", "condition": "score >= config.winScore", "outcome": "win" }, { "id": "lose", "condition": "misses >= config.maxMisses", "outcome": "lose" } ] }, "config": { "winScore": 3, "maxMisses": 8 } }